cms後臺登陸繞過php
練習源碼:【來源:源碼下載】(數據庫配置信息有誤,interesting)mysql
注:需進行安裝sql
一、建立數據庫數據庫
二、設置帳號密碼,鏈接數據庫cookie
3.1 正常登陸後臺,抓包分析數據提交位置【admin/login.php】ui
第三、四、7行:直接獲取提交的數據,未進行參數過濾,可產生SQL注入,繞過登陸驗證 【有js驗證,可直接提交包】spa
注:若系統開啓gpc,則沒法繞過rest
如:adminname=admin' #&adminpass=123123code
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)blog
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界面】