php代码审计篇熊海cms代码审计

文章目录

自动审计

看到有很多

逐个分析

首页index.php文件包含漏洞

读一下代码,可以看到很明显的一个文件包含

bash 复制代码
<?php
//单一入口模式
error_reporting(0); //关闭错误显示
$file=addslashes($_GET['r']); //接收文件名
$action=$file==''?'index':$file; //判断为空或者等于index
include('files/'.$action.'.php'); //载入相应文件
?>

测试一下,在网站首页新建一个文件,写上phpinfo

构造漏洞url,代码执行成功

后台逻辑漏洞cookie绕过登录

后台源码,载入了files/index.php。这段代码可以看出,后台页面应该是/admin/r=index

bash 复制代码
<?php
//单一入口模式
error_reporting(0); //关闭错误显示
$file=addslashes($_GET['r']); //接收文件名
$action=$file==''?'index':$file; //判断为空或者等于index
include('files/'.$action.'.php'); //载入相应文件
?>

进入files/index.php查看,引用了这几个文件

bash 复制代码
<?php
require '../inc/checklogin.php';
require '../inc/conn.php';
$indexopen='class="open"';
?>

跟进/inc/checklogin.php,看到只验证了cookie里的user是否不为空

bash 复制代码
<?php
$user=$_COOKIE['user'];
if ($user==""){
header("Location: ?r=login");
exit;	
}
?>

实验,cookie里新增一个user,值随便填

成功进入后台

后台sql报错注入

直接账号处构造pyload

bash 复制代码
111' or extractvalue(0x0a,concat(0x0a,(select database())))#

成功爆出数据库名

存储型XSS

前台评论处,这些参数有些地方存在xss

bash 复制代码
<?php
session_start();
require 'inc/conn.php';
$type=addslashes($_GET['type']);
$name=$_POST['name'];
$mail=$_POST['mail'];
$url=$_POST['url'];
$content=$_POST['content'];
$cid=$_POST['cid'];
$ip=$_SERVER["REMOTE_ADDR"];
$tz=$_POST['tz'];
if ($tz==""){$tz=0;}
$jz=$_POST['jz'];

后台栏目编辑处也存在xss,不过是在后台,比较鸡肋,可以自己找下

结束吧

相关推荐
会开花的二叉树几秒前
Qt信号槽这套机制
开发语言·qt
AI人工智能+电脑小能手4 分钟前
【大白话说Java面试题 第58题】【JVM篇】第18题:讲一下三色标记
java·开发语言·jvm
99乘法口诀万物皆可变4 分钟前
面向电池管理系统(BMS)的 C++ 实时仿真内核
开发语言·c++
huaiixinsi4 分钟前
Java 后端面试高频题整理(02)
java·开发语言·spring·面试·职场和发展·架构·maven
SilentSamsara6 分钟前
自定义上下文管理器实战:数据库连接池、文件锁与超时控制
开发语言·python·算法·青少年编程
小短腿的代码世界17 分钟前
从KB到字节:Qt行情数据压缩与传输优化的全链路透视——LZ4、Snappy与自定义二进制协议的极限压榨
开发语言·qt
灵机一物33 分钟前
灵机一物AI原生电商小程序、PC端(已上线)-【技术深度解析】Bun 6 天 AI 重写 96 万行代码:从 Zig 迁移 Rust 全流程与行业影响
开发语言·人工智能·rust
Nontee34 分钟前
Java 后端面试题目全集
java·开发语言·面试
lsx20240638 分钟前
CSS 选择器
开发语言
Chase_______1 小时前
【Java杂项】0.1 + 0.2 为什么不等于 0.3?IEEE 754 与 BigDecimal 精度避坑
java·开发语言·python