我们要利用一个CSRF漏洞去***的时候,常会在第三方站点使用资源请求的方式加载存在漏洞的CSRF接口,当用户访问这个页面的时候就会偷偷的发送http request到漏洞站点,即***成功。实例利用代码:


<img src="http://www.woyigui.cn/index.php?csrf=woyigui">

使用资源发送http request的方法很多,带上认证信息的属性如:SRC、background等,标签可使用img、script、css等。

正常使用html标签去加载所需要的资源的时候,对应的类型是一致的,如:
script的SRC对应:application/javascript
img的SRC对应:img/jpeg、img/png
任意标签的background-p_w_picpath对应的是:img/jpeg、img/png

和正常加载相反的是:我们进行CSRF***的时候请求的接口正好返回的 text/html 类型,这就与正常的请求有区别了。
我们看一下正常与CSRF***在浏览器中的发起源的区别:


//img src CSRF 对比
<img src="http://www.baidu.com/img/baidu_sylogo1.gif" />
<img src="http://www.woyigui.cn/index.php?csrf=woyigui" />//script src CSRF 对比
<script src="http://www.baidu.com/js/bdsug.js?v=1.0.3.0"></script>
<script src="http://www.woyigui.cn/index.php?csrf=woyigui"></script>

看一下他们的发起源信息:

可以看到,区别是有的,script、img去请求的http api却是text/html的,这是有问题的,可能就是CSRF***。
当然有些站点常常就是请求一些text/html的类型,如callback回调函数api等。如:


//误报
<script src="http://www.woyigui.cn/my/alert.html"></script>

基于如上的对比与分析,我们可以在浏览器中这样做:
1、如果当前页面中的资源请求标签请求的是非正常类型资源,进行提示用户,或者阻断此请求;
2、为了解决误报,可配合其他防范策略,如:第三方域为黑名单等。

此文在刚逛物美想到的,如有缺陷,请找我交流,感谢。

转载请注明:woyigui's blog [http://www.woyigui.cn/]
本文标题:基于发起源判断CSRF***的方法
本文地址:http://www.woyigui.cn/2011/11/26/httprequestsource-csrf/

转载于:https://blog.51cto.com/fcinbj/800350

基于发起源判断CSRF***的方法相关推荐

  1. 皮带撕裂检测matlab,基于机器视觉的皮带纵向撕裂检测方法

    基于机器视觉的皮带纵向撕裂检测方法 [技术领域] [0001] 本发明设及一种带式输送机皮带纵向撕裂检测方法,尤其设及一种基于机器视觉 的非接触式的皮带纵向撕裂检测方法. [背景技术] [0002] ...

  2. 【金猿技术展】基于数据控制三维组态的方法及装置——实现数据驱动三维模型的精准运转技术...

    数字冰雹技术 本项目由数字冰雹投递并参与"数据猿年度金猿策划活动--2021大数据产业创新技术突破榜榜单及奖项"评选. 数据智能产业创新服务媒体 --聚焦数智 · 改变商业 基于数 ...

  3. 疲劳驾驶监测方案_一种基于手机的疲劳驾驶监测方法与流程

    本发明属于安全驾驶领域,具体涉及一种基于手机的疲劳驾驶监测方法. 背景技术: 疲劳驾驶是指驾驶员在长时间连续行车后,产生生理机能和心理机能的失调,从而在客观上出现的驾驶技能和反应下降的现象.若驾驶员在 ...

  4. matlab波特一致性,一种基于MATLAB的数据一致性的分析方法与流程

    本发明属于电机性能数据的处理和分析技术领域,尤其涉及一种基于 MATLAB的数据一致性的分析方法. 背景技术: MATLAB是一种基于算法开发.数据可视化.数据分析以及数值计算的计算机高级编程语言和交 ...

  5. matlab怎么创建测试程序,基于MATLAB的自动化测试系统及方法与流程

    本发明涉及一种自动化测试系统及方法,特别涉及一种基于MATLAB的自动化测试系统及方法. 背景技术: 目前,无线电技术的应用越来越广,相关产品在日常生活中已经是无处不在.对于生产无线电产品的厂家来说, ...

  6. matlab 自动化,基于MATLAB的自动化测试系统及方法技术方案

    [技术实现步骤摘要] 基于MATLAB的自动化测试系统及方法 本专利技术涉及一种自动化测试系统及方法,特别涉及一种基于MATLAB的自动化测试系统及方法. 技术介绍 目前,无线电技术的应用越来越广,相 ...

  7. 干货!基于表征的噪声转移矩阵估计方法

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 当训练数据集有标签噪声时,我们通常用噪声转移矩阵来刻画一个训练数据点被错误标注的概率.准确地估计该矩阵对于带噪学习具有重要意义.传统的估 ...

  8. android蓝牙传输脉冲,一种基于Android操作系统的激光测距仪蓝牙通信方法与流程...

    本发明属于无线通信技术领域,涉及Android操作系统的应用,具体涉及一种基于Android操作系统的激光测距仪蓝牙通信方法. 背景技术: 目前,随着智能设备的普及,智能操作系统得到了极大的发展,An ...

  9. Python|装饰器|执行时间|递归|动态属性|静态方法和类|继承和多态|isinstance类型判断|溢出|“魔法”方法|语言基础50课:学习记录(6)-函数的高级应用、面向对象编程、进阶及应用

    文章目录 系列目录 原项目地址: 第16课:函数的高级应用 装饰器(记录执行时间的例子) 递归调用 简单的总结 第17课:面向对象编程入门 类和对象 定义类 创建和使用对象 初始化方法 打印对象 面向 ...

最新文章

  1. 用作键提取器的函数的 Boost.MultiIndex 示例
  2. 多行并一行显示的两种方式(DB2)
  3. 5c用计算机怎么打,再一次谈谈%5c暴库的利用 -电脑资料
  4. ceph中pool的管理
  5. 算法竞赛中的输入输出框架
  6. 软件工程师的衰落与程序技术员的兴起
  7. Android多线程--AsyncTask
  8. Qt中Q_OBJECT与生成的moc文件的作用
  9. Linux常见问题解答--如何修复“tar:Exiting with failure status due to previous errors”
  10. MYSQL导入导出.sql文件
  11. 漫画算法python版下载_漫画算法:小灰的算法之旅(Python篇)
  12. Unity播放序列帧
  13. freeMarker(四)——模板开发指南之模板
  14. 怎么查ip地址 多种方法教学
  15. 完美屏蔽中国移动,四川手机报发的信息。
  16. Cadence allegro PCB快速自动创建差分对
  17. Android ROM适配基础
  18. 缺少编解码器,错误代码0xc00d5212 WIN10中AVI格式文件无法播放
  19. 解决Class “xxx“ can not access a member of class “xxx“ with modifiers “private“
  20. GUVC-S10GD 紫外光传感器 韩国GENICOM光电光传感器纯UV-C监控

热门文章

  1. 如何在div中垂直对齐图像
  2. JavaScript截断/切片/修剪掉字符串中的最后一个字符
  3. html view设置全屏,uni-app 如何设置web-view 不全屏,不自动铺满,动态控制web-view的高度...
  4. python 全局解释器锁_python全局解释器锁(GIL)
  5. SpringBoot:Unable to start LiveReload server(已解决)
  6. 大佬是如何实现本地通讯的?
  7. 测试礼让线程(Java)
  8. 视频标签- video 音频标签- audio
  9. debian之自启动程序
  10. mysql之查询最近7天的数据