0x01 堆叠注入

1、定义与说明

  • 在sql中,分号(;)表示一条sql语句的结束。在;结束之后继续构造下一条语句,会一起执行,因此为堆叠注入。
  • union联合查询是将两条语句合并之后进行查询,union执行的语句有限。
  • 堆叠注入可以执行任意的语句

2、查询语句

查询数据库:

  • show databases

查询表:

  • show tables

显示表中列的信息:

  • show columns from table_name
  • desc table_name
  • select * from information_schema.columns where table_schema="" and table_name=""

更改表的名字:

  • rename table table_name1 to newtable_name1 [, table_name2 to newtable_name2]
  • alter table table_name to newtable_name

更改字段的名字:

  • alter table table_name change name column_name varchar(20) not null

0x02

1、存在sql注入

GET,字符型,单引号

?inject=1' order by 2--+

select等一些语句被过滤

2、堆叠注入

?inject=1';show databases;--+

保证前面的语句闭合,执行后面的语句

得到了数据表

查看表的结构

只能查看words表,不能查看另一个表

重命名表

将words默认表重命名为word1,将数字表重命名为words

在words表插入一列,id,flag

那么我们查询id为1,得出flag

?inject=1' or 1=1; rename tables words to words1;rename tables `1919810931114514` to words;alter table words change flag id varchar(100);--+

参考链接:

https://www.cnblogs.com/0nth3way/articles/7128189.html

https://www.cnblogs.com/dedragon/p/12728498.html

https://blog.csdn.net/qq_26406447/article/details/90643951

supersqli的更多相关文章

  1. 攻防世界(六)supersqli

    攻防世界系列:supersqli 方法一: 用逗号包裹回显正常,说明存在注入 1';--+(注释符也可用 -- 或 # 发现均未被过滤!) 有order by 语句可知表由2个字段,使用联合查询 (想 ...

  2. 攻防世界supersqli

    supersqli 补充知识点 rename 命令格式: rename table 原表名 to 新表名 例如,在表myclass名字更改为youclass: mysql>rename tabl ...

  3. xctf-web supersqli

    单引号注入,用order by查到了两个column.用union select的时候发现select关键字被过滤了 用分号尝试堆叠注入显示出了两张表 分别查询字段 flag在表19198109311 ...

  4. 2019 第三届强网杯线上赛部分web复现

    0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 ...

  5. buuctf | [强网杯 2019]随便注

    1' and '0,1' and '1  : 单引号闭合 1' order by 3--+ : 猜字段 1' union select 1,database()# :开始注入,发现正则过滤 1' an ...

  6. BUUCTF知识记录

    [强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update, ...

  7. WriteUp_easy_sql_堆叠注入_强网杯2019

    题目描述 随便注 解题过程 查看源码,发现应该不适合sqlmap自动化注入,该题应该是让你手工注入: <!-- sqlmap是没有灵魂的 --> <form method=" ...

  8. 攻防世界/强网杯 2019-supersqli

    靶场地址:https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=1&id=5417&page= ...

  9. [BUUOJ记录] [强网杯 2019]随便注(三种方法)

    本题主要考察堆叠注入,算是比较经典的一道题,在i春秋GYCTF中也出现了本题的升级版 猜测这里的MySQL语句结构应该是: select * from words where id='$inject' ...

随机推荐

  1. WPF中在Gmap.net中将Marker动起来

    前一段时间说过一篇绘制极坐标的,这段时间对它进行了改造已经今非昔比了,功能实现了很多,我目的是让Marker动起来,然后还会绘制Route,上篇也就是简单的绘制了Route,没有关于Marker的相关 ...

  2. tensorflow1.0 构建神经网络做非线性归回

    """ Please note, this code is only for python 3+. If you are using python 2+, please ...

  3. Python常见报错 - 使用openpyxl模块时出现错误: zipfile.BadZipFile: File is not a zip file

    背景 在pycharm项目下,有一个data.xlsx,主要用来存放接口测试用例数据的 要通过openpyxl库去读取data.xlsx,方法: openpyxl.load_workbook(path ...

  4. 地点下来框的实现(php)

    效果图: 样式(bootstrap): class="selectpicker show-tick form-control",就是多了个form-contro就行了 概念: 这里 ...

  5. OpenCV学习(2)——一个简单的例子

    光说不练假把式,来看一个简单的例子,了解了解OpenCV.这个小demo没有几行代码,作用是显示项目目录下面的一张图片. #include <opencv2\opencv.hpp> #in ...

  6. 【JAVA基础】05 Java语言基础:数组

    1. 数组概述和定义格式说明 为什么要有数组(容器) 为了存储同种数据类型的多个值 数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引用 ...

  7. 从Webpack源码探究打包流程,萌新也能看懂~

    简介 上一篇讲述了如何理解tapable这个钩子机制,因为这个是webpack程序的灵魂.虽然钩子机制很灵活,而然却变成了我们读懂webpack道路上的阻碍.每当webpack运行起来的时候,我的心态 ...

  8. CultureInfo 类中需要的【区域性名称】查询

    2019独角兽企业重金招聘Python工程师标准>>> 提供有关特定区域性的信息(对于非托管代码开发,则称为"区域设置"). 这些信息包括区域性的名称.书写系统. ...

  9. SocksCap64应用程序通过SOCKS代理

    一.下载SocksCap64 https://pan.baidu.com/s/1B671kT9R6Zb6ch1mc4Kb2Q 提取码:hai3 一个是免安装版本,一个是安装版本,选一个即可. 下面以免 ...

  10. JAVA_WEB--jsp语法

    JSP声明 一个声明语句可以声明一个或多个变量.方法,供后面的Java代码使用.在JSP文件中,必须先声明这些变量和方法然后才能使用它们. JSP声明的语法格式: <%! declaration ...