Web Hacking/LOS

Lord of SQL Injection(LOS) - vampire

Lucvs 2021. 8. 7. 22:32

php 코드를 보면, 이전 문제에서 id 검색에서는 대소문자를 구별하지 않는다는 점을 이용하여 exploit 했었다.

 

이번에는 strtolower 라는 함수로 GET 방식으로 전달받은 id 문자열을 모두 소문자로 바꾸어준다.

또한 str_replace() 함수로 admin 이라는 문자열을 공백으로 replace 한다.

 

그렇다면 어떻게 해야할까. admin이라는 문자열을 공백으로 비운다고 하니, admin 이라는 문자열 안에 admin 이라는 문자열을 희생양으로 바치면 된다.

 

즉, adadminmin 과 같은 식으로 id 에 전달해준다면 결과적으로는,

ad""min -> admin

이 되어 가운데에 있던 admin이 공백으로 바뀌고 앞뒤 문자열이 합쳐져 다시금 admin 이라는 문자열이 생성될 것이다.

admin 이라는 문자열이 있는지는 단 한 번만 검사하기 때문에 성공적으로 문제를 해결할 수 있다.