SQL注入-简易+偏移+跨库+sqlmap

SQL注入漏洞产生根本条件:可控变量 特定函数

         脚本代码在实现代码与数据库进行数据通讯时(从数据库取出相关数据进行页面显示),将定义的SQL语句进行执行查询数据时。其中用户能通过参数传递自定义值来实现控制SQL语句,从而执行恶意的SQL语句,可以实现查询其他数据(数据库中的敏感数据,如管理员帐号密码)。这一个过程就可以叫做SQL注入漏洞。

 

SQL注入攻击流程:

1、猜测数据库类型

2、根据类型选择思路

 

 

ASP+Access-简易注入-字典猜解

1.ACCESS的数据库是独立存在的:以文件形式,连接数据库,就是指定一个数据库文件

2.ACCESS数据库特性:

     没数据库用户,没数据库权限,没数据库查询函数,没有高权限注入说法

 

3.Access无高权限注入点-只能猜解,而且还是暴力猜解

 

4.数据库数据阶级:

         数据库名——表名—— 列名—— 数据

 

5.由于Access数据库特性导致这个SQL注入是需要借助字典去猜解表名和列名的,那么就会出现表名或列名猜解不到,可以自定义社工字典或采用偏移注入!

 

本地搭建网站:iis中间件+asp脚本+access数据库

 

 

 

网站演示:

猜测列数

猜解表名和测试页面显示的列

 

 

 

将页面显示的列替换为想要查询的列名

 

成功查询

 

 

 

ASP+Access-偏移注入-报错显示

偏移注入就是解决表名已知,列名未知的情况!

 

网站演示:

判断出显错位和列数

 

 

 

 

浏览器搜索pyload

使用pyload查询表数据

查看页面代码,成功得到数据

 

 

 

 

PHP+MYSQL-简易注入-存储特性

MYSQL的数据库是统一管理:多个数据库在一起,连接时需要指定数据库和用户名密码

数据库A=网站A=数据库用户A

数据库B=网站B=数据库用户B

数据库C=网站C=数据库用户C

 

还存在一个最高数据库用户=root用户:所有数据库皆可查看

数据库数据阶级:

         数据库名——表名—— 列名—— 数据

 

为了网站和数据库的安全性,MYSQL内置有ROOT最高用户,划分等级,每个用户对应管理一个数据库,这样保证无不关联,从而不会影响到其他数据库的运行。

 

 

MYSQL两种思路:

 1、 非ROOT的注入攻击:常规类的猜解

 2、 ROOT用户的注入攻击:文件读写操作,跨库查询注入等

黑盒测试中可以采用user()获取当前用户权限,白盒中看连接用户即可!

 

MYSQL5.0以上版本:自带的数据库:information_schema

information_schema:存储数据库下的数据库名及表名,列名信息的数据库

information_schema.tables:记录表名信息的表

information_schema.columns:记录列名信息表

 

 

网站演示:

判断列数和显错位

查询数据库---为后期猜解指定数据库下的表,列做准备

查询当前用户权限---看是否符合ROOT型注入攻击

使用ROOT类型攻击猜解数据

1.获取fcms数据库下面的表名信息:

?id=1 union select table_name,2 from information_schema.tables where table_schema='fcms'

 

2.获取表名fn_adminuser的列名信息:

UNION SELECT column_name,2 from information_schema.columns where table_name='fn_adminuser' and table_schema='fcms'

3.获取指定列数据:

UNION SELECT username,password from fn_adminuser

 

跨库注入:实现当前网站跨库查询其他数据库对应网站的数据

获取数据库名之后按照常规思路猜解即可,只是获取列内容时,查询条件需要指定数据库和表(如:from 数据库名.表名),因为默认查询当前网站的数据库。

 

获取当前mysql下的所有数据库名

 

真实案例:

发现网站传递的参数进行了编码

注入时,如果有加密,要把注入语句先加密再进行注入

猜解列数和爆出显错位

 

查询基本信息

 

数据库版本4.1,没有information_schema数据库,只能暴力猜解

sqlmap扫描成功爆出数据库

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值