环境:
目标网站:192.168.99.122:9003/xss-labs/level2.php
攻击环境:浏览器
目标:
让目标网站进行弹窗
步骤:
1.首先打开页面
http://192.168.99.122:9003/xss-labs/level2.php
看到页面是一个搜索框的类型,测试一下test点击搜索,看到通过get方式传参,返回到页面没有找到相关结果
2.构造一个简单弹窗<script>alert("XSS")</script>
点击搜索,发现并没有弹窗
查看源代码,可以看到在<h2> </h2>
标签之中的恶意代码被编码了。
其中<
和>
都被编码成了html字符实体。
猜测在服务器端用htmlspecialchars()函数
对keyword参数的值进行了处理。
插入到value参数值中的恶意代码并没有被编码而是直接原样返回
但是问题是这里的js代码在标签属性值中,浏览器是无法执行的。
既然上面的恶意代码被编码了,那么只能从属性值中的恶意代码处进行突破了。
要想浏览器执行这里的弹窗代码,只需要将属性的引号和标签先闭合就可以了
**3.将keyword的参数值重新赋值"><script>alert('xss')</script><"
**实现将属性的引号和标签先闭合。
成功弹窗。