write-up(web)/webhacking.kr

[Webhacking.kr] old-42

문제 flag.docx 파일을 다운로드하려고 하면 위의 오른쪽 이미지와 같이 거부가 된다. 아마 저 docx 파일을 다운받으면 flag 값을 얻을 수 있을 것 같다. 문제풀이 burp suite를 이용해 test.txt 파일을 다운로드 할 때 경로를 확인한다. down 파라미터에 dGVzdC50eHQ= 값을 전달하는데, 이를 base64 디코딩해보면 test.txt 이다. flag.docx를 다운로드 하기 위해 base64 인코딩 한 후(ZmxhZy5kb2N4), 파라미터에 넣어 전송하면 파일이 다운로드 된다.

[Webhacking.kr] old-41

문제 view-source 문제풀이 error_reporting(E_ALL); ini_set("display_errors", 1); 에러설정이 되어있어 에러가 화면에 출력되고, 빈 파일을 업로드하면 에러문을 확인할 수 있다. copy($cp,"./{$upload_dir}/{$fn}"); fwrite($f,$flag); 업로드한 파일 이름을 치환하고, upload_dir/치환된 파일 이름 경로에 파일내용을 복사한다. 파일 안에 flag 값이 작성되어 있으며, 이를 확인하면 문제를 해결할 수 있다. upload_dir에 대한 정보는 없기 때문에 에러를 내서 정보를 얻어야 한다. burp suite을 이용해 파일이름을 길게 하여 업로드 했을 때 에러를 확인할 수 있고, 폴더 경로를 볼 수 있다. 일반 파일 하..

[Webhacking.kr] old-40

문제 문제풀이 /?no=1&id=guest&pw=guest no=1 : success no=0 : 변화X 그 외 : Failure no=0||1=1 입력 시 success 화면이 출력되는 것으로 보아 no을 이용해서 관리자 계정을 알아낼 수 있을 것 같다. no, id, pw 값의 끝에 각각 #을 넣고 확인하면 no 값에 넣었을 때만 success가 뜨며, 쿼리문의 순서 마지막이 no인 것으로 유추할 수 있다. &&는 &로 인식하기 때문에 %26로 우회해야 한다. 여러가지를 입력해봤을 때, 공백, and, or, char 등 access denied 되는 것을 확인할 수 있고, admin 문자 대신 0x61646D696E 사용할 수 있다. no=0||id=0x61646D696E 입력 시, 아래 화면을 확..

[Webhacking.kr] old-38

문제 admin 문자열을 입력하면 오른쪽 위와 같이 뜬다. 문제풀이 index.php 코드를 보면 아래와 같은 메시지가 있다. admin.php 페이지를 접속하면 아래와 같은 로그를 확인할 수 있는데, 내가 입력한 문자열들이 기록된다. "admin" 문자열이 입력되어야 문제가 해결될 것 같은데 admin을 입력하면 "you are not admin"이 뜨고, --, #, ', %0a, %0d는 문자로 인식된다. log injection을 하는 두가지 방법이 있는데, 첫번째 방법은 HTML 태그를 이용하는 방법이다. input 태그를 textarea 태그로 변경하여 줄바꿈이 가능하게 하여 IP주소:admin을 입력하면 된다. 두번째 방법은 burpsuite를 이용한다.

[Webhacking.kr] old-37

문제 view-source 문제풀이 코드를 살펴보면, tmp/tmp-{$time}의 파일 내용을 host로 하여 7777 포트로 접속하고, flag 값을 전송한다. 이전 문제와 비슷하게 7777 포트를 포트포워딩 아래와 같이 해준다. netcat을 이용하여 7777 포트를 열고, 파일 내용에 host 주소를 작성하고, 파일 제목을 tmp-{$time}로 하여 타이밍에 맞춰서 업로드 하면 플래그값을 확인할 수 있다.

[Webhacking.kr] old-36

문제 vi 에디터로 index.php 파일을 편집하던 중, 코드가 사라졌다는 의미이다. 문제풀이 스왑파일(.swp)은 파일을 편집하다가 예기치 않게 종료된 경우 또는 사용 중에 또 다른 사용자가 접근하려는 경우에 생성된다. .원본파일명.swp 형식으로 생성되며, 숨김파일이다. index.php의 스왑파일은 .index.php.swp이며, https://webhacking.kr/challenge/bonus-8/.index.php.swp에 접속하면 파일이 다운로드 된다. Hex Fiend 에디터로 열어보면 마지막 부분에서 flag를 확인할 수 있다.