CSRF攻击

跨站请求伪造(Cross-site request forgery,CSRF)是一种常用的攻击手段,也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨站脚本攻击(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户的信任。

CSRF通常的攻击方式如下:攻击者会伪造一个请求(通常是一个链接,有时会借助浏览器保存的被攻击网站对用户的认证信息(如Cookie等)来达到更优的效果),然后欺骗用户进行点击,一旦用户点击了链接,攻击完成。(这也就是为什么CSRF又叫点击攻击了)

攻击方式如下所示:

从图上可以看出,所谓跨站,就是恶意链接(或恶意网站)不一定是在被攻击的网站上;请求伪造,就是说的是攻击者伪造的一条恶意请求,达到攻击效果。(比如,用户点击执行了一条金额-100的恶意请求,用户损失了,也就是网站被攻击了)

CSRF的分类

CSRF有两种,站内攻击和站外攻击

站内攻击是被攻击的网站原本就存在一定的漏洞,使得这个恶意请求可在站内伪造。站外攻击就是指的是恶意代码在别的网站上。

CSRF漏洞检测

常见的检测器awvs、appscan等,检测速度快,但是误报率高

自解压文件CSRF攻击

自解压文件:用户不需要安装相应的压缩(解压缩)工具即可完成解压的“压缩包”文件,(Windows系统上是.exe的文件)

攻击方式

随便新建一个文件,利用压缩软件进行压缩(这里用的是WinRAR),选中创建自解压压缩格式的压缩文件,然后高级->自解压选项->设置当中,在设置程序当中,有解压后运行和解压前运行,在需要的方式下面写入恶意代码即可。

Discuz论坛实验

环境搭建

需要PHPStudy,需要Discuz源码,源码如下Discuz! X2|Discuz! X2 R20120628 简体UTF-8下载_网站源码 - 站长源码

下载好后,解压放入PHPStudy的网站根目录下(搭建过程这里暂不演示),开启服务即可,注意,若发现有的服务启动不了,可能是PHPStudy自带的服务与自己的服务冲突了,暂时停止自己的服务即可。

然后在浏览器中打开网站,进入安装界面,安装过程中,若出现有源码当中有的方法不支持的情况,有可能是php版本的问题,用php5.4.45nts即可。

拖库实验

致谢参考

【【网络安全】跨站请求伪造CSRF攻击的原理以及防范措施,原来退出登录这么重要呀!又学到了!】

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSRF(Cross-Site Request Forgery)攻击又称为跨站请求伪造或者被动式攻击攻击者通过伪造合法用户的请求发送到Web应用程序,从而达到不正当的目的。攻击者通常需要诱导用户执行某些操作(如点击链接、访问网站等),以触发CSRF攻击CSRF攻击的工作原理是攻击者构造一个恶意请求,然后诱导用户访问带有恶意请求的页面。当用户访问该页面时,浏览器会自动发送请求到Web应用程序,由于请求中包含了用户的合法身份认证信息(如cookie等),Web应用程序无法区分该请求是否是用户本人的操作,从而执行了攻击者构造的恶意请求。 例如,攻击者可以在某个社交网站上发布一条欺骗性的链接,诱导用户点击该链接。当用户点击链接后,浏览器会自动向Web应用程序发送一条请求,该请求中包含了用户的身份认证信息和攻击者构造的恶意请求。由于Web应用程序无法判断该请求是否是用户本人的操作,因此会执行该恶意请求,从而导致CSRF攻击成功。 为了防止CSRF攻击,开发者可以采取以下措施: 1. 在关键操作(如修改密码、转账等)中增加CSRF令牌验证,确保请求是由合法用户发出的。 2. 对用户输入的数据进行有效的过滤和验证,避免恶意请求被执行。 3. 不要在GET请求中执行关键操作,避免恶意链接导致的攻击风险。 4. 使用HTTPS协议加密用户的身份认证信息,避免信息被篡改或窃取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值