网站地图    收藏   

主页 > 后端 > 网站安全 >

csrf(跨站请求伪造)攻击解析 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 12:00 作者: 阅读:

[导读] CSRF,全称Cross-site request forgery,中文翻译成跨站请求伪造,现在很多站点存在csrf漏洞,利用这个漏洞,攻击者假冒正常的用户,以用户的名义发送恶意请求。这些请求可能是发送邮件,...

CSRF,全称Cross-site request forgery,中文翻译成跨站请求伪造,现在很多站点存在csrf漏洞,利用这个漏洞,攻击者假冒正常的用户,以用户的名义发送恶意请求。这些请求可能是发送邮件,发帖留言,盗账号,电子商城购买物品,甚至网银转账等一系列操作。
 
CSRF的攻击步骤:
 
①用户A正常登陆访问站点B,站点B在A的浏览器中设置cookie。
 
黑客C给A发送了一个链接,用户A在没有退出站点B的情况下就点击了该链接;或者黑客C在站点B上留下了一个链接,等待着A自己去点击。
 
③用户A点击链接,进入黑客C控制的站点,该站点要求向站点B发起一个连接。
 
④A的浏览器就会带着①步中的cookie去向B发起连接,如果站点B没有对该连接的源头做严格验证,就会连接成功。
 
⑤站点B对用户A发来的请求进行解析,作出相应的动作,攻击完成,但是用户A根本不知道发生了什么。
 
下面是一个例子:本例冒充用户A在网站B上发帖。
 
首先我们自己先分析网站B的发帖代码,也可以直接抓包,我这里用burp suite 代理工具实现(关于burp suite的一些使用方法见http://www.2cto.com/Article/201209/155614.html),在IE中设置好代理,然后去网站B上正常留言,burp suite截取到post数据包,查看具体信息,截图:





有了post的参数我们就可以手动构造form表单了,我构造的表单如图:




,这样图片加载失败,就是自动提交form表单。将这个html上传到我们自己的服务器上,将html链接发送给A、或者发布在网站B上,等待A来点击。A点击后,载入页面img载入失败,就会触发form表单的提交操作,并且附带上用户A在网站B的cookie,这样就冒充A在网站B上发布了帖子。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论