Webhacking.kr 45번
·
Webhacking.kr
"mb_convert_encoding" 함수를 통해 GET[id] 값을 입력 받음 사용자가 입력한 id, pw 값을 이용하여 쿼리를 실행하고 결과가 'admin'인 경우에만 클리어 됨 * mb_convert_encoding - 문자열의 인코딩 방식을 변경하는 PHP 함수 - 인코딩 과정에서 "magic_quotes_gpc" 옵션을 우회할 수 있는 취약점 존재 * magic_quotes_gpc - 싱글 쿼터('), 더블쿼터("), 백슬래시(\)와 같은 문자가 입력되면 앞쪽에 슬래시(/)을 이스케이프(연결)하여 문자열로 인식 시킴 - ' => \' ( %27 => %5c%27 ) * mb_convert_encoding 함수로 문자 인코딩 방식 변경 - %al%5c 와 같은 문자는 한 개의 문자로 인식 - %..
Webhacking.kr 44번
·
Webhacking.kr
우선 44번 문제는 "Command Injection" 문제인 것을 기억하자. name 입력창에 "wraith" 입력하면 끝에 'h'가 잘린다. (5글자까지 입력 가능) 그리고 "Make" 버튼을 누르면 "hello wrait" 가 나타난다. 아마 입력받은 값과 "echo" 명령어를 합쳐서 다시 출력해주는 것으로 추정된다. root@shell:# echo "test" 일반적으로 리눅스에서 어떤 명령어 뒤에 ';' 를 입력하고 또 다른 명령어를 입력하면 명령어가 2번 실행된다. root@shell:# ls;ls - 이렇게 "ls;ls"를 입력하면 "ls" 명령어가 2번 실행됨 ";ls"를 입력하면 아무것도 출력되지 않는다. ";test"를 입력하면 test가 출력된다. 아마 ';', "ls" 문자열을 필터..
Webhacking.kr 43번
·
Webhacking.kr
webshell 파일을 올리란다. 우선 "bob.txt" 파일을 올려본다. 업로드가 되지 않는다. 확장자 필터링을 염두해두고 "bob.exe" 파일을 올려본다. 올라간다. 필터링에 걸리는 "bob.txt" 파일을 업로드 할 때 전송되는 패킷을 보면 "Content-Type" 항목에 "text/plain" 값이 들어간다. 파일 업로드 할 때 필터링 여부를 검사하는 방법 중 하나는 "Content-Type"을 검사하는 것이다. "webshell.php" 파일을 업로드 하면 컨텐트 타입이 "application/octet-stream" 으로 전송된다. 필터링에 걸리기 때문에 컨텐트 타입을 바꿔야 한다. "txt" 파일이 아까 걸렸으니 일반적으로 필터링에 걸리지 않는 이미지(png) 파일로 속여서 올린다.