本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。
前言:
本文基于github上的xss-labs靶场以及PHP study进行操作。
一,靶场环境搭建。
1, 下载并解压到phpstudy的www目录下。
同前文一致,将文件名简化为xss-labs保存到www目录下。
2,网站搭建。
1,点击创建网站。
2,域名为便于记忆,也可以写为其他。
3,端口命名(不与其他网站冲突)。
4,根目录位置为文件位置。
5,php版本建议为5.6.9,其他版本可能导致黑屏。
6,点击确认创建成功。
3,启动网站。
启动成功。
二,开始攻击测试。
建议使用火狐浏览器,并搭配hackbar进行使用。
1,level-1。
猜测其为注入点。
确定其为传参点。
payload:
<script>alert('1')</script>
注入成功。
2,level-2。
猜测其为注入点。
确定其为传参点。
payload:
'"><script>alert('1')</script>
从页面源码可知,要想使得JavaScript代码得以执行,就必须闭合,后续语句才有效。
3,level-3。
可使用与上一关相似的语句,使其闭合,才能执行后续语句。
此处使用另一种绕过方法。
payload:
' onfocus='alert(123)'
成功绕过,但并无显示。
直接点击红框内容后。
此处构造了一个onfocus事件,onfocus属性当用户点击或聚焦在特定元素上时,它会在用户将焦点从其他地方转移到这个元素时被执行。可利用这个特性,进行注入,
建议多记忆几个作用类似于此的函数,如:
1,onclick: 当用户点击元素时,这会触发。恶意者可以设置<a οnclick=...>,在链接被点击时执行JavaScript。
2,ondrop: 当元素接收drop事件(如拖放文件上传)时,可用于执行脚本。
3, onchange**: 对于表单字段,当值改变时会触发,可能导致脚本在用户输入时运行。
4, onmouseover**: 当鼠标指针悬停在元素上时,可以隐藏正常内容并显示带毒内容。
5, event handlers**:包括但不限于 onload, onscroll, onsubmit 等,都在特定的用户交互事件中能执行潜在的恶意代码。
6,data-attributes: 内联数据属性(如<img data-οnclick="..."),虽然不是HTML标准,但某些现代浏览器支持自定义事件绑定。