xss-challenge-tour(XSS靶场)1-10

xss-challenge-tour(XSS靶场)1-10_第1张图片

第一关

xss-challenge-tour(XSS靶场)1-10_第2张图片
第一关是最简单的,什么限制都没有,直接上最普通的xss代码实现弹窗

xss-challenge-tour(XSS靶场)1-10_第3张图片
payload


第二关

直接输入第一关的代码,没有弹窗,F12看一下代码,尝试进行闭合xss-challenge-tour(XSS靶场)1-10_第4张图片
下面是包含我们之前输入的内容的代码


如果我们在输入的代码前加上 "> 上面的代码就变成了:

 ">

input标签被闭合了,后面构造的弹窗代码将会被执行
xss-challenge-tour(XSS靶场)1-10_第5张图片
payload

">

第三关

xss-challenge-tour(XSS靶场)1-10_第6张图片
再次输入第二关的payload,发现没有用,可能是双引号被过滤了,失去了作用
xss-challenge-tour(XSS靶场)1-10_第7张图片

看wp都是用了onmouseover进行构造利用,先了解一下这个语法
xss-challenge-tour(XSS靶场)1-10_第8张图片
输入

xx' onmouseover='alert(/x/)

查看构造后的代码
xss-challenge-tour(XSS靶场)1-10_第9张图片


输入的是单引号,到了代码中成了双引号,应该是基于某种规则。先是闭合了输入的参数value,然后添加了onmouseover时间,当鼠标移动到搜索框上时触发弹窗。
xss-challenge-tour(XSS靶场)1-10_第10张图片
鼠标移动到搜索框上:
xss-challenge-tour(XSS靶场)1-10_第11张图片

payload

xx' onmouseover='alert(/x/)

第四关

将第三关的payload中的单引号改为双引号即可
xss-challenge-tour(XSS靶场)1-10_第12张图片
payload

xx" onmouseover="alert(/x/)

第五关

尝试上一关的payload,发现on被转义为o_n,说明这个方法不能用了
xss-challenge-tour(XSS靶场)1-10_第13张图片

直接看wp,使用伪链接方式假造一个超链接尝试(新姿势,学到了):

"> link

xss-challenge-tour(XSS靶场)1-10_第14张图片
点击link,弹窗
xss-challenge-tour(XSS靶场)1-10_第15张图片

payload

"> link

第六关

先尝试一下
xss-challenge-tour(XSS靶场)1-10_第16张图片
发现我输入的script被转成了scr_ipt
尝试大小写绕过
xss-challenge-tour(XSS靶场)1-10_第17张图片
payload

111">

第七关

还是先测试一下
xss-challenge-tour(XSS靶场)1-10_第18张图片
发现script直接给我整没了,那就双写进行绕过
xss-challenge-tour(XSS靶场)1-10_第19张图片
payload

111">alert(1)

第八关

还是先测试
xss-challenge-tour(XSS靶场)1-10_第20张图片
发现代码出现在a标签里,而且script被转义了
因为题目中的链接可以点击,我们尝试直接写入js的弹窗代码,发现里面的script被转义了
xss-challenge-tour(XSS靶场)1-10_第21张图片
用Unicode进行编码,javascript:alert(1),添加后,查看代码发现并没有被转义
xss-challenge-tour(XSS靶场)1-10_第22张图片
点击友情链接,成功弹窗
xss-challenge-tour(XSS靶场)1-10_第23张图片

payload

javascript:alert(1)

第九关

还是友情链接,那就用第八关的代码进行测试,然后看到链接不合法,那什么是合法的链接?给加上http://试试
xss-challenge-tour(XSS靶场)1-10_第24张图片

在Unicode后面加上//http://,前面的双斜杠表示注释
xss-challenge-tour(XSS靶场)1-10_第25张图片
看样子是合法了,只不过被//给注释掉了,嘿嘿
xss-challenge-tour(XSS靶场)1-10_第26张图片
payload

javascript:alert(1)//http://

第十关

第十关发现没有输入框,但我们知道,输入框只是让用户输入参数的一种方式,没有输入框我们也可以进行传参,先看看源码,需要我们输入什么参数
xss-challenge-tour(XSS靶场)1-10_第27张图片
发现了三个参数,我们都传一个值试试
/level10.php?t_link=1&t_history=2&t_sort=3
再次查看代码,发现t_sort参数的值已经传入了
xss-challenge-tour(XSS靶场)1-10_第28张图片
然后我们为t_sort参数构造xss代码
xss-challenge-tour(XSS靶场)1-10_第29张图片
发现><都被过滤了,要用没有><的代码
看wp,使用了" οnclick=“alert(1)” type=""
构造出了一个输入框,点击输入框即可弹窗
xss-challenge-tour(XSS靶场)1-10_第30张图片

点击输入框,弹窗
xss-challenge-tour(XSS靶场)1-10_第31张图片
payload

" onclick="alert(1)" type=""

你可能感兴趣的:(漏洞复现,web,html,css,html5,xss)