본문 바로가기

WEB/Lord Of SQL injection

[Lord Of SQL injection] cobolt → goblin

우선 문제를 보면 idpw를 받아와서 그에 해당하는 id 컬럼의 값이 admin이면 문제가 풀린다. 쿼리문을 보면 pwma5(‘{$_GET[pw]}’)인데 md5가 무엇인지 검색해보았다.

http://php.net/manual/kr/function.md5.php 여기를 참조해보면 문자열의 md5 해시를 계산한다는데 16진수를 32문자로 해시를 반환한다고 한다. 그리고 md5 인자의 불린값의 기본값은 FALSE라고 한다. 그러면 여기서 드는 생각이 TRUE인 값으로 하면 pw는 해결되는 것 아닌가?

그래서 1’or’1md5해시값으로 만들어 때려보려 했는데 계속 실패했다.

http://bbolmin.tistory.com/77 여기를 참고해보면 내가 생각한 것처럼 sql injection을 할 수 있는데 가능한 경우는 md5함수를 true로 사용하는 상황에서만 해당한다. cobolt의 경우에는 false이기 때문에 32자리의 16진수 값 반환을 해서 1‘or’1로 내가 원하는 방향대로 풀 수 없다.

그래서 그냥 pw이후를 주석 처리하여 풀었다.