반응형
md5("admin") 의 경우에는 왼쪽과 같이 21232f297a57a5a743894a0e4a801fc3으로 출력되지만
md5("admin",true)와 같이 코딩되어 있을 경우에는 오른쪽과 같이 바이너리 형식으로 반환된다.
옵션으로 준 TRUE값은 raw_output에 대한 TRUE 값으로 바이너리 형식으로 출력하겠따는 의미이다.
참고 ) http://php.net/manual/kr/function.md5.php
따라서 SQL Injection 문제에서 md5 부분에 true로 되어있다면 이 기법을 생각해봐라
129581926211651571912466741651878684928
md5("129581926211651571912466741651878684928",true) 하면 바이너리형태로 아래와 같이 출력된다.
�T0D��o#��'or'8
따라서 만약 select * from test where id='$id' and pw='$pw' 과 같은 쿼리일 때 $pw부분에 위의 결과가 들어가
select * from test where id='$id' and pw='�T0D��o#��' or '8' 가 되어 '8' 부분에 의해 True가되어 결과가 출력된다.
참고 ) http://bbolmin.tistory.com/77
반응형
'Hacking > Web' 카테고리의 다른 글
Web Application Firewall (WAF) Evasion Techniques (0) | 2018.06.03 |
---|---|
[SuNiNaTaS] 22번 문제 (0) | 2018.05.10 |
Blind SQL Injection tool 분석 (4) | 2018.05.06 |
Padding Oracle Attack (0) | 2018.05.01 |
자바스크립트 난독화 (0) | 2018.05.01 |