27번 문제 화면입니다.
27번 문제 소스코드입니다.
필터링되는 문자는 #,select,(,공백,limit,=,0x 입니다.
i 옵션으로 대소문자를 구분하지 않습니다.
쿼리를 입력하게 되면
no = ( query )의 형태로 괄호 안에 감싸져서
괄호 안이 true가 되면 결과로 무조건 guest가 나오게 됩니다.
따라서 괄호를 상쇄시켜줄 필요가 있습니다.
쿼리는 다음과 같이 짤 수 있습니다.
no=(99) or id like 'admin' and no>1 and no<3 --
이 쿼리를 필터링을 우회하도록 변형시키면 아래 사진과 같습니다.
or 대신 ||
and 대신 &&(url 인코딩하여 %26%26)
'을 url 인코딩하여 %27
공백은 탭 문자를 url 인코딩하여 %09로 사용했습니다.
주석 문자인 -- 뒤에는 공백이 있어야 하므로 %09를 붙여줍니다.
해당 코드를 url로 전송하면
문제 끝!
'write-up(web) > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge old-19 write-up (0) | 2022.07.28 |
---|---|
[Webhacking.kr] Challenge old-32 write-up (0) | 2022.07.28 |
[Webhacking.kr] Challenge old-38 write-up (0) | 2022.07.26 |
[Webhacking.kr] Challenge old-33 write-up (0) | 2022.07.21 |
[Webhacking.kr] Challenge old-54 write-up (0) | 2022.07.19 |