sweetchip's blog


아~ 드디어 갑자기 삘이 와서 29번을 풀게 되었습니다.




위가 성공시의 화면입니다. 답부분은 모자이크 처리를 해뒀습니다. ㅎㅎ




hint

select password from challenge_29_answer

$file_name=str_replace(".","",$file_name);

blind sql injection으로 풀이하실경우 정답이 출력되지 않습니다.

더 간단한 방법이 존재하니 그 방법을 이용해주세요.



일단 이 문제는 Blind Sql Injection 이 절대 아닙니다.


blind 로 풀어도 해결이 안된다고 합니다.


위에서 제시 했듯이 정말 간단한 방법이 존재합니다.


뭐.. 칼럼명에 테이블명까지 줬으니 모두다 끝난 이야기죠 ㅎㅎ


하지만 위 힌트로도 힘들었을 분을 위해서 힌트를 드리겠습니다.


파일 업로드를 하면 지금까지 업로드 했던것을 볼수 있습니다. 그런고로 insert 문을 예상해볼수 있습니다.


그렇다면 insert 에 대한 Sql injection의 쿼리를 예상해봐야 하고,


일단 업로드 하고 나오는 테이블을 보면 time/ip/filename 순으로 출력하지만 insert 쿼리를 넣을때와는 순서가 다를수 있습니다..


또한 ip가 있는걸 보아 ip에 대한 체크를 할것입니다.


마지막 힌트는 Sub Query 에 대해 알아보시면 될것 같습니다.


감사합니다.


모르시면 질문으

신고

'0x10 정보보안 > 0x16 Web' 카테고리의 다른 글

H.U.S.T 2012 WEB 5번 문제 풀이.  (0) 2013.01.01
webhacking.kr 2번 그리고 13번  (9) 2012.12.07
webhacking.kr 29번  (8) 2012.12.05
webhacking.kr 40번  (11) 2012.11.29
webhacking.kr 57번  (0) 2012.11.28
Webhacking.kr 55번 중간 풀이.  (10) 2012.11.05

Comment 8

  • 2013.07.18 04:05 수정 답글

    비밀댓글입니다

  • Sonic
    2013.09.05 13:31 신고 수정 답글

    어디다가 인젝션 해야하는지 잘모르겟네요..
    insert문에 sub query로 쿼리공격 하는거인거는 감이오는데..

  • 2013.09.05 13:33 수정 답글

    비밀댓글입니다

    • 2013.09.11 18:10 신고 수정

      총 3개가 insert 되는데 마음대로 바꿀수 잇는건 1개밖에 없을것 같네요

  • 2013.12.01 11:41 수정 답글

    비밀댓글입니다

    • 2013.12.01 20:30 신고 수정

      아,. 이게 1년 반정도 전이라서 잘 기억이 안나네요.. ㅎㅎ;

  • 2013.12.10 17:24 수정 답글

    비밀댓글입니다

  • 2013.12.11 15:57 수정 답글

    비밀댓글입니다