zoukankan      html  css  js  c++  java
  • 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界面】

     

  • 相关阅读:
    mysql学习【第4篇】:数据库之数据类型
    mysql学习【第3篇】:数据库之增删改查操作
    mysql学习【第2篇】:基本操作和存储引擎
    mysql学习【第1篇】:数据库安装
    模块
    面向对象 之 反射 内置方法
    面向对象 的属性 类方法 静态方法
    python day
    day 18 面向对象的 继承
    python day
  • 原文地址:https://www.cnblogs.com/zixuanfy/p/6105834.html
Copyright © 2011-2022 走看看