CtfHub ssrf 文件上传

CtfHub ssrf 文件上传

原理

与CtfHub ssrf Post请求类似,文件上传同样是发出Post请求,只不过Post请求报文中包含有我们的shell文件,关于ssrf post请求在另一篇有解释ssrf post请求

解题

同样,显示访问内网的flag.php文件,也就是url=127.0.0.1/flag.php,可以看到允许文件上传

CtfHub ssrf 文件上传_第1张图片
也是通过file协议看一下flag.php的源码

CtfHub ssrf 文件上传_第2张图片

如上图所示,后端只允许我们通过内网的方式上传文件,如果我们通过上面的文件上传,相当于是从我们本地将文件传输过去,所以会遭到拦截。

从ssrf post请求中学到,可以利用fopher协议,伪造内网上传post请求,我们上传文件同样也是post请求,这样就可以伪造内网上传了

首先上传一个木马文件,通过bp截取下来

CtfHub ssrf 文件上传_第3张图片
把post报文部分复制下来,与上一题也就是ssrf post请求请求相同,进行url编码

同样的需要两次编码,在第一次编码的时候把%0A改成%0D0A,由于换行符过多可以在先复制在记事本里,再通过替换操作,把所有%0A改成%0D0A

接着通过gopher发送请求,木马文件就成功上传了也就得到flag了

你可能感兴趣的:(每周学习)