뉴비에욤

los - iron golem 본문

Lord_of_SQL-Injections_I

los - iron golem

초보에욤 2015. 8. 10. 17:36

 

 

 

 

필터링은 신경 쓰지 않아도 되지만 문제는 에러 처리 부분이다.

 

만약 쿼리 에서 에러가 발생하면 에러를 보여주면서 쿼리가 종료되게 코딩되었다. 즉, error based blind sql injection 기법을 이용해야 한다.

 

쿼리 내에서 에러를 발생시킬려면 조건문을 사용해야 한다.

> if (쿼리문,참일때 값,거짓일 때 값)

 

위 조건문에서 이용할 형식들은 다음과 같다.

- 쿼리문 : substr 함수를 이용하여 pw를 한 글자씩 자르고 비교

- 참일 때 : 한 글자씩 자르고 비교한 값이 맞으면 변수에 저장

- 거짓일 때 : 한글자씩 자르고 비교한 값이 다르면 에러 발생

- 에러 발생을 위한 쿼리문 : ( select 1 union select 2)

 

- 참 거짓 비교 방식은 간단다. 에러가 나면 페이지에 에러를 보여주면서 종료된다.

   공격 url을 요청하고 리턴되는 페이지 내용 안에 에러가 있으면 틀린 값이 비교된 거고,

   리턴 페이지에 에러가 없으면 올바른 값이 비교된 것이다.

 

그리고 비밀번호는 한글이다.

 

 

prob21.py

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

los - hell fire  (0) 2015.08.10
los - dark eyes  (0) 2015.08.10
los - dragon  (0) 2015.08.10
los - xavis  (0) 2015.08.10
los - nightmare  (0) 2015.08.10
Comments