뉴비에욤

los - evil wizard 본문

Lord_of_SQL-Injections_I

los - evil wizard

초보에욤 2015. 8. 10. 18:47

 

 

이전 hell fire 문제와 동일한 곳에서 인젝션이 발생한다.

 

문제는 에러 부분인데, 이전 문제에서는 적어도 리턴 페이지에 에러를 출력해 줬으나 이번 문제는 에러가 나면 리턴 페이지는 무조건 빈 페이지가 된다.

 

limit 인젝션 특성 상 공격 쿼리가 무조건 오류가 나는데, 오류를 안 보여주니 미칠 노릇일 수 밖에 없다.

 

힌트는 바로 시간인데, 이번 문제는 "time based - sql injection" 기법을 사용해야 한다.

 

이전 문제에서 읽어보라고 했던 링크의 마지막 쿼리 끝에 보면 BENCHMARK 함수가 존재한다. 해당 함수가 실행되면 약간의 타임 딜레이가 발생하는데 이것을 이용하여 공격 쿼리의 성공/실패 여부를 판단할 수 있다.

 

즉, if 조건문을 이용해서 (공격쿼리, 참(시간 발생), 거짓(false)) 형식으로 url을 요청하면 쿼리 성공 시 약간의 딜레이가 (약 2-3초) 발생하고 실패시에는 딜레이가 거의 없게 된다.(0-1초)

 

따라서 요청된 쿼리의 실행 시간을 측정해서 문제를 풀어야 한다.

 

 

 

prob24.py

 

 

 

'Lord_of_SQL-Injections_I' 카테고리의 다른 글

los - 올클리어 스크립트  (0) 2015.08.10
los - rubiya / umaru  (0) 2015.08.10
los - hell fire  (0) 2015.08.10
los - dark eyes  (0) 2015.08.10
los - iron golem  (2) 2015.08.10
Comments