【10.15总结】绕过CSRF的Referer保护
今天下午可能要出远门,所以现在就把总结写好了。
Write-up地址:[Critical] Bypass CSRF protection on IBM
这个CSRF漏洞存在于IBM的修改邮箱页面,修改邮箱的地址是
https://www.ibm.com/ibmweb/myibm/account/sendmail?locale=us-en&email=NEW_EMAIL
所以理论上讲,只要修改上面链接中的NEW_EMAIL为自己的邮箱,被攻击者在登录了自己的IBM账户后点击该链接,就能达到修改被攻击者邮箱的目的。
但是作者Mohamed Sayed在尝试时,发现IBM会检测请求发出的Referer头部,正常修改邮箱的请求Referer头部为
https://www.ibm.com/ibmweb/myibm/profile/profile-edit.jsp
作者经过几个小时的尝试,发现使用下面的Referer头部可以成功绕过IBM的验证
http://my_website/www.ibm.com/ibmweb/myibm/profile/profile-edit.jsp.php
在测试漏洞时,作者使用了Moakt的临时邮箱服务生成了一个临时邮箱地址作为NEW_EMAIL,在自己的网站上创建文件profile-edi.jsp.php
<script type="text/javascript">
document.location.href="https://www.ibm.com/ibmweb/myibm/account/sendmail?locale=us-en&email=NEW_EMAIL"
</script>
这样,只要欺骗被攻击者访问该网页,就可以在自己生成的临时邮箱里收到确认修改邮箱的邮件,成功修改被攻击者IBM账号的邮箱了。
其实这个漏洞原理很简单,我之前在看对CSRF介绍的文章时也有看到过验证Referer的防御手段,只是真实案例是第一次接触,所以仍然很有新鲜感。从该案例也可以看出,CSRF可以使用验证Referer头部的方式进行防御,但是网站对Referer的验证方法仍然可能存在漏洞,需要进行不断的尝试。
今天还看了另外一篇文章DevOops — An XML External Entity (XXE) HackTheBox Walkthrough,一开始没明白文章中提到的DevOops是什么东西,只是觉得可以通过这篇文章了解一下渗透测试的简单流程,后来谷歌了一下,才发现Hack the box是一个在线的渗透测试平台,感觉还蛮不错的,注册需要通过一个小测试,并不难,虽然网上已经有教程了,但我还是遵守规则不说出通过测试的方法,只是一个小tip——看网页的源码。
【10.15总结】绕过CSRF的Referer保护的更多相关文章
- sqlmap和burpsuite绕过csrf token进行SQL注入检测
利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...
- macOS 10.15 开启 HiDPI
普通的显示,接上 MacBook 发现原生的分辨率设置在 2K 显示器上字体很小,换成 1080P 分辨率显示效果又特别模糊.下面介绍MacBook强行开启 HiDPI. 什么是 HiDPI 它使用横 ...
- OS X更新Catalina 10.15.2后虚拟机黑屏(已解决)
简述 问题:更新OS X 10.15.2后VM Ware进unbuntu 16.0黑屏,但是VM Ware 有显示,情况类似如下: 解决办法 重启系统,command+r 进入恢复模式,打开bas ...
- 背水一战 Windows 10 (15) - 动画: 缓动动画
[源码下载] 背水一战 Windows 10 (15) - 动画: 缓动动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 缓动动画 - easing 示例演示缓动(easing ...
- Linux Kernel 3.11.4/3.10.15/3.4.65/3.0.99
Linux 今天又发布了4个更新版本,分别是: 3.11.4 2013-10-05 [tar.xz] [pgp] [patch] [view patch] [view inc] [cgit] [cha ...
- CVE-2015-1328 Ubuntu 12.04, 14.04, 14.10, 15.04 overlayfs Local Root
catalog . 引言 . Description . Effected Scope . Exploit Analysis . Principle Of Vulnerability . Patch ...
- WTL汉化版2013.10.15
汉化内容: 2013.10.15 版本:当前可下载Trunk最新版,wtl-code-467-trunk.zip 汉化内容: 1.应用向导的部分汉化,考虑到部分词汇的表述问题,只汉化无影响部分 2.资 ...
- [Mon Feb 10 15:21:06 2014] [notice] child pid 7101 exit signal File size limit exceeded (25)
今天遇到的问题: LAMP的LOG里报如下错误. 然后IE和FIREFOX里显示连接被重置或是无法访问. 但自己建一个正常的PHP测试探针倒可以. 原来是PHP错误日志太多,无法写入LOG导致. [r ...
- Datatables插件1.10.15版本服务器处理模式ajax获取分页数据实例解析
一.问题描述 前端需要使用表格来展示数据,找了一些插件,最后确定使用dataTables组件来做. 后端的分页接口已经写好了,不能修改.接口需要传入页码(pageNumber)和页面显示数据条数(pa ...
随机推荐
- create alter rename desc select update delete insert
conn scott/root;create table student (id number(3), name varchar2(10), sex char(2), sno number(3));a ...
- 转:oracle 事务
原文地址:http://blog.csdn.net/junmail/article/details/5556561 关于Oracle事务的总结 1.什么是事务,事务的特性是什么? 事务的任务便是使数据 ...
- [翻译] ios-image-filters
ios-image-filters https://github.com/esilverberg/ios-image-filters photoshop-style filter interface ...
- 铁乐学Python_day07_集合and浅谈深浅copy
1.[List补充] 在循环一个列表时,最好不要使用元素和索引进行删除操作,一旦删除,索引会随之改变,容易出错. 如果想不出错,可以采用倒着删除的方法,因为倒着删除进行的话,只是后面元素的位置发生了变 ...
- XtraEditors一、总体介绍
一.所有编辑器的公共功能 全部都可以绑定数据: 全部都可以独立使用或用于由 Developer Express 提供的容器控件 (XtraGrid.XtraVerticalGrid.XtraTreeL ...
- 关于markdown格式的测试..
标题 标题一 这是? 标题二 标题三 标题四 区块 1.这是一个列表项目 还是吗? 嵌套了? 空格了? 区块加列表 标题加二级列表 嘿嘿 无序列表 RED GREEN BLUE 有序列表 dog ca ...
- PHP设计模式系列 - 单例
单例模式 通过提供自身共享实例的访问,单例设计模式用于限制特定对象只能被创建一次. 使用场景 例如数据库实例,一般都会走单例模式. 单例模式可以减少类的实例化 代码:来源InitPHP框架,先检测类有 ...
- exits, in, left join性能比较
exits in left join性能比较 ,笔者使用的是MYSQL数据库,这三个关键字方法在其他的关系数据库里也是大同小异,如果各种有兴趣,自行比较. 我这里有一个249_account 表,总 ...
- 浅谈 JSONP
说起跨域的解决方案,总是会说到 JSONP,但是很多时候都没有仔细去了解过 JSONP,可能是因为现在 JSONP 用的不是很多(多数时候都是配置响应头实现跨域),也可能是因为用 JSONP 的场景一 ...
- struts2中的文件上传和下载
天下大事,必做于细.天下难事,必作于易. 以前见过某些人,基础的知识还不扎实就去学习更难的事,这样必定在学习新的知识会非常迷惑结果 再回来又一次学习一下没有搞懂的知识,这必定会导致学习效率的下降!我写 ...