看颖师傅博客学习了新姿势。题目给了一个输入框,输入网址可以把其转为pdf供下载。
下载完是这样的:
在buu上用小号开了个靶机(174.0.35.177),监听然后在题目的框上输入ip和端口,看下此题的请求:
有一个非常惹眼的UA:
User-Agent: WeasyPrint 51 (http://weasyprint.org/)
问题就出在了
<link>
标签上。WeasyPrint会把所有你给它的东西(前提是它支持的)都请求一遍然后放在PDF里,虽然有些东西可能不可见,但是确实是存在的。于是就有了这样的攻击方式:
它不会渲染 js,但是加载file://
可以实现SSRF+任意文件读取。在靶机里写一个简单的html,引入payload:
<html> <body> <link rel='attachment' href='file:///flag'> </body> </html>
使用pdfdetach查看flag。它是Xpdf工具包的命令行工具之一,可以从PDF文件中提取附件。