Webhacking.kr 22번 문제 풀이
22번 문제 클릭
아래와 같은 화면이 나온다
HINT를 보면 id가 admin이 되도록 하면 문제가 클리어되어있다는걸 알 수 있다
먼저 소스 보기를 해보면
POST 방식으로 전달된다는 사실을 알 수 있고
별 다른건 찾을 수 없었다
그래서 그냥 로그인 해보았다
Wrong! 이 뜬다
그래서 join을 해보기로 했다
join을 클릭하면 아래와 같은 화면으로 이동되고
test / 1234 로 join해 보았다
성공적으로 등록된거 같다
그래서 test / 1234로 로그인 해보았다
hi! ID 하고 user key라는게 나온다
아마 MD5 값으로 추측된다
또 복호화를 해야하나...
입력한 1234를 MD5 해시화 해봤지만 user key와 일치하지 않았다
그래서 user key를 decrypt 해보았다
decrypt가 되었다
1234에 특정 문자가 더 붙어서 MD5 된 값이 user key 값인가 보다
이걸 알아냈지만 이걸 가지고 딱히 할 수 있는게 없는거 같다
그래서 join에서 admin을 우회해서 가입할 수 있는지 이것저것 해봤지만
실패하였고
admin으로 로그인하려고 여러 시도를 해봤지만 역시 실패하였다
그래서 해본게 admin'or 1=1#
그랬더니 아래와 같이 나왔다
이 결과를 이용하여 Blind SQL Injection을 사용하였다
POST 방식으로 전달 하기 위하여 전과는 조금 다르게 파이썬 코드를 사용하였당
admin의 password를 알아냈는데 이게 MD5로 되어있기 때문에
decrypt 를 해야한다
아까 test / 1234 와 마찬가지로 admin의 패스워드 뒤에 특정 문자가 붙어있으니
특정 문자를 뺀 값을 입력하면 22번 문제는 클리어 된다
Blind SQL Injection 문제가 많은거 같다 ㅎㅎ
하다보니 익숙해져서 그런지 쑥쑥 풀린당ㅋ