본문 바로가기
category/웹해킹(wargame.kr)

wargame - 8

by 자운대고라니 2020. 7. 15.
반응형

안녕하세요,

자운대 고라니입니다.

이번 글에서는 wargame 8번 문제 풀이를 해보겠습니다.

렛츠 기릿!!


md5('value', true)의 취약점을 이용해서 문제를 풀라는 듯하다.

start를 눌러보면 위와 같은 password폼이 달랑 하나 나와있다.

일단 get-source를 클릭해보자

중요한 코드만 따로 발라놨다.

여기서 md($ps, true)라는 구문이 'or'이라면

"select * from admin_password where password=' ". ' or '. " ' "

이렇게 표현되고

(' " . ' or '. " ') = false

 

엥? 생각을 잘못했다

'=' 을 삽입하면 될 거 같다.

(' " . ' = '. " ') = true이기 때문에

$row에 데이터가 삽입될 것이고

문제가 풀릴 것이다.

 

그렇다면 md5($ps, true)에 '='이 포함된 값을 삽입하면 되겠는데,

md5('value', true)란 32자리 md5해쉬값을 16자리의 바이너리로 표현한 것이다.

이는 파이썬 코드를 통해서 추출할 수 있다.

 

이 소스코드를 간단하게 해석하자면

'='라는 문자열이 포함돼있는 바이너리 값들을 추출하는 코드이다.

이를 통해 여러 가지 값을 받을 수 있는데, 그중 나는 1839431이라는 값을 삽입해보겠다.

 

짜잔 정답이다.

반응형

'category > 웹해킹(wargame.kr)' 카테고리의 다른 글

wargame - 7  (0) 2020.07.13
webhacking - 참고 사이트  (0) 2020.07.13
wargame - 6  (0) 2020.07.13
wargame - 4  (0) 2020.07.08
wargame - 3  (0) 2020.07.07
wargame - 2  (0) 2020.07.07
wargame - 1  (0) 2020.07.07
wargame 시작  (0) 2020.07.07

댓글