문제 소스코드를 보면 id든 pw든 다 '를 제낀다. 저기 if(@ereg(~);부분만 우회하면 될 거 같은데 그 전 문제들에서도 '를 우회하려고 검색해봤는데 마땅히 그렇다할 기법을 찾지 못했다. 이번에도 작은 따옴표 우회하는 방법을 검색해도 잘 모르겠다. 근데 왜 미처 함수에서 취약점을 찾자는 생각을 하지 못했을까. preg_match함수에 작은 따옴표를 넣어도 되는데 ereg 함수를 통해 제끼는 걸 보면 뭔가 있을 거 같다.
ereg 치는데 바로 취약점이 연관되어 나온다.
위 블로그를 통해 확인하면 첫 바이트의 값에 NULL값을 주어 문자열 검사를 더이상 하지 못하게 우회한다는 것이다.
오오 작은 따옴표가 그대로 쿼리문에 들어간다. 신기하다!
이제 %00이후는 필터링 되는거 없이 하던대로 pw를 참값으로 만들어 때리면 된다.
'WEB > Lord Of SQL injection' 카테고리의 다른 글
[Lord Of SQL injection] succubus → nightmare (0) | 2017.01.23 |
---|---|
[Lord Of SQL injection] assassin → zombie_assassin (0) | 2017.01.23 |
[Lord Of SQL injection] giant → assassin (0) | 2017.01.18 |
[Lord Of SQL injection] bugbear → giant (0) | 2017.01.18 |
[Lord Of SQL injection] darkknight → bugbear (0) | 2017.01.17 |