CTFHub - 整数型注入
目录
????????欢迎各位师傅以kill -9 的威力对文章进行检查,Zeus会认真分析听取各位师傅的留言。
1. SQL 注入分类
? ? ? ? 根据不同的标准,SQL注入漏洞可以有不同的分类。
两大基本类型 | 五大基本手法 | 提交参数方式 | 注入点的位置 |
数字型 字符型 | 联合查询 报错注入 布尔盲注 延时注入 堆叠查询 ...... | GET 注入 POST 注入 Cookie 注入 HTTP 头部注入 ...... | URL 注入 搜索框注入 留言板注入 登录框注入 ...... |
2. SQL 注入流程
? ? ? ? 库→表→列→数据
3. 联合查询
????????适用数据库中的内容会回显到页面中来的情况。联合查询就是利用union select 语句,该语句会同时执行两条select 语句,实现跨库、跨表查询。
3.1 必要条件
- 两条select 语句查询结果具有相同列数;
- 对应的列数据类型相同(特殊情况下,条件被放松)。
4. 注入流程
4.1 判断注入类型
? ? ? ? ?如何判断注入类型和列数,具体可查看8.27日的文章,通道:cms靶场联合查询漏洞练习_netsecurity_Zeus的博客-CSDN博客
4.2 判断列数
order by X? ? ?
????????X :表示正整数。例:1、2、3......
? ? ? ? ????????当X=3 时,页面无回显,不正常
? ????????? ? ? 当X=2 时,页面有回显,正常
? ? ????????? ? 可推断出,此数据库存在两列。
4.3 获取数据库---库名称
????????union select 是联合查询语句,使用联合查询语句,需要将第一个select 语句执行错误。
????????两条select 语句,如果第一条语句执行正确,则不会回显第二条select 语句内容。
-1 union select 1,database()
4.4 获取表---表名称
????????获取sqli 数据库下的所有表名。
? ? ? ? group_concat :将多行数据按照指定的顺序连接成一个字符串。也就是获取所有的意思。
? ? ? ? information_schema :在关系型数据库中常见的系统数据库,每一个数据库都会自动生成。
????????information_schema:数据库包含了一系列的系统表,提供了关于数据库、表、列、索引、权限等元数据信息的访问接口,允许用户查询和获取数据库结构相关的信息。
-1 union select 1,group_concat(table_name) from information_schema.tables
4.5 获取列---列名称
? ? ? ? 获取flag 数据包中的列名称,这里发现回显出的内容还是flag,这可能会有点困惑,这其实就是flag中的flag。
? ? ? ? 不明白的话我们可以换一个表名称,去获取表中的列数,这里换了news表,可以发现此表中含有id 和data 。这就可以理清了。
-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='flag'
4.6 获取数据
????????成功获取flag !!!
????????恭喜你!!!
-1 union select 1,flag from flag
? ? ? ? 此数据库有两列,Zeus是在第二列敲的命令,大家也可以在第一列进行敲入命令。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!