White Security
[wargame.kr] md5 password 문제풀이 본문
wargame.kr 사이트의 일곱번째 문제입니다.
php의 md5 해싱함수 사용예시를 보여주고 있는데
뒷쪽의 true 인자가 이번 문제의 요점입니다.
링크에 접속하면 한개의 입력 폼이 보입니다.
소스를 확인하면 md5_password 데이터베이스의
admin_password 테이블에서 password가 md5 해싱된 전달값과 동일한 요소를 질의하고
만약 존재한다면 Key가 출력하도록 되어있습니다.
앞서 소개했던 php의 md5 함수 두번째 인자는
해싱 결과가 바이너리 형식 문자열로 출력되도록 하는데요.
예시로
단어 [ apple ] 를 해싱하면
raw_output |
apple |
false |
1f3870be274f6c49b3e31a0c6728957f |
true |
8p�'OlI�� g(� |
만약 해싱한 결과에 sql injection을 유도하는 [ 'or' ]
문자열이 포함되어 있다면 테이블의 모든 결과를 받아오는 것이 가능해진다.
위 자료는 브루트포스를 통해 찾아낸 것으로
http://cvk.posthaven.com/sql-injection-with-raw-md5-hashes 에서 보다 자세한 정보를 확인할 수 있습니다.
탐색하여 얻은 129581926211651571912466741651878684928을 그대로 대입하면
인젝션에 성공하여 Key값을 확인할 수 있습니다.
'Wargame Writeups > wargame.kr' 카테고리의 다른 글
[wargame.kr] strcmp 문제풀이 (0) | 2019.01.22 |
---|---|
[wargame.kr] DB is really GOOD 문제풀이 (0) | 2019.01.22 |
[wargame.kr] fly me to the moon 문제풀이 (0) | 2019.01.20 |
[wargame.kr] WTF_CODE 문제풀이 (0) | 2019.01.20 |
[wargame.kr] login filtering 문제풀이 (0) | 2019.01.20 |
Comments