Php审计练习 熊海cms_v1.0
Contents
安装系统
访问/install/路径进行安装
本次配置如下,注意php版本不能太高,不然系统是装不上的,这里用的php5.3
项目目录
文件包含
/index.php有一个很明显的文件包含,并且可以进行目录穿越
此外/admin/index.php也有一个一样的文件包含
SQL注入
登录
后台登陆地址没有进行过滤,但是进行了两次if判断,不过漏洞点在于用户名的if判断进行了sql报错,可以报错注入
登录逻辑大概就是走index.php然后跳到login.php,进行用户名和密码的两个if验证,成功的话就设置一个cookie,然后再回到index进行中转,之后在进入后台页面之前先进行checklogin的判断,判断的规则是根据cookie,这里的判断也是存在漏洞的,判定存在cookie就放行进入后台页面
if ($login<>""){
$query = "SELECT * FROM manage WHERE user='$user'";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$users = mysql_fetch_array($result);
if (!mysql_num_rows($result)) {
echo "<Script language=JavaScript>alert('抱歉,用户名或者密码错误。');history.back();</Script>";
exit;
}else{
$passwords=$users['password'];
if(md5($password)<>$passwords){
echo "<Script language=JavaScript>alert('抱歉,用户名或者密码错误。');history.back();</Script>";
exit;
}
链接
这个cms真的是漏洞百出
?r=editcolumn&type=2&id=1%27%20and%20updatexml(1,concat(0x7e,(select%20database()),0x7e),1)–+
XSS
/files/contact.php
漏洞位置:files/contact.php 第12~15行
$page=addslashes($_GET['page']);
if ($page<>""){
if ($page<>1){
$pages="第".$page."页 - ";
这里的$page经过addslashes处理一次带入了页面