实战篇——CSRF漏洞pikachu靶场实战

实战篇——CSRF漏洞pikachu靶场实战

CSRF的原理

攻击者利用用户在某个网站上的已登录状态,诱使用户点击恶意链接,恶意页面会向服务器自动发送预先准备好的恶意请求。由于请求中自动包含了用户的认证凭证,服务器会误以为是合法的用户操作,从而执行恶意请求。

CSRF的分类

(1) GET型

点击submit,抓包:

image-20240710003845501

image-20240710003915746

构造恶意链接:

http://192.168.118.147/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=11111111111&add=nba+lakes&email=kobe%40pikachu.com&submit=submit

点击恶意链接,成功修改电话号码:

image-20240710004342895

(2) POST型

点击submit,抓包:

image-20240710004521086

image-20240710004547086

生成CSRF PoC:

image-20240710004700032

在第三方服务器上构造恶意页面:

此处在原有PoC的基础上进行了一定的修改,首先通过JS脚本实现按钮的自动点击,其次将按钮设置为不可见。

image-20240710004802470

点击恶意页面对应的链接,成功修改电话号码:

image-20240710005113844

CSRF的防御

1.使用同站策略SameSite Policy:

Strict禁止Cookie在跨站请求中发送,Lax禁止Cookie在跨站Post请求中发送,None允许Cookie在跨站请求中发送

2.使用CSRF Token,将一个随机字符串隐藏到页面中,第三方站点受到同源策略的限制无法获得。

3.对请求头中的Referer字段或其他自定义字段进行验证。

posted @ 2024-07-10 01:04  yaoguyuan  阅读(980)  评论(0)    收藏  举报