PHP代码审计0day复现
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
前言
本次审计用到的工具有:seay+昆仑镜进行漏洞扫描
本次审计kkcms
搭建步骤
常见的目录结构,简单了解一下其作用
- admin 后台管理目录
- css CSS样式表目录
- data 系统处理数据相关目录
- install 网页安装目录
- images 系统图片存放目录
- template 模板
- system 管理目录
代码审计
验证码重用
admin/cms_login.php
源码如下
<?php
require_once('../system/inc.php');
if(isset($_POST['submit'])){
if ($_SESSION['verifycode'] != $_POST['verifycode']) {
alert_href('验证码错误','cms_login.php');
}
null_back($_POST['a_name'],'请输入用户名');
null_back($_POST['a_password'],'请输入密码');
null_back($_POST['verifycode'],'请输入验证码');
$a_name = $_POST['a_name'];
$a_password = $_POST['a_password'];
$sql = 'select * from xtcms_manager where m_name = "'.$a_name.'" and m_password = "'.md5($a_password).'"';
$result = mysql_query($sql);
if(!! $row = mysql_fetch_array($result)){
setcookie('admin_name',$row['m_name']);
setcookie('admin_password',$row['m_password']);
header('location:cms_welcome.php');
}else{
alert_href('用户名或密码错误','cms_login.php');
}
}
?>
验证码的校验代码
if ($_SESSION['verifycode'] != $_POST['verifycode']) {
alert_href('验证码错误','cms_login.php');
}
不难发现这里是将$_SESSION['verifycode']
与POST上传的verifycode
相比较,如果不相等就会刷新跳转,重新回到登录处,此时验证码也会被更新。
我们进入前端界面看一下
发现验证码js对应处存在文件,跟进查看一下
<?php
session_start();
$image = imagecreate
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录