본문 바로가기
워게임/LOS

[los - SQL injection] zombie_assasin ( 16단계 )

by B T Y 2017. 9. 24.
반응형

[los - SQL injection] zombie_assasin ( 16단계 )







[ 풀이과정 ]



ereg함수의 취약점을 이용했는데 해당 함수는 NULL(%00) 문자를 만나게 되면 

더이상 뒤에 문자를 점검하지 않는 특성이 있다.


해당 id값에 %00(NULL)문자를 먼저 넣어주면 이후는 필터링을 하지 않기 때문에

싱글쿼터의 사용이 가능해진다..


그래서 php는 ereg() 함수 대신에 preg_match() 함수를 사용하고 

해당 함수는 아직까지는 취약점이 나오지 않은걸로 알고 있다..


그걸 이용해서 select id from prob_zombie_assassin where id='%00' or 1=1 #' and pw='' 와 같이 

쿼리를 작성하게 되면 문제가 풀린다.

여기서는 ereg 함수의 취약점을 알고 있는지가 문제를 풀수 있는 방법이었다.





16단계 클리어~~~



반응형

댓글