[Webhacking.kr] 23번
Your mission is to inject <script>alert(1);</script>
라고한다.
일단 잘 모르겠으면 소스를 보자
get방식으로 index.php에 보내는 것을 볼 수 있다.
한번 아무거나 입력해보자.
code=234 로 code값에 넣어져 전송되고 그 값이 그대로 나오는 것을 볼 수 있다.
우리가 해야하는 것은 스크립트 실행이므로 스크립트를 저기 넣으면 되는 것인가?
싶어서 그대로 넣어보았다...
no hack이란다.. 일단 필터가 있나보다 뭐가 필터인지는 잘모르겠다. 시도를 좀 해볼까
... 시도해봤는데 al만 넣어도 핵이란다 ㅂㄷㅂㄷ;
필터가 대단히 잘걸려있다... 이걸 우회해서 alert(1);을 해야한다.
오... 앞부분에 null값을 넣고 시작했더니 alert가 온전히 출력되었다. 이렇게 우회가 되는구나...;
아마 필터하려고 검사하는 부분에서 첫부분이 null값이 들어가 있어서 null에서 끓겨버려서 필터링이 안되는 것같다.
이제 뒷부분에 <script>alert(1);</script>을 넣으면 되나 싶어서 해보았다.
크롬이 막아버렸다... 아래에러 코드를 보니 ERR_BLOCKED_BY_XSS_AUDITOR라고... XSS 공격을 막은거 같다...
찾아보니 크롬에서 XSS에 대한 테스트를 하면 발생하는 것으로, 이는 웹브라우저에 탑재된 XSS Auditor가 블랙리스트에 등록된 스크립트를 발견했을 때 발생시키는 에러라고 한다. XSS Auditor는 크롬과 사파리에 탑재되어 있고, 기본 동작하도록 설정되어 있고, XSS Auditor의 동작은 X-XSS-Protection이라는 HTTP Response 헤더에 의해 결정된다.
그래서 우회하려면 프록시 설정하고 버프슈트같은걸로 저 헤더끄고하면 된다고 한다. (http://xiphiasilver.net/?p=293)
귀찮아서 익스플로러에서 해보기로 했다.
잉... 근데 풀려있다 ㅋㅋ; 아마 스크립트입력시킨 시점에서 서버에서는 클리어로 판정해줫나보다 ㅋㅋ
심지어 익플에서도 안된다 ...
나중에 한번 저 옵션을 끄고한번 해봐야겠다 ㅋ
+ 추가!!!
다른 사람이 푼 라이트업도 보고싶어서 검색해보니 필터링을 우회하려고 문자중간중간에 null값을 넣어서 보내줬다고 한다.
그러니까 이런식으로 보냈다는 건데...
?code=%00<%00s%00c%00r%00i%00p%00t%00>%00a%00l%00e%00r%00t%00(%001%00)%00;%00<%00/%00s%00c%00r%00i%00p%00t%00>%00
<script>alert(1);</script> 중간에 %00값을 하나하나 집어넣어준것이다.
이렇게 보내보니....
이렇게 풀린다... ㅋㅋ; 물론 null값때문에 약간 이상하게 보이긴하다만... 저값도 <옆으 %00들을 없애면 좀 보기좋게 나온다.
신기하네... 물론 스크립트가 실행되진않았지만;; 아까는 크롬에서 에러코드띄우면서 막던거를 여기서는 안막는다...ㅋㅋ
'Wargame > 웹해킹(Webhacking.kr)' 카테고리의 다른 글
[Webhacking.kr] 11번 정규식 (0) | 2018.03.27 |
---|---|
[Webhacking.kr] 36번 VI (0) | 2018.03.27 |
[Webhacking.kr] 52번 HTTP Header injection (0) | 2018.03.25 |
[Webhacking.kr] 42번 파라미터 변조 및 ZIP 크랙 (0) | 2018.03.25 |
[Webhacking.kr] 10번 HTML 객체변경 (0) | 2018.03.22 |