网络安全基础学习——CSRF(跨站请求伪造)

CSRF-跨站请求伪造

什么是CSRF

    CSRF(跨站请求伪造)攻击者诱导已登录目标网站的受害者,访问一个精心构造的恶意页面,该恶意页面会自动向目标网站发送携带受害者认证凭证的请求,从而以受害者的身份执行操作。

常见的修改密码、分享文章、点赞、发信息等功能处,都可能存在CSRF漏洞。

CSRF漏洞产生的原因:

    浏览器自动带Cookie的安全机制,被利用来“冒充”用户发起请求,而网站又无法分辨这个请求是不是用户本人的真实意愿。

CSRF漏洞存在的危害:

修改账户信息,篡改数据;

利用管理员账号,上传木马文件,实现恶意操作;

传播蠕虫病毒;

和其他攻击手段配合,实现攻击如XSS、SQL注入等

CSRF攻击流程:

CSRF检测方法:

      一、手工检测:
  1. 找到敏感操作接口:修改密码、修改邮箱、转账、发布内容、删除数据等
  2. 分析请求结构:是GET还是POST?是否有token?Token是否可预测;
  3. 构造POC:移除Referer头,构造跨域请求,观察是否成功;
  4. 验证token机制:尝试删除Token、使用旧Token、使用他人Token
    二、Burp Suite检测:

CSRF修复


    1. 对关键操作增加token参数,token值必须随机,每次都不一样;
    2. 对Referer进行验证;
    3. 添加二次确认,比如修改密码时需要验证码;

CSRF绕过:

    一、绕过Referer限制
  1. 若验证referer字段是否包含网站域名a.com,可以尝试自己申请一个域名b.com,然后尝试添加子域名绕过:a.com.b.com;
  2. 若验证Referer字段是否包含host,也是同样的方法,添加子域名:1.1.1.1.b.com
  3. 直接将Referer字段删除
    二、绕过token限制
1. 将token字段删除或者制空;
2. 使用固定的CSRF_token,若服务器只检查CSRF_token是否有值,而不与当前用户做匹配,则可能绕过;

靶场练习

1、登录

2、抓取数据包:
3、抓取到的数据包:
4、构造poc

使用burp suite自带工具构造poc

5、复制HTML代码:

6、保存为.html文件,并修改数据:

7、修改成功

声明:本文由作者(Morning学安全)原创整理,未经许可禁止转载、洗稿、商用。内容仅作网络安全学习、研究与防御教学使用,严禁未授权攻击、渗透、窃取数据等违法行为。请严格遵守《网络安全法》《刑法》相关条例,所有实验操作风险及法律责任由读者自行承担。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容