XSS Reflected-High

1.这个题目我们用最普通的JS指令获取Cookie的方法是行不通的,然后我们就要想到之前做到这样的题目还可以去联想其他方法,比如:
利用它只匹配小写 <script> 的漏洞,写成大写:但是这个好像也拦截住了
javascript
<ScRiPt>alert(document.cookie)</sCrIpT>

或者是嵌套拆字(把删掉的部分补回来):这个好像也不行
javascript
<scr<script>ipt>alert(1)</scr</script>ipt>

换标签(根本不用 script 标签):这个成功了
正则只剥 script 字母序,img 不含 p 字母序所以漏网
onerror 是 HTML 的事件属性:当这个元素加载失败时,等号后面的 JS 就会执行。
拆开看这行 payload 的逻辑链:
<img src=x>------ 你让浏览器去加载一张图片,地址是x。这个地址根本不存在,必然加载失败onerror=alert(document.cookie)------ 浏览器一看:图片挂了,触发 onerror 事件 → 执行弹窗- 同样的还有
onload(加载成功触发)、onfocus(获得焦点触发)、onmouseover(鼠标划过触发)等
javascript
<img src=x onerror=alert(document.cookie)>

XSS Stored-High

1.这个的Name输入框只能输入一定长度的字符,这个问题我们可以通过使用BP抓包修改Name的内容即可绕过,使用的命令和上面一个的实验命令是一样的。

CSRF Low

1.这个是DVWA的管理员修改密码的页面,而这个页面只靠浏览器的登录状态(Cookie)来验证身份,没有额外的防护措施
2.攻击步骤:
-
攻击者构造一个恶意网页
-
诱导管理员访问这个恶意页面(比如通过钓鱼邮件、论坛链接等)。
-
管理员一打开页面,浏览器就自动提交了表单,向目标网站发送了修改密码的请求。
-
因为管理员已经登录了,浏览器会自动带上他的登录 Cookie。服务器一看:"哦,是管理员本人发来的请求,合法!" 于是密码被改。
-
攻击者现在可以用新密码登录管理员账户了。
3.做题步骤:
-
先登录。
-
分析修改密码的请求(用 Burp Suite 抓包),看看它有没有 CSRF Token、Referer 校验等防护。
-
如果没有任何防护,就构造一个恶意的 HTML 页面,模拟自动提交表单。
-
把这个页面托管在漏洞服务器(Exploit Server)上,然后交付给受害者。
-
受害者访问后,密码就被改掉了,实验通关。
4.首先我们现在是登录了这个页面,然后我们看到这个地址栏里面的请求格式:
javascript
http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#
然后我们可以根据这个格式构造恶意代码,把密码的位置修改为你想要的密码,然后新建一个页面访问这个地址,这个恶意的页面可以直接被打开,然后我们在原来的页面退出登录,用这个被攻击者修改之后的密码登录。


登录成功则表示攻击成功
还可以是直接访问一个恶意的页面,下面有几种方法:
方法一:在 DVWA 里直接"种"一个恶意页面(最简单)
data:text/html,<img src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=你想要的密码\&password_conf=同上\&Change=Change" width="0" height="0">
这个是直接把这个放到地址栏里面直接访问就可以了
方法二:在本地创建一个 HTML 文件(最直观)
-
在你的电脑上新建一个文本文件,命名为
attack.html。 -
用记事本打开,粘贴以下内容:
-
<html>
<body>
<h1>Loading...</h1>
<img src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=你想要的密码\&password_conf=同上\&Change=Change" width="0" height="0">
</body>
</html>
-
保存文件。
-
用浏览器打开这个文件(双击它)。
-
页面会显示 "Loading...",同时浏览器在后台发送了修改密码的请求。
注意:这种方法要求你的浏览器能访问到 127.0.0.1(也就是 DVWA 服务器)。如果你是在虚拟机或 Docker 里跑 DVWA,确保网络能通。
声明:
本文所有实验均在本人本地电脑搭建的 DVWA(Damn Vulnerable Web Application)授权靶场环境中完成。DVWA 是专为网络安全学习设计的开源漏洞演练平台,实验环境为本地 phpStudy + MySQL,未连接任何公网服务。文中涉及的 XSS 与 CSRF 技术仅用于个人学习网络安全知识与记录实验过程。
XSS 与 CSRF 攻击均属于违法行为,《中华人民共和国刑法》第 285、286 条对非法侵入计算机信息系统、破坏计算机信息系统罪有明确规定,《网络安全法》对危害网络信息安全的行为亦有相应罚则。未经授权对他人网站、服务器或系统进行渗透测试,无论是否造成损害,都可能构成犯罪。
文中所有 payload 在合法授权环境之外不具备直接使用价值,且现代框架已普遍内置输出编码、CSRF Token、SameSite Cookie 等防御措施。请读者仅在学习环境中复现,技术是用来防守的。
如有错误欢迎指正,转载请注明出处。