首页 > 代码库 > PHP代码审计5-实战漏洞挖掘-cms后台登录绕过
PHP代码审计5-实战漏洞挖掘-cms后台登录绕过
cms后台登录绕过
练习源码:【来源:源码下载】(数据库配置信息有误,interesting)
注:需进行安装
1、创建数据库
2、设置账号密码,连接数据库
3.1 正常登录后台,抓包分析数据提交位置【admin/login.php】
第3、4、7行:直接获取提交的数据,未进行参数过滤,可产生SQL注入,绕过登录验证 【有js验证,可直接提交包】
注:若系统开启gpc,则无法绕过
如:adminname=admin‘ #&adminpass=123123
1 <?php 2 require ‘../config.php‘; 3 $adminname = $_POST[‘adminname‘]; 4 $adminpass = $_POST[‘adminpass‘]; 5 $adminpass .= "Axphp.com"; 6 $adminpass = md5($adminpass); 7 $adminsql = "select * from axphp_admin where adminname=‘$adminname‘ and adminpass=‘$adminpass‘"; 8 $adminery = mysql_query($adminsql, $config); 9 $adminnum = mysql_num_rows($adminery); 10 if ($adminnum == "1") { 11 setcookie("admin", "Y", time() + 3600, ‘/‘); 12 setcookie("admin_name", $adminname, time() + 3600, ‘/‘); 13 header("location:axadmin.php"); 14 } else { 15 header("location:axphp.php"); 16 } 17 ?>
3.2 若要登录后台,需进行验证(admin/admin_pass.php)
1 <?php 2 require ‘check.php‘; 3 require ‘../template/axadmin/head.php‘; 4 require ‘../template/axadmin/banner.php‘; 5 require ‘../template/axadmin/admin_pass.php‘; 6 require ‘../template/axadmin/bottom.php‘ 7 ?>
#加载了check.php进行验证
1 <?php 2 error_reporting(0); 3 isset($_COOKIE[‘admin‘])?$check=$_COOKIE[‘admin‘]:$check=null; 4 isset($_COOKIE[‘admin_name‘])?$admin_user=$_COOKIE[‘admin_name‘]:$user=null; 5 if($check==null){header("Location:../index.php");exit;} 6 ?>
第3行,可通过直接在数据包中设置cookie:admin 绕过登录验证,登录后台;第4行,不起作用
【如果cookie为空,跳转/index.php界面】
PHP代码审计5-实战漏洞挖掘-cms后台登录绕过
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。