MySQL load_file()/into outfile路径问题总结

MySQL load_file()/into outfile路径问题总结

简单翻译整理

http://www.milw0rm.com/papers/372

关于MySQL into outfile的条件很多人都总结过
1.web服务与MySQL运行在同一台服务器上
2.MySQL版本在3以上
3.有file_priv权限
4.magic_quotes=off
5.知道可写的web路径
laod_file()条件4不需要满足,但也需要路径。

对into outfile第四个条件往往在新的站中很难满足,第5个条件有时候也不容易满足。
这里主要讨论web路径的获得
milw0rm.com有一篇文章http://www.milw0rm.com/papers/372

这里简单总结一下
MySQL数据库路径的获取(datadir)
4.0版本
0′ UNION SELECT load_file(‘a’),null/*
5.0版本通过 @@datadir

默认的可读写路径datadirdatabasename.


databasename
通过database()获得。


如果幸运php中含有这些函数 mysql_result(), mysql_free_result(), mysql_fetch_row() or similar functions
将可能直接在出错信息中显示web路径
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /web/server/path/file.php on line xxx
通过添加’等方法。
我们可以尝试laod_file()读取apache等的配置文件


/etc/init.d/apache
/etc/init.d/apache2
/etc/httpd/httpd.conf
/etc/apache/apache.conf
/etc/apache/httpd.conf
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/apache/conf/httpd.conf
/opt/apache/conf/httpd.conf
/home/apache/httpd.conf
/home/apache/conf/httpd.conf
/etc/apache2/sites-available/default
典型的web路径可能是
/var/www/
/var/www/root/
/var/www/dbname/path/
/var/www/sitename/htdocs/
/var/www/localhost/htdocs
……~~~~~

 

原文地址:https://www.cnblogs.com/holyes/p/e905242963c659cb6f46e2e7761a8102.html