본문 바로가기
워게임/LOS

[los - SQL injection] dragon ( 20단계 )

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

[los - SQL injection] dragon ( 20단계 )

 

 

 

 

 

 

 

[ 풀이과정 ]

 

 

dragon에서는 소스를 보면 알수 있듯이 이미 문제 시작부터 id 뒷쪽에 주석이 붙어있다.

pw만을 가지고 문제를 풀어야하는데 그러기 위해서는 앞에 있는 주석을 무력화 시켜야한다..

 

어떻게 하면 저 주석을 무력화 시킬수 있을까 생각하다가 저 주석이 한줄짜리 주석이라는걸 생각해서

pw에 싱글쿼터로 닫아준후에 %0a를 이용해서 LF 문자를 이용해 줄바꿈을 하고 그 이후에

&& 1=2라는 거짓 식을 추가해줬더니 Hello guest라고 출력 되있던 부분이 없어진걸 확인했다..

이 결과로 보아서 해당 SQL injection은 먹혔다고 판단을 했고 바로 %0a 문자를 이용해서 

admin을 조회하는 쿼리를 작성했다.

 

select id from prob_dragon where id='guest'# and pw='' or id='admin' order by id asc #'라는 

쿼리를 사용했는데 여기서는 그냥 조회 했을때는 guest가 먼저 나와서 마지막에 order by를 이용해서 

오름차순으로 정렬을 해주니 문제가 풀렸다.

 

 

 

 

20단계 클리어~~

 

 

 

반응형

댓글