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) 파일로 속여서 올린다.
Webhacking.kr 42번
·
Webhacking.kr
"test.txt", "test.zip" 파일을 다운받을 수 있는 링크가 주어진다. 소스를 보면 txt 파일은 다운로드가 될거 같은데, zip 파일은 오류가 발생한다. txt 파일 다운로드 경로를 보면 base64 임을 알 수 있다. base64(test.txt) 결과 base64(test.zip) 결과 test.zip 다운로드 링크를 base64 결과로 수정한다. "test.zip"을 다운로드 받고 압축을 해제하려고 하면 암호가 걸려있다. Brute Force 프로그램을 이용하여 비밀번호를 알아낸다. "test.zip" 압축을 해제하면 "readme.txt" 파일 내용을 볼 수 있다.
Webhacking.kr 41번
·
Webhacking.kr
웹 페이지 소스를 보면 위와 같은데 핵심은 "copy" 함수임 해당 함수는 파일명을 입력 받아 올리는데, 문제는 파일명이 공백이면 오류가 나게 되어 $hidden_dir 변수에 저장된 히든 폴더가 오류 메시지에 나타남 (물론 오류 처리를 제대로 하면 사용자에게 안 보여짐) 프록시를 이용하여 위와 같이 파일명을 ">" 변경하면 웹 페이지 소스의 필터링에 의해 공백으로 치환됨 파일명이 빈 파일을 업로드 하면 위와 같이 히든 폴더가 출려됨 원래 저 폴더를(dkaneh~~~gggg) http://webhacking.kr/challenge/web/web-19/dkaneh~~~gggg 이렇게 요청하면 풀렸는데 최근에 서버가 다운되면서 복구 되는 과정에 뭔 오류가 생겼는지 안 풀려지게 됨...