目录
环境搭建
xss-labs下载地址GitHub - do0dl3/xss-labs: xss 跨站漏洞平台
快速下载:点击此处
如果不想自己搭建可以使用博主的网页(尽量自己搭!)
博主自己搭建的xss-labs网页靶场:快速使用
基础触发标签学习可以参考:XSS常见的触发标签
搭建完毕后打开靶场,点击图片正式开始xss之旅吧!
第一关
可以注意到,通过给name变量赋值,网页内容也会发生相应的改变。
然后去查看网页源码可以观察到get传参name的值hello插入了html里面,还回显了payload的长度
url?name=<script>alert()</script>
将name赋值为<script>alert()</script>即可通关本题
第二关
来到第二关
第二关提供了一个输入框,我们先试试输入一下数据
网页源码:
发现和第一关差不多,那么我们就试一试第一关的方法,输入
<script>alert()</script>
发现并没有通关,而且还原样输出了代码
然后我们再去看一下源码
发现我们输入的代码中的"<"和">"分别被"<"和">"注释掉了,并且发现我们输入的内容是一个文本框的value值,这样浏览器是不会执行我们的注入语句的,所以我们要构造标签闭合。
尝试一下用 ><script>alert()</script>< 把input闭合掉,发现还是没有通关,然后检查一下。
发现参数是被双引号闭合着带入到input标签中,所以在开头构造一个 "> 把标签input标签闭合掉,再在之后拼接一个语句,这样我们构造的标签就能顺利被编译,而不是简单字符串了,另外还需要在结尾构造一个 <" 把input剩下的尖括号闭合掉。
"><script>alert()</script><"
恭喜第二关通过。
未完待续...