跨站请求伪造漏洞

   1. 跨站请求伪造漏洞

       跨站请求伪造Cross-siterequest forgery (也称为CSRF、XSRF)是一种Web安全漏洞,允许攻击者诱导用户执行他们不打算执行的操作。攻击者通过伪造用户的浏览器的请求,向用户自己曾经认证访问过的网站发送出去,使目标网站接收并误以为是用户的真实操作而去执行操作。

跨站:从一个网站到另一个网站

请求:HTTP请求

伪造:仿造,伪装

       一个网站A中发起一个到网站B的请求,而这个请求是经过了伪装的,伪装操作达到的目的就是让请求看起来像是从网站B中发起的,也就是说,让B网站所在的服务器端误以为该请求是从自己网站发起的,而不是从A网站发起的。当然,请求一般都是恶意的。

       看到这里,你可能会问:为什么要伪装成从B网站发起的呢?从网站A直接向B网站服务器发起请求不可以吗?之所以要伪装成从B网站发起的,是因为Cookie是不能跨域发送的。结合上面这个例子来说就是: 如果从A网站直接发送请求到B网站服务器的话,是无法将B网站中产生的Cookie一起发给B服务器的。

       可能你还会问,为什么非要发送Cookie呢?这是因为服务器在用户登录后会将用户的一些信息放到Cookie中返回给客户端,然后客户端在请求一些需要认证的资源的时候会把Cookie一起发给服务器,服务器通过读取Cookie中的信息来进行用户认证,认证通过后才会做出正确的响应。

       A网站访问B网站服务器的一些需要认证的资源的时候,如果没有Cookie信息,服务器是拒绝访问的,那么A网站就无法进行恶意操作。而伪造成B网站的请求,就可以将B网站的Cookie一起发到B服务器,这个时候就服务器就认为该请求是合法的,就会给出正确的响应,这个时候,A网站就达到目的了。

简单一句话就是:攻击者盗用了你的身份,以你的名义发送恶意请求

2.漏洞类型

(1)Get型CSRF

GET类型的CSRF利用非常简单,只需要一个HTTP请求,这种类型的CSRF一般是由于人员安全意识不强造成的,比如攻击者将一个修改密码的链接发送给受害者,受害者在登录网站的情况下点击该链接则受害者的密码被修改了。

例如在dvwa靶场,攻击者修改好密码,然后将构造好的链接发送给受害者,那么密码则在无意中被修改了

(2)Post型CSRF

A. 配置靶场环境

B. 打开bp抓包,生成恶意html文件

C. 将更改好的恶意html文件发送给受害者

受害者视角:

在登录后进入网站,无意中点击恶意的html文件,就会发现信息被修改

(3)Csrf与xss组合拳

在前面关于XSS漏洞的防御中提到过,如果网站设置了http-only就不能获取cookie了,我们可以换个思路,不再去窃取用户的cookie,而是直接利用它。

在存在xss漏洞的地方注入payload  <img src=”http://xxx”>

例如dvwa靶场,我们提前在存储型xss漏洞中注入payload,一个用户名为1337,密码为charly访问了该链接

当我们在另一个浏览器上进行登录时,发现密码被改为666666

  • 20
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值