跨站请求伪造--CSRF
2021/7/28 6:06:08
本文主要是介绍跨站请求伪造--CSRF,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
CSRF–跨站请求伪造
与XSS区别
1.XSS利用站点内的信任用户,盗取cookie
2.CSRF伪装成信任用户请求网站
原理
服务器无法判断请求是否由合法用户发起
利用目标用户的合法身份,以目标用户的名义执行某些非法操作
举一个转账案例:
正常过程:
合法链接http://xxxxxxx.php?user=a&money=100
受害者给a
转账100
攻击:
攻击者构造恶意链接:http://xhttp://xxxxxx.php?user=b&money=100
欺骗受害者点击该链接,则给b
转账100
<?php //会话验证 $user=$_GET['user']; $money=$_GET['money']; //转账 ?>
条件:
1.受害者处于登录状态 2.受害者问对应的URL
GET型CSRF漏洞利用
1.构造GET型的URL,修改参数的值
2.提高隐蔽性,将URL嵌在< img src="xxxxxxxx">
中,精心构造网页,诱使受害者访问攻击网页
POST型的XSS利用
参数以POST方式提交
攻击者构造一些提交数据的表单,提高隐蔽性,设为隐藏域<input tyoe="hidde" name="username"
value=“hacker”>;JS自动提交…
CSRF的防御–CSRF手工检测点
1.HTTP Referer头
2.设置Token–给用户一个唯一的合法令牌
可以将令牌写到隐藏域的value中,随表单提交
<?php function token(){ $salt="hello".date("h:i"s"); $token=md5($salt); return $token; } $token=token(); echo $token; ?>
token需要设置为复杂难破解的内容
3.HTTP自定义头
4.二次验证
案例
ESPCMS V5
自动探测工具
CSRFTester
工具使用代理抓取浏览器的链接及表单信息,修改表单,重新提交,伪造客户端请求,请求成功则存在漏洞
绕过Referer技巧
referer告诉服务器请求的来源
将攻击者搭建的网站文件夹名与路径进行修改
这篇关于跨站请求伪造--CSRF的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解