我們在MYSQL注入的時候經常會碰到無法立即根據在注入點加單引號提交得到的返回信息來獲得web目錄,這個時候獲得web路徑就要費點勁了!針對這種情況,我介紹三種方法!load_file(char(47))查找部分*nix系統的目錄。
a. 原理
由于load_file()函數相當于*nix中的cat函數,而在某些FreeBSD,Sunos系統中用cat / 命令可以列出根目錄,而字符/ 的Ascii碼是47,所以在MYSQL注入的時候可以試試用load_file(char(47))來查找web目錄!這一方法的原理還可以參看安全天使(http://www.4ngel.net/)superhei的文章<<系統特性與web安全>>。
b. 實例
這一方法在Sunos系統上的具體實例可以參考我發布在網上的文章<<由Jsp MYSQL注入到root權限全程展>>。下面補個FreeBSD上測試
是用load_file(char(47,101,116,99,47,112,97,115,115,119,100))讀取/etc/passwd得到MYSQL服務器的操作系統是FreeBSD。
用load_file(char(47))列出了此FreeBSD系統的根目錄。讀取/etc/passwd中apache的工作目錄得到web路徑。這個方法就不需要多加解釋了,下面給個實例!
可以得到apache的工作目錄是/www,且可以猜測web路徑是/www。讀取apache的配置文件httpd.conf獲取web路徑。
*nix 系統的apache的配置文件httpd.conf一般位于/etc/httpd/conf/httpd.conf或者位于 /usr/local/apche/conf/httpd.conf中;Windows系統的httpd.conf文件一般位于c:\Program Files\Apache Group\Apache\conf \httpd.conf或者C:\apache\conf \httpd.conf,也可以換盤符c為d等試試。
實例
下面是在linux上測試結果,圖中的Ascii碼 47,117,115,114,47,108,111,99,97,108,47,97,112,97,99,104,101,47,99,111,110,102,47,104,116,116,112,100,46,99,111,110,102 是由字符串/usr/local/apache/conf/httpd.conf轉換得到的。
可以知道DocumentRoot是/www,即得到web路徑是/www。這幾個方法有不少人早已發現,我只是做個總結,讓廣大MYSQL愛好者都能掌握。
|