從後台到webshell的一點思路

2021-06-15 18:14:45 字數 1556 閱讀 1536

安全天使

1.asp+acc/mssql程式

主要是利用後台對access資料庫的"備份資料庫"或"恢復資料庫"功能,"備份的資料庫路徑"等變數沒有過濾導致可以把任意檔案字尾改為asp,從而得到webshell,msssql版的程式就直接應用了access版的**,導致sql版照樣可以利用。具體方法和分析可以參考angel的文章《動網論壇7.0獲得webshell的分析》。據我所知,目前還有很多的asp程式後台存在這樣的漏洞,利用方法大同小異。

2.php+mysql程式

①.利用後台的資料查詢功能

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

第一步:把我們的webshell**寫入資料庫

隨便找個可以寫入的地方(注意對你輸入的要沒有進行過濾),這裡我們就用後台的新建立個論壇,在論壇描敘裡寫入我們的shell**<?system($c);?> 提交 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:

我們設定使用者的簽名為<?system($c);?> 然後到後台的資料庫備份,在"在伺服器上備份資料庫到檔案"裡改為shell.php ,提交儲存。我們就可以在論壇的根目錄下訪問我們的shell了,因為可能到處的檔案比較大,我們可以換乙個可以生成檔案的webshell**。

從後台到webshell的一點思路--補充篇

思路:利用web後台系統設定,如果是系統設定是儲存在php/asp檔案了,我們可以同過在設定裡寫入webshell**到儲存設定的php/asp檔案了.

演示:程式sablog,sablog的基本設定儲存在admin/settings.php 由於後台在提交設定的變數十沒有過濾,導致我們可以向admin/settings.php寫入任意**。

進入後台--"基本設定"--"blog名稱"(其他項也可以)--填入**:sss";phpinfo();"ss --提交。

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

小結:還有乙個是利用上傳漏洞的 這個就不要多說了 呵呵:)。

從宣告到鏈結性的一點討論

參考文件 這是為了支援分離式編譯而設計的,分離式編譯允許把程式拆成多個邏輯部分來編寫,當程式被分為多個檔案,則需要有在檔案間共享 的方式,這就是宣告和定義的區別由來,宣告使得名字為程式所知,乙個檔案如果想要使用別處的名字則必須包含對那個名字的宣告,而定義負責制建立於名字關聯的實體。並且關於作用域開始...

wget 用法 從零到一每天多學一點點

1 使用wget 單個檔案 以下的例子是從網路 乙個檔案並儲存在當前目錄 wget 在 的過程中會顯示進度條,包含 完成百分比,已經 的位元組,當前 速度,剩餘 時間 2 使用wget o 並以不同的檔名儲存 wget缺省會以最後乙個符合 的後面的字元來命令,對於動態鏈結的 通常檔名會不正 確。wg...

從Docker零基礎到懂一點實踐教程(一)

docker是docker.inc公司開源的乙個基於輕量級虛擬化技術的容器引擎專案,整個專案基於go語言開發,並遵從apache 2.0協議。通過分層映象標準化和核心虛擬化技術,docker使得應用開發者和運維工程師能夠以統一的方式跨平台地發布應用,並且在幾乎沒有額外開銷的情況下提供資源隔離的應用執...