從後臺到webshell的一點思路(轉)

ba發表於2007-08-11
從後臺到webshell的一點思路(轉)[@more@]主要是利用後臺對access資料庫的“備份資料庫”或“恢復資料庫”功能,“備份的資料庫路徑”等變數沒有過濾導致可以把任意檔案字尾改為asp,從而得到webshell,msssql版的程式就直接應用了access版的程式碼,導致sql版照樣可以利用。具體方法和分析可以參考angel的文章《動網論壇7.0獲得WebShell的分析》。據我所知,目前還有很多的asp程式後臺存在這樣的漏洞,利用方法大同小異。

php+mysql程式

① 利用後臺的資料查詢功能

在有的程式後臺提供直接對mysql資料查詢功能,我們就可以利用它執行SELECT ... INTO OUTFILE查詢輸出php檔案,因為所有的資料是存放在mysql裡的,所以我們可以透過正常手段把我們的webshell程式碼插入mysql在利用SELECT ... INTO OUTFILE語句匯出shell。我們這裡用ipb論壇做個演示:

第一步:把我們的webshell程式碼寫入資料庫

隨便找個可以寫入的地方(注意對你輸入的要沒有進行過濾),這裡我們就用後臺的新建立個論壇,在論壇描敘裡寫入我們的shell程式碼 提交 ok這樣就把我們的shell寫入了資料庫了。

第二步:匯出webshell

我們來到“SQL Management”裡的“mySQL Toolbox”在“Run Query”裡寫入語句:

SELECT * FROM 123forums into OUTFILE 'd:shell.php'

shell程式碼所在的表,web目錄絕對路徑,如果主機mysql查詢成功,我們就得到我們webshell:



② 利用mysql資料備用

思路結合上面的2種情況,有的程式在備用資料庫時 對備用檔案的型別沒有限制,從而匯出php檔案,我們和①中那樣,透過把webshell程式碼寫入資料庫中,在利用資料備用匯出webshell,我們大家熟悉的vbb論壇就可以用這個方法來得到webshell,我們設定使用者的簽名為 然後到後臺的資料庫備份,在“在伺服器上備份資料庫到檔案”裡改為shell.php,提交儲存。我們就可以在論壇的根目錄下訪問我們的shell了,因為可能到處的檔案比較大,我們可以換一個可以生成檔案的webshell程式碼。

補充思路

利用web後臺系統設定,如果是系統設定是儲存在php/asp檔案了,我們可以同過在設定裡寫入webshell程式碼到儲存設定的php/asp檔案了.

演示

程式sablog,sablog的基本設定儲存在adminsettings.php 由於後臺在提交設定的變數十沒有過濾,導致我們可以向adminsettings.php寫入任意程式碼。

進入後臺--“基本設定”--“blog名稱”(其他項也可以)--填入程式碼:sss";phpinfo();"ss --提交。

這樣我們就把phpinfo()寫入了adminsettings.php,我們可以看到adminsettings.php正常顯示php的資訊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947501/,如需轉載,請註明出處,否則將追究法律責任。

相關文章