美文网首页
编码实录 —— 跨域伪装攻击CSRF

编码实录 —— 跨域伪装攻击CSRF

作者: holyhigh2 | 来源:发表于2020-12-05 16:34 被阅读0次

重要声明

        进行任何程度的非授权CSRF攻击都属于违法行为!!!

CSRF概念

        Cross-Site Request Forgery 跨站请求伪造 —— 通过伪造成被授权用户对授权服务器开展非法行为,如获取资料、修改/删除资料、造成服务瘫痪等。

准备工作

        postman / 自建服务器(jsp为例)

实录

        首先登录自建服务,在默认使用Session的情况下java(php / .net / python / node / ...) web会通过在Response中设置一个HttpOnly的cookie项sessionID

sessionID

并且会自动加入RequestHeader中,用来标识后续的请求是登录人所发起

后续请求

HttpOnly表示无法通过页面脚本来获取该cookie项,所以也无法通过一个AJAX请求来进行CSRF。相反,CSRF使用更简单的方式 —— 一个隐藏form。

隐藏表单

只要在相同浏览器中,打开另一个页签

伪装按钮

不仅可以伪装成按钮,还可以是图片、链接等,只要能触发form发送的都可以

CSRF攻击成功

可以看到,CSRF请求头中自动包含了sessionID,并且成功拿到了返回数据。

请注意,不要进行CSRF攻击,同时防止被钓鱼!

怎么办?

本质上,无论哪种鉴权方式都存在安全隐患,只是发生和未发生的区别,不然OAuth为什么要出2.0?这里列举一些防止办法仅供参考:

使用payload —— 传统form方式无法提交payload格式请求体,比如刚才的demo,我们换成payload提交,那就会出现400错误,因为服务器只接受payload格式

400请求参数错误

但这只能处理网页CSRF,如果使用工具依然可以进行操作

postman发送请求

postman可以伪造cookie

伪造cookie

验证请求头中的Referer —— 在服务端进行请求源的验证,但存在伪造的可能性

停用cookie —— 使用token,服务端每次返回都在ResponseHeader中加入验证码,并在后续请求中读取header进行验证,或者使用URI重定向返回token。而这一类方式已经有成熟的方案比如OAuth基础/数字验证、等。

最后

无论使用何种前置安全措施,都不要忘记做数据权限的验证!!!

相关文章

  • 编码实录 —— 跨域伪装攻击CSRF

    重要声明 进行任何程度的非授权CSRF攻击都属于违法行为!!! CSRF概念 Cross-Site Request...

  • 9.1 CSRF攻击

    CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪...

  • 最浅显易懂的Django系列教程(41)-CSRF攻击

    CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪...

  • CSRF

    CSRF攻击原理 CSRF Cross-site requestforgery跨站请求伪造,原理攻击者通过伪装成受...

  • CSRF攻击

    什么是CSRF攻击,要如何预防! CSRF全程Cross Site Request Forgery,跨站域请求伪造...

  • CSRF攻击,如何预防

    什么是CSRF攻击,要如何预防! CSRF全程Cross Site Request Forgery,跨站域请求伪造...

  • jsonp与CORS处理跨域

    什么是跨域? 跨域问题是由于浏览器为了防止CSRF攻击,避免恶意攻击而带来的风险而采取的同源策略限制。当一个页面中...

  • [QA]待学知识点

    先占个坑 1.CSRF 什么是CSRF攻击:跨站请求伪造,伪装成来自受信任用户的请求来利用受信任的网站检测CSRF...

  • python

    Python实现斐波那契 image.png 跨域post 及 使用token防止csrf 攻击 https://...

  • Laravel - CSRF 攻击与防御

    CSRF攻击与防御-start 什么是CSRF攻击?CSRF是跨站请求伪造(Cross-site request ...

网友评论

      本文标题:编码实录 —— 跨域伪装攻击CSRF

      本文链接:https://www.haomeiwen.com/subject/xkhgwktx.html