当前位置: 首页 > article >正文

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

知识点:

1、脚本代码与数据库前置知识;

2、Access数据库注入-简易&偏移;

3、MYSQL数据库注入-简易&权限跨库;

前置知识:

-SQL注入漏洞产生原理分析

-SQL注入漏洞危害利用分析

-脚本代码与数据库操作流程

-数据库名,表明,列名,数据

-数据库类型,数据库用户,用户权限

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

PHP+MYSQL-跨库注入-权限属性

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

SQL语句查询,删除,添加,修改等操作

SQL语句有写法规则,也就是说必须符合正确的写法才能执行成功

漏洞产生根本条件:可控变量(参数传递) 特定函数

SQL注入为通用漏洞,可以产生在任何语言及网站

可能产生漏洞的地址:

使用union 配合1~22这些数字,可以探测出,该sql语句查询了22个字段,使用order by 22 不报错,使用order by 23报错

此时的表名和列名都是猜的:

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

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

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

通过1~*,可以判断出*代表多少个字段

SQL注入攻击流程:

1、猜测数据库类型;

2、根据类型选择思路;

ACCESS 独立存在

数据库名

        表名

                列名

                        数据

MYSQL 统一管理

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

        表名

                列名

                        数据

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

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

就有可能出现最高数据库用户=root用户

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

MYSQL两种思路:

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

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

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

MYSQL5.0以上版本:自带的数据库名infomation_schmea,用来存储数据库下数据库名及表名,列名信息的数据库,可以通过查询它,来获取数据库用户、表、列等信息;

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

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

infomation_schema.columns:记录列名信息的表

获取相关数据:

1、数据库版本-看是否符合infomation_schema查询-version();

2、数据库用户-看是否符合ROOT型注入攻击-user();

3、当前操作系统-看是否支持大小写或文件路径选择-@@version_compile_os();

4、数据库名字-为后期猜解指定数据库下的表、列做准备;

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

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

获取表名sy_adminuser的列名信息:

获取指定数据:

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

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

2、获取数据库名为xhcms下的表名信息;

3、获取数据库名为xhcms下的表manage写的列名信息;

4、获取指定数据;

示例:

参数base64加密

使用变量猜测表名,

payload set:1

payload type:Simple list

然后通过load按钮加载字典

然后使用payload processing给参数加密,add->base64

选择intruder->start attack


http://www.kler.cn/a/394088.html

相关文章:

  • SpringMVC学习笔记(二)
  • 软件工程概论项目(二),node.js的配置,npm的使用与vue的安装
  • python高效处理大数据:将Excel10万数据分批插入MySQL数据库的实战代码
  • 虚拟机安装Ubuntu 24.04服务器版(命令行版)
  • 【QT】QSS
  • 01-Ajax入门与axios使用、URL知识
  • vue3项目中内嵌vuepress工程两种实现方式
  • 构建现代 Python Web 应用的最佳实践:从 FastAPI 到 Tortoise ORM20241113
  • div加4个角边框 css
  • 从0开始学docker (每日更新 24-11-11)
  • 信号保存和信号处理
  • 修改yolo格式的labels类别、删除yolo格式的labels类别
  • redis7.x源码分析:(1) sds动态字符串
  • 【回溯法】——组合总数
  • 【AI技术】GPT-SoVits训练日志
  • 蓝桥杯——杨辉三角
  • 【PGCCC】Postgresql 物理流复制
  • 设计模式之工厂模式,但是宝可梦
  • 【Node.js]
  • TCON 相关知识
  • Git - 命令杂谈 - merge、rebase和cherry-pick
  • git修改当前分支名称并推送到远程仓库
  • 【新手友好】用Pyspark和GraphX解析复杂网络数据
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • 确保HTML邮件兼容所有PC和移动设备的样式
  • Vue Canvas实现区域拉框选择