首页 > 数据库 >[GXYCTF2019]BabySQli

[GXYCTF2019]BabySQli

时间:2024-01-13 21:34:03浏览次数:33  
标签:BabySQli admin 查询 wrong GXYCTF2019 md5

[GXYCTF2019]BabySQli

5ig63kJ1HKmHIau3ZbFMRZwNPrgXtC1cPFuPszPFNMM

打开是一个登录页面

8tSJZgSV0y39e8cooii7UthQ9RGTwVpGE6aC4G3xX7Y

任意输入账号密码提示wrong user

H5e0_Iw39wZ75DyrUvif58K659H6s04lJqT_PruoEWg

输入admin提示wrong pass,说明有admin的账号

bBnYSWA8weg8C7Th9FGPegYXkW6rJHUzgiDCXBPCVRU

并且在页面源代码中发现一串经过编码后的字符串

iJaZZVkKi2ClQHNrGiCr2y-4J2D8OjMrbe_y_ArULSI

经过base32和base64解码后得到SQL语句

U8jxT2z0rOnWYnXuPlT1gWbpF2UO6Gh7yJyTkMTiLrI

使用万能密码进行尝试,得到do not hack me!的结果

dtGWr_avxQX7uxUD1Zw0uyUYjKZe3DavR1yUIfjyCW4

根据源码提示,我们使用union select进行联合注入

j4EwxtNkcbxp3dpUfJulSUjzXGWPzWBX4U-aGL4UfrA

2列显示列数不对,猜测为3列

fLYIMu_zFXPB-BtK_rGioaxanPYQJ8isB_5GnWypaIs

第一列改为admin时结果不变,说明位置选错了,改为第二列进行尝试

Lt4-aGQkO6_UbkVFhd-H2VjMTXxO6KCLq8Dl4DDpiHw

SGkwjrTp-72GxdjpcrQpLZJ51H04yd-6R1CUlfsvJPE

后续的步骤参考了师傅们的WP才解开,这里是猜测登录逻辑里使用了md5函数对密码进行处理,源码中显示确实使用了md5函数

if($arr[1] == "admin"){
			if(md5($password) == $arr[2]){
				echo $flag;
			}
			else{
				die("wrong pass!");
			}
		}

然后可以用联合查询语句用来生成虚拟的表数据。

在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据。

YssXRz8au83k_mB187r5uwAFXwk_zy0qGY138D5CejQ

我们通过union select查询就可以构造一行虚拟的数据

mHEpFv7j-qL2R7j9_HMr0vFlb9skqtABcAunIYchuFw

因此可以利用联合查询来创建一行admin账户的虚拟数据,混淆admin用户的密码,将我们自定义的admin用户的密码(123)加进去,就可以登录admin用户了

RIdI6KLOxtG8VlKFC7RLw3mV2wLPGqK997hvaWqZOFk

标签:BabySQli,admin,查询,wrong,GXYCTF2019,md5
From: https://www.cnblogs.com/fishjumpriver/p/17962983

相关文章

  • [GXYCTF2019]BabyUpload
    [GXYCTF2019]BabyUpload打开靶场看到个上传文件的选项,应该是上传文件漏洞上传个一句话木马文件尝试<?phpeval($_POST['cmd']);?>提示不能带有php的后缀改成jpg后缀,提示“上传类型也太露骨了吧!”修改了Content-Type为image/jpeg还是不行换了一种一句话木马GIF89a<sc......
  • [GXYCTF2019]Ping Ping Ping 1
    [GXYCTF2019]PingPingPing1审题由标题和内容,我们可以想到Linux的命令执行。并且由内容/?ip=,看出用GET注入ip变量来读取flag知识点Linux的命令执行,空格的绕过知识点详解在Linux中,竖线符号"|"和分号符号";"具有不同的作用。竖线符号"|"(管道符号):在Linux......
  • 【?】Web_BUUCTF_WriteUp | [GXYCTF2019]Ping Ping Ping
    题目分析ping一个任意ip:拼一个命令试试:看来是命令执行漏洞,直接查看flag.php,发现存在空格过滤:尝试绕过空格过滤:还有{}符号过滤。过滤了flag关键字,尝试绕过:过滤了单双引号。\符号、\$+数字、\$+@没有用。变量拼接没有输出。看看index.php:......
  • [GXYCTF2019]BabyUpload
    题目附件如下。<?phpsession_start();echo"<metahttp-equiv=\"Content-Type\"content=\"text/html;charset=utf-8\"/><title>Upload</title><formaction=\"\"method=\"post\"enctype=\......
  • [GXYCTF2019]禁止套娃
    原理.git泄露,githack获取源码无参RCE执行解题过程进入靶场,每看到有用的信息,那就只能目录扫描了,扫到了.git目录,就用githack获取源码<?phpinclude"flag.php";echo"flag在哪里呢?<br>";if(isset($_GET['exp'])){if(!preg_match('/data:\/\/|filter:\/\/|php:\/......
  • [GXYCTF2019]Ping Ping Ping 1
    原理RCE命令执行的多种绕过姿势解题过程进入靶场提示要传递参数ip那就传递一下127.0.0.1,结果正常试试进行拼接,试了127.0.0.1&&ls或者127.0.0.1&ls都不行,,,直到用;做连接符才可以payload:127.0.0.1;ls发现有index.php和flag.php文件,猜测flag应该在flag.php内接着尝试读取......
  • Buuctf——[GXYCTF2019]BabySQli
    本题目是一道联合注入进入页面后发现只有一个登录框。知识点unionselect联合查询union拼接的两个查询语句查询字段数必须一样多当其中一个查询结果为空时,不影响另外一个语句的查询结果联合注入核心是使用拼接的select语句同时使原查询语句结果为空来覆盖原查询结果,从而实......
  • [GXYCTF2019]Ping Ping Ping
    [GXYCTF2019]PingPingPing题目来源:buuctf题目类型:web涉及考点:命令执行1.题目页面如下:我们将其作为参数传入,/?ip=127.0.0.1,回显如下:接下来通过命令行查看目录:/?ip=127.0.0.1;ls2.发现了flag.php,直接查看/?ip=127.0.0.1;catflag.php发现空格被过滤了,我们采取以下......
  • BUUCTF:[GXYCTF2019]禁止套娃
    https://buuoj.cn/challenges#[GXYCTF2019]%E7%A6%81%E6%AD%A2%E5%A5%97%E5%A8%83.git泄露,使用GitHackindex.php<?phpinclude"flag.php";echo"flag在哪里呢?<br>";if(isset($_GET['exp'])){if(!preg_match('/data:\/\/|fil......
  • [GXYCTF2019]Ping Ping Ping 1
    先尝试输入ip=127.0.0.1发现啥也没有再次在后面输入ls查看文件发现有两个文件Cat一下发现有空格过滤进行空格绕过$(IFS)(?ip=127.0.0.1;cat$IFS$1flag.php)发现符合也进行了过滤尝试进行拼接flag?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php发现flag......