【漏洞来源】近期推特网友爆出X平台上有漏洞,可能遭到XSS攻击,当用户点击网址链接,黑客就能够使用你的X账号发文,转推,点赞,封锁等功能,但不能更改用户密码。
如图。推特上的内容就不赘述了,和作者本人交流以后,想要补充一些细节,接下来进入正题。
1. 首先是这个头如何获取的,其实这个很简单,注册两个账号,对点赞推特的请求进行抓包,然后观察请求包可以发现,都是一样的,所以这个头跟身份验证一点关系都没有,随便找一个账号,抓包填上去就行;
2. 然后是点赞推文,抓包得到的这个URL: https://twitter.com/i/api/graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet
发现不存在cors 错误配置,因为少了Access-Control-Allow-Origin 这个头;
3. 可以谷歌语法搜索URL关键部分
4. 发现https://api.twitter.com/
这个域名也可以使用这个api,很好,在BurpSuite里面把域名替换一下,i/api/ 删除掉,Access-Control-Allow-Origin和Access-Control-Allow-Credentials都出现了
5. 当 Origin 修改成https://xxx.twitter.com/
Access-Control-Allow-Origin 再次消失
6. 尝试了各种技巧都没能成功绕过,猜测可能是白名单,可以利用在线网站快速搜集域名进行FUZZ
7. 提取几十个域名后简单地用Burp爆破一下看看结果,如下图,这几个域名都是可以回显的
8. 因为cors的配置,也不能说错误配置,只是说有这样的配置,在这些域名可以向http://api.twitter.com/
发出请求,而且某些api 只需要cookie作为验证,故而有cors配置的以上域名有xss就能成功利用了
9. 然后最后一个问题是如何构造荷载?这个问题我交给ChatGPT来回答,复制你在burp里面的请求包,粘贴到chatgpt对话框,为了方便调试,我一开始是先用https://twitter.com/i/api/graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet
这个url 进行调试
10. 以下是我慢慢驯化它的过程
11. 把AI生成的代码复制下来,在浏览器进行调试
12. 完美,没有任何报错,检查一下自己推特,确实给那条推文点赞了
13. 然后把这个请求url改成https://api.twitter.com/graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet
然后在http://analytics.twitter.com/
域名下的控制台运行代码,之后就报错了,返回一个神奇的404错误
14. 我检查了一下代码才发现,跨域请求需要进行一定设置才会带上Cookie,然后继续问AI,它给我们代码加上了credentials: 'include’
15. 再次运行,ok了,把下面的代码写入到一个js文件里面,利用xss导入这个js文件执行就行,或者也可以像原作者那样编码成base64 然后用eval执行
善用ChatGPT,你会省不少时间和精力,本文旨在进行细节补充,如有问题,欢迎各位师傅斧正!
本公众号ForOne安全的文章主打原创,不翻译,无照搬,属实手动自写,案例来自SRC实战,感谢师傅们的关注与支持!
由于传播or利用本公众号ForOne安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任!
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读