본문 바로가기

 

27번 문제에요.

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

 

 

SQL Injection을 하래요.

소스보기를 눌러볼게요.

 

 

필터링되는 문자는

# select ( 공백문자 limit = 0x

이고 admin의 no 는 2 라고하네요.

 

and는 or 보다 먼저 연산이 되니깐

 

select id from chall27 where id='guest' and no=(0) or id like 'admin'-- )

을 집어넣으면 되겠네요.

 

= 가 막혀있으니 like를 사용하고 # 이 막혀있으니 -- 로 주석처리를, 공백( 가 막혀있으니 %0a로 띄워쓰기를 하면 되겠네요.

-- 주석 뒤에는 무조건 공백이 하나 있어야하는데 공백문자가 필터링되어있으니 %09(탭문자)로 우회하면 되니까 최종 구문은

0)or%0Aid%0Alike%0A'admin'--%09

가 되겠네요.

 

 

이제 이 구문을 넣어보면?

 

 

빠밤!

 

문제가 풀렸네요.

댓글