首页 > 数据库 >[GXYCTF2019]BabySQli

[GXYCTF2019]BabySQli

时间:2024-11-10 22:31:50浏览次数:3  
标签:username BabySQli name admin password GXYCTF2019 select pw

题目链接:[GXYCTF2019]BabySQli

个人认为这道题是脑洞题(当然也跟基础业务知识不够有关)。

打开题目后环境如下。

只有一个登录框,因此常规操作,先测试一下看看。

通过多次输入不同的 UserName、password 发现,存在 admin 用户,并且可以遍历 UserName。

接下来尝试注入,发现似乎只有 Username 处可注入,而 password 处不可注入。

Payload:name=admin'&pw=admin

这时,留意到响应包中存在一些注释。

<!--MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5-->

将其 Base32 解码,随后再 Base64 解码,得到:select * from user where username = '$name'

在此处,可以猜测 username 与 password 是分开验证,且一般来说,password 不会是明文比对,一般是摘要算法处理后进行比对。

继续在 username 处进行注入。

通过使用 Payload:name=admin' union select 1,2 ;#&pw=adminname=admin' union select 1,2,3 ;#&pw=admin,观察响应包内容,可以发现后端查询后是返回了 3 列数据。

猜测后端是通过 md5 函数计算了前端用户提交的 password,再跟后端查询到的 SQL 结果集中的(摘要)密码进行比对,若一致,则成功登陆。因此,可以先构造一个 username 为 1(真实后端中不存在 username 为 1 的用户),从而使得 SQL 结果集为空,再通过 SQL 注入,union 拼接了其他的数据,最终实现成功登陆 admin 账户。

Payload:1' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e';#&pw=123456e10adc3949ba59abbe56e057f20f883e 即 "123456" 的 md5 摘要)。

获得 flag。

标签:username,BabySQli,name,admin,password,GXYCTF2019,select,pw
From: https://www.cnblogs.com/imtaieee/p/18538657

相关文章

  • [GXYCTF2019]Ping Ping Ping
    题目链接:https://buuoj.cn/challenges#[GXYCTF2019]PingPingPing打开环境后如下所示。题目直接提示了有一个GET参数,参数名是"ip",尝试输入:?ip=127.0.0.1后,结果如下所示。可以看到,网站后端进行了一个ping操作,猜测参数:ip可能存在命令注入漏洞。尝试输入:ip=;id,发现可以......
  • [GXYCTF2019]Ping Ping Ping
    题目链接:https://buuoj.cn/challenges#[GXYCTF2019]PingPingPing打开环境后如下所示。题目直接提示了有一个GET参数,参数名是"ip",尝试输入:?ip=127.0.0.1后,结果如下所示。可以看到,网站后端进行了一个ping操作,猜测参数:ip可能存在命令注入漏洞。尝试输入:ip=;id,发现可以......
  • [GXYCTF2019]BabySQli
    这题查看源码后发现一个php文件问了ai后发现MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5是一段base32编码,经过base32解码,base64解码后的结果是select*fromuserwhereusername='$name'很明显是一个sql语句,在us......
  • [GXYCTF2019]BabyUpload 1
    打开靶机,上传文件抓包后缀不能带ph,大小写也无法绕过,意味着phtml后缀也无法上传对后缀只过滤ph,我们转变思路上传图片马,用.htaccess使图片马以php格式打开上传图片马上传失败,试一试过滤了哪些字符文件内容过滤了<?我们尝试另一种写法后成功上传<scriptlanguage="php">eval......
  • [GXYCTF2019]禁止套娃
    这题用御剑扫描不出来什么结果,最后看大佬的wp发现这题使用githack扫出来的首先来收一下git源码泄露的原因:开发人员在开发的时候,常常会先把源码提交到远程托管网站(如github),最后在从远程托管网站把源码pull到服务器的web目录下,如果忘记把.git文件删除,就会造成此漏洞。利用.git......
  • 【BUUCTF】BabySQli
    【BUUCTF】BabySQli题目来源收录于:BUUCTFGXYCTF2019题目描述纯粹的SQL注入题随意传入name=abc&pw=a返回wronguser尝试传入name=1%27&pw=a发现闭合方式为',同时给出了一个可疑字符串把这段字符串丢进ChatGPT,告诉我们可能是Base32编码的,对其进行Base32解码得到......
  • BUUCTF [GXYCTF2019]simple CPP
    buu上的一道z3题,记录一下z3奇怪的用法。首先扔进ida,打开主函数,非常混乱的算法,大概发现两个关键点:这里应该是对flag进行异或得到v6而这里的比较应该就是求解flag的关键,可以看出来有四个未知数,求解也是非常简单,z3直接求解即可:fromz3import*x,y,z,w=BitVecs("xyz......
  • [GXYCTF2019]BabySQli
    [GXYCTF2019]BabySQli非常神奇的一道题,漏洞利用点在于联合查询时如果数据不存在,则会创建一个临时虚拟用户于是当前尝试username=admin,返回wrongpass则该用户名存在所以username:1'unionselect1,'admin','202cb962ac59075b964b07152d234b70'#(202cb962ac59075b964b07152......
  • [GXYCTF2019]Ping Ping Ping
    [GXYCTF2019]PingPingPing(命令执行绕过总结)题目来源收录于:BUUCTFGXYCTF2019题目描述提示较为明确,get方法传参127.0.0.1后结果如下比较容易想到联合执行命令,先看有哪些文件尝试直接读取flag.php读取失败,对空格进行了过滤。题解以下内容参考文章:https://blog......
  • CTF练习日记——[GXYCTF2019]Ping Ping Ping 1
    首先尝试一下分号有没有被过滤:?ip=127.0.0.1;ls;可以看见分号没有被过滤,看到了flag.php和index.php两个文件,先尝试能不能打开flag.php:?ip=127.0.0.1;catflag.php;能看出空格被过滤了,我们用$IFS$1绕过空格:?ip=127.0.0.1;cat$IFS$1flag.php;可以看见flag也被过滤了,我们打开i......