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