借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

admin 2025年5月9日16:19:33评论6 views字数 2622阅读8分44秒阅读模式

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种利用用户在已认证网站上的身份,本质上是利用网站的同源策略对该网站执行非本意操作的攻击方式。下面是其原理攻击方式的详细说明:

🔍 原理

CSRF 利用的是网站的信任。假设用户已经登录了网站 A,并且浏览器保存了网站 A 的 cookie。那么此时:

  • 用户访问攻击者构造的恶意页面;
  • 该页面在用户不知情的情况下向网站 A 发起请求;
  • 浏览器会自动附带 cookie(比如 session cookie);
  • 网站 A 认为请求是合法用户发起的;
  • 攻击者成功诱使网站 A 执行了用户本不想执行的操作。

🧨 攻击方式

1. GET 类型 CSRF

攻击者构造一个带参数的链接:

<img src="http://bank.com/transfer?to=attacker&amount=1000" />

用户只要打开该页面,浏览器就会自动请求这个图片(其实是银行转账接口),从而完成攻击。

2. POST 类型 CSRF

通过隐藏的表单 + JavaScript 自动提交:

<form action="http://bank.com/transfer" method="POST">
  <input type="hidden" name="to" value="attacker" />
  <input type="hidden" name="amount" value="1000" />
</form>
<script>
  document.forms[0].submit();
</script>

3. 通过 AJAX(有限)

因为同源策略,CSRF 通常不能直接使用 XMLHttpRequest 或 fetch 读取响应,但可以发起请求(如 POST)。

🔐 防御手段(简要)

  1. CSRF Token:为每个用户请求生成一个唯一且不可预测的 token,嵌入表单中进行验证;
  2. SameSite Cookie:设置 Set-Cookie: sessionid=xxx; SameSite=Strict,禁止跨站携带 cookie;
  3. Referer / Origin 检查:后端校验请求头的 Referer 是否是本站;
  4. 双重验证操作:例如转账需要密码/验证码等。

pikachu靶场的crsf攻击

GET型csrf

1.get 型的 CSRF,漏洞点可能在 url 中。进来⾸先要登录,不知道账号密码,点⼀下提示

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

2.提示已经告诉我们密码了,所以我们试一下登录vince 吧,登录进去显示了 vince 的个人信息,并且最下面有个修改个人信息的链接,点一下

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击
借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

3.住址改成 france,然后点 submit,发现 url 没变化,点击提交之后就跳转到上图这个显示人信息的页面了,住址也修改成功了。

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击
借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

4.回到 burpsuite,查看刚提交地址数据(有用户信息)的过程,burpsuite拦截的数据包,从数据包中的url可以看出,修改用户信息的时候,是不带任何不可预测的认证信息的,那么,这里应该是可以被利用的。发到重发器,修改为其他手机号码,然后放开拦截。手机号成功被更改,攻击成功

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击
借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

POST型CSRF

1.进来也是需要登录,我们先试一下登录lucy账号借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

2.把性别改成boy再提交,查看bp抓的数据包的url有什么特点借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

3.从上图的请求报文来看,和前面⼀样,没有不可预测的认证信息,可以被利用。我们和前面一样发送到重发器,修改电话号码,返回靶场页面,发现电话号码成功被修改,攻击成功!借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

DVWA靶场的crsf攻击

GET型的crsf

1.修改靶场的安全等级为low

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

2.找到 csrf,这里可以进行一个修改密码的实验,这个地方直接就是输入新密码,没有输入原密码的输入框,那么这地方很容易出现 csrf 漏洞,如果需要输入原密码,那么 csrf 就搞不定了,因为有一个数据库校验过程,我们做 csrf 渗透的时候,不知道原密码是什么的借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

3.查看csrf的源代码,发现服务器收到修改密码的请求后,会检查参数password_new与password_conf是否相同,如果相同,就会修改密码,并没有任何的防CSRF机制(当然服务器对请求的发送者是做了身份验证的,是检查的cookie,只是这里的代码没有体现)借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

4.输入新的密码之后就会在地址栏出现相应的链接(是get型所以提交的参数会显示),并提示密码修改成功(123456)

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

5.在同一个浏览器中打开新的页面将上面的链接,把参数password_new与password_conf都改为123,到地址栏并进行访问,此时成功访问

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

6.然后在没有退出原本的登录的情况下(这其实就是真实攻击时,比如,用户登录了京东,在没有退出京东(或身份认证信息还未过期时)打开了新的(攻击者设计好的修改京东登录密码的链接),就会把京东的密码改了),新打开的页面地址栏修改链接的密码为123(原本为123456)并回车,新页面会显示密码修改成功,此时退出登录后重新登录会发现登录密码变为新的123而123456无法登陆:

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击
借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

构造恶意链接

1.生成短链接:https://www.urlc.cn/,访问该网址也是一样的页面。如果用户在没有登陆过这个网站的浏览器上打开这个链接,并不会更改密码,而是跳转到登录界面。因为服务器在接受访问时,首先还要验证用户的cookie,如果浏览器上并没有之前登录留下的cookie,那攻击也就无法奏效。所以CSRF攻击的关键就是利用受害者的cookie向服务器发送伪造请求。

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

bp生成恶意页面

2.真实CSRF攻击中,攻击者为了隐藏自己的攻击手段,可能构造一个假的页面,然后放在公网上,诱导受害者访问这个页面,如果受害者访问了这个页面,那么受害者就会在不知情的情况下完成了CSRF攻击。自己测试可以写一个本地页面,也可以利用burpsuit直接生成攻击页面代码。方法如下: 抓取更改密码的数据包,利用engagement tools生成CDRF POC,访问点击提交之后就可以更改密码。

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

3.复制该代码,保存为test.html

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

4.用IE浏览器打开,点击提交改密码,发现跳转到登录的页面,因为csrf利用的是网址的同源性,因为IE浏览器是没有登录过的,所以没办法更改密码。借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

5.用登录过的火狐浏览器访问,成功改密码借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

感兴趣的可以关注微信 公众号【Cauchy网安】,一起一步步慢慢来,该到达的高度终将会抵达的,加油,如有雷同纯属巧合

原文始发于微信公众号(Cauchy网安):借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月9日16:19:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   借助pikachu和DVWA靶场带你走进跨站请求伪造CSRF攻击http://cn-sec.com/archives/4046437.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息