보안 전공생의 공부

[Wargame.kr] md5 password 본문

Wargame/web

[Wargame.kr] md5 password

수잉 2021. 3. 16. 00:45

페이지 소스코드를 확인해보았다

처음 문제화면에 주어져 있는

md5('value', true)가 눈에 띈다 !

value가 입력받는 변수 ps로 되어있다.

 

md5 함수

string md5 ( string $str , [bool $raw_output] ) 구조를 갖는다.
첫번째 인자는 문자열,

두번째 인자는 해싱 결과를 바이너리 형식의 문자열이다.

이 값이 true 일 경우 해시의 길이 16바이너리 형식으로 반환, 이값을 생략하면 기본값은 false 를 갖는다.

16진수 32글자로된 md5 해시값의 문자열을 반환한다.(출처: http://b.redinfo.co.kr/62 )

 

md5('admin') -> 21232f297a57a5a743894a0e4a801fc3 해쉬값 반환(32자리의 16진수 값 반환)

md5('admin',true) -> 위의 해쉬값을 바이너리 형식으로 반환(16자리의 바이너리 형식 반환)

(출처: bbolmin.tistory.com/77 )

 

 

이러한 md5함수를 이용해 sql injection에 사용한다.

1' or '1 쿼리문이 나오게 해서 공격을 하는 것이다.

129581926211651571912466741651878684928 는 md5 hash를 하면

06da5430449f8f6f23dfc1276f722738 이다.

이것이 raw 형태의 쿼리로 들어가면 ?T0D??o#??'or'8.N=? 이다. 'or' 가 적용되며 공격에 성공하게 된다.


<<참고하기 좋은 사이트 !!>>

cvk.posthaven.com/sql-injection-with-raw-md5-hashes

 

SQL injection with raw MD5 hashes (Leet More CTF 2010 injection 300)

The University of Florida Student Infosec Team competed in the Leet More CTF 2010 yesterday. It was a 24-hour challenge-based event sort of like DEFCON quals. Ian and I made the team some...

cvk.posthaven.com

 

129581926211651571912466741651878684928 을 입력하였다.

 

md5 해쉬를 이용한 sql injection에 성공하게 되어 

바로 키값을 얻을 수 있었다 !

한 달 전에 엄청 고민하다가 해결을 못해서 묵혀둔 문제인데

오랜만에 다시 꺼내보니 짱쉽다 ...

 

그동안 딱히 뭘 더 공부한 건 아닌데 말이다 ..ㅎ

 

 

'Wargame > web' 카테고리의 다른 글

[SuNiNaTaS] #3  (0) 2021.02.25
[Wargame.kr] type confusion  (0) 2021.02.25
[Wargame.kr] #3 QR CODE PUZZLE  (0) 2021.02.02
[Wargame.kr] #2 flee button  (0) 2021.02.02
[Wargame.kr] #1 already got  (0) 2021.02.02
Comments