2번 문제 풀이입니다~
https://r3dzone.tistory.com/20
============================================================================
바로 이어서 3번 풀이입니다.
이번엔 버튼을 누르면 해당이미지를 보여주는 사이트가 나왔군요
버튼을 눌러보니 위의 frame#숫자로 이미지를 골라서 띄어줍니다!
공격벡터로 적당해 보이는군요!
적당히 aaa를 넣어줬더니 NaN을 띄웁니다.
이쪽이 공격 벡터는 맞는 것 같습니다.
스크립트를 넣어봐도 별 변화는 없군요
슬슬 한번 코드를 봅시다.
이미지를 #뒤에 받은 인자를 바탕으로 불러오는건 예상과 같군요!
하지만 별로 감이 안잡힙니다.
힌트를 봅시다.
2번을 보니 친절하게도 공격벡터가 window.location이라는 것을 알려주는 군요
위에 소스에 나온 window.location.hash 부분이 의심됩니다.
구글링 해보니 좋은 자료를 찾았습니다!
https://security.stackexchange.com/questions/177261/is-xss-possible-with-jquerylocation-hash
자세한 부분은 읽어보시는걸 추천합니다.
보니 답변자분이 친절하게 XSS 예시 스크립트 까지 주는 군요!
<div id="xss">alert('xss');<div>
바로 적용해 봅시다!
아쉽게도 alert는 동작하지 않습니다만! 에러메세지가 바뀌었습니다!
특히 .jpg/>까지 노출된걸 봐선
이부분이 저희 스크립트로 중간에 닫혀서 그런것 같습니다!
요소검사로 해당부분을 보니 파악한게 제대로 된거같습니다.
보니까 alert안의 싱글쿼터(')에서 src가 닫혔습니다!
다시 보니까 중요한건 싱글쿼터로 저걸 우회하는게 주 핵심인 거 같습니다!
alert문이 보이는 군요!
1번 문제 풀듯이 풀면 될거같습니다!
결국 중간 링크는 진짜 힌트로 쓰였네요 ㅋㅋ
싱글쿼터랑 꺽쇠 ( ' 랑 > ) 로 img태그 닫고 스크립트 실행시켜주면
'><script>alert('xss');</script>
통과!
'wargame > XSS-game' 카테고리의 다른 글
[XSS-game] Level 2 풀이! (0) | 2019.10.27 |
---|---|
[XSS-game] Level 1 풀이! (0) | 2019.10.27 |