Php审计练习 熊海cms_v1.0

安装系统

访问/install/路径进行安装

本次配置如下,注意php版本不能太高,不然系统是装不上的,这里用的php5.3

image-20230602002030549

项目目录

文件包含

/index.php有一个很明显的文件包含,并且可以进行目录穿越

image-20230602005740326

此外/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;	
	}

image-20230602114348894

链接

这个cms真的是漏洞百出

?r=editcolumn&type=2&id=1%27%20and%20updatexml(1,concat(0x7e,(select%20database()),0x7e),1)–+

image-20230602114822716

image-20230602114604946

XSS

/files/contact.php

漏洞位置:files/contact.php 第12~15行

$page=addslashes($_GET['page']);
if ($page<>""){
if ($page<>1){
$pages="第".$page."页 - ";

这里的$page经过addslashes处理一次带入了页面

0%