我是這樣滲透入侵孤獨劍客網站(janker.org)的 作者:N.E.V.E.R 日期:2003年5月22日 出自http://www.janker.org
不成功的入侵還是有點借鑒價值的,我想同樣的方法換一個地方的話,說不定就成功了。 目的地www.janker.org,呵呵,應該算是授權了的吧。傳說中的黑客叔叔們都是先踩點的, 如果我有條件的話,一定先到機房附近去看看,興許還能撿到點密碼什么的。不過實在太遠,買車
票過去的時間說不定我都可以打一把Windforce了,還是來點遠程的吧。 拿出掃描器甲乙丙丁一陣亂掃,呵呵,結果大家都能猜到,就不廢話了。反正80和23是開著的
,這個結果要記住。 系統漏洞沒有的話,有幾種方法可以供選擇:1、滲透;2、腳本漏洞。當然,還可以玩
D.D.o.S,還可以背上炸藥包炸主機,還可以用拖網把電纜弄斷,還可以開飛機把那棟樓撞了,等
等。當然這些要看攻擊者的想象力,我還是老老實實的看腳本。 找啊找啊,找了幾秒鐘,找到一個地方沒有很好的處理參數id。 http://www.janker.org/show.asp?id=2;-- 出錯了。“Microsoft JET Database Engine 錯誤 "80040e14" 在 SQL 語句結尾之后找到字
符。”嗯,大蝦們肯定已經看出來了吧?我想來想去覺得這句話告訴了兩件事情:一、用的是
ACCESS數據庫;二、腳本里面興許有什么" where id=" & request("id")之類的沒有過濾的洞洞。
關鍵是怎么用呢? 我還是決定像瞎子摸象一樣再看看,猜了一會兒后,覺得一個發布系統遠程總會有一個管理系
統吧,猜猜表名看看。 http://www.janker.org/show.asp?id=2 or id in (select id from admin) OK,沒有報錯,那么說起來存在一個admin的表,而且這張表里面有id項,其實后來想想這樣
不好,子查詢只是要確定一下有沒有admin這張表,用..... id <> (select count(*) from
admin)比較好。 繼續猜,猜了幾個常見的列名,嗯,得到的結果是有user,password。到這里的時候,我覺得
我走了很多彎路,雖然第一直覺是這是一個免費的公開源代碼的東東,但是因為一下子我沒有認出
來是什么(我看過的東西很少啊,呵呵……),就沒有去找下載,現在猜得頭暈,覺得還是應該去
找代碼來看比較好。 于是我的方向又轉到如何去找相同的東東。呵呵,很笨的,我想到了在google.coms搜索
fir.asp,因為fir.asp是很奇怪的一個名字,結果我找到了很多很多相同的站點。我覺得幾千個結
果里面總有非常容易入侵的機器吧,嗯,我用的是webdavx3,大約失敗60次以后,終于找了一個進
去。當然啦,我只是要看看代碼,沒有別的意思,只是在這臺機器上裝了socks5代理(呵呵),補
上漏洞就出來了。 這個時候已經臨近熄燈時間,我就干脆斷了網看代碼,嗯,應該說是看那個Access數據庫。早
這樣的話,我就會少走好多彎路啊,不過猜猜也很有意思,大腦長期不用會生銹的。 有人想到直接下數據庫吧?呵呵,哪有這么容易的事情啊,數據庫的名字百分之一百二被改掉
了。 嗯,反正我已經知道admin表是怎樣的了,猜猜密碼也還不算是太累的工作。先看看admin里面
有幾個管理員。 http://www.janker.org/show.asp?id=3 AND 1<(select count(*) from admin) 嗯,比一個多…… http://www.janker.org/show.asp?id=3 AND 10<(select count(*) from admin) 沒有十個…… (省略無聊過程若干) http://www.janker.org/show.asp?id=3 AND 5=(select count(*) from admin) 有五個管理員呢,隨便找一個破一下啊…… 我選的是id=1的,我先猜的是它的密碼第一位,呵呵,密碼總要一位一位的猜嘛…… http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,1)="q") 嗯,顯示是“未指定所需參數!”那么第一位不是q了,如果我們提交的SQL查詢正確執行——也就
是我們猜對了的話,是會出來id=3的那篇文章的(前面的那些也一樣)。繼續來吧…… w、e、r、t、y……猜了一會兒,結果出來了。 http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,1)="j") 顯示了id為3的那篇文章,密碼第一位為j。 暫停一下,如果密碼有個2、30位的話,豈不是要猜死了,先看看密碼有幾位再說吧。方法和
猜管理員的個數是一樣的,直接給出結果 http://www.janker.org/show.asp?id=3 and 1=(select id from admin where len(password)=7
and id=1) 7位,剛好在我的心理承受范圍之內,8位以上的話就要考慮寫程序猜了。猜測的過程是美好的
,你看到第一位是j后會怎樣想呢,優先猜的肯定是a、A、4、@、k之類的吧?如果你猜到了前面三
位是jk2,后面的00也會很自信的寫上去吧?最后的密碼是jk2008!,呵呵,如果你在30分鐘內沒有
一位一位的猜出來的話,就不要做hacker/cracker了。還是給出過程: http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,2)="jk")
http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,3)="jk2")
http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,4)="jk20")
http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,5)="jk200")
http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,6)="jk2008")
http://www.janker.org/show.asp?id=3 and 1=(select id from admin where left
(password,7)="jk2008!") 嗯,大家在考場上有沒有擲色子做選擇題的經歷啊?一般都是扔兩次吧,呵呵,驗算一下也是
很必要的哦。順便把用戶名也猜出來了…… http://www.janker.org/show.asp?id=3 and 1=(select id from admin where
password="jk2008!" and name="janker") 經過一番搗鼓,我終于得到了一個用戶名/密碼,嗯,很費工夫吧?費工夫的還在后面呢,還
有四個用戶可是等著我們猜的。當然,全部得到我想要的東西時,已經是第二天的事情了,至于用
戶名密碼,我就不說了,我只是說過程嘛…… 然后干什么就是定式了吧?我選擇的道路是先進入管理界面發布兩條搞笑的消息,然后說不定
有什么跨站腳本漏洞,新聞是顯示在首頁上的,沒有過濾html字符的情況下,你可以想辦法建一個
1600x1200的div,背景色設定為黑,真正把它“黑”掉。或者刷新到你自己偽造的頁面上,等待那
些習慣從首頁登陸的同志們的密碼,哈哈哈哈……一切都很順利,不是嗎?可是管理界面在哪里呢
? http://www.janker.org/admin/ 該頁無法顯示,faint!原來把管理的路徑改了……這不是耍我嘛,搞了半天,做的都沒有用
嘛…… 嗯,還有一個辦法的,呵呵,要不然太沒有面子了。我干嘛要把幾個密碼都破出來啊,不就是
想多一條路嗎,還有FTP呢。呵呵,我記得在哪里看到說很多人都是用的一個密碼,試了一下,有
一個果然進去了。 GAME OVER!故事到這里就結束了。呵呵,沒有成功吧,因為我已經累了,而且覺得很無聊啊
,更加重要的是Janker告訴我有人以前用相同的方法得到過密碼,我想建設永遠比破壞困難,而我
比較喜歡困難的事情。 如果要繼續的話,故事也許會是…… 完美結局一: 上傳的目錄可以執行腳本,于是上傳了一個.asp的SHELL,然后上傳NC一類的東西反向連接,
提升權限,清除腳印,安裝后門,KO。 完美結局二: 上傳的目錄不可執行腳本……怎么辦呢…… 上傳了一個精心制作的folder.htr和desktop.ini,幾天后,通過某不知名的木馬的客戶端連
接到了那臺機器。 完美結局三: …… 或許你還可以想出這樣那樣的完美或者是不完美的結局、然而真正的結尾只會有一個。對于管
理突圍(后來我知道這個系統的名字叫作管理突圍)——一個2001年的作品,沒有什么好說的。可
是用這個www.invchina.comwww.cnftrade.netwww.zgwl.netwww.manage.org.cn,還有那
些用其它免費腳本的那些網站,不自己看看代碼,你們真的能放心嗎?
===========================================
===================
附孤獨劍客先生的評語:
本人的個人站點http://www.janker.org http://janker.126.com)做為國內的知名的安全
技術交流站點之一,自從1999年10月1日建立至今,訪問量已達160多萬人次,長期以來,一直為大
家提供免費技術資料和技術交流溝通的場所,但由于其在國內安全界的特殊地位,很多安全愛好者
把本站當作了挑戰目標也在情理之中,從日志分析可以看出janker.org經歷了超過10萬次以上的嘗
試入侵,經受了多次DDOS攻擊,但到目前為止,尚沒有人能夠實現更改網站首頁或獲得管理員權限
,在此我把管理維護經驗和大家做一下交流,分析內容見下:
(1)N.E.V.E.R成功破解文章管理員密碼的過程分析
我的站點很久以來一直是采用靜態頁面的方式,盡管這樣做站點會更安全,但卻更新麻煩交流不方
便,不能夠為大家提供更及時的技術服務,加上本人工作繁忙,不可能把很多精力投入到這上面來
,所以就采用了折中的方法,那就是使用免費的文章和下載及論壇系統,盡管我對服務器本身做了
標準的安全設置和處理,但不可能是去閱讀上萬行的第三方代碼,要求一般的腳本程序員寫出安全
的代碼也不太現實,N.E.V.E.R正是利用了腳本代碼對頁面提交的變量(GET或POST)檢查不嚴而嵌
入了非法的SQL查詢,從而可以非授權訪問數據庫的內容。事實上,在此之前已經有一位QQ上的
叫.PsKey的朋友利用此方法猜出了密碼,由此可見注入SQL查詢攻擊已經為多人所掌握,并且在防
火墻和反病毒軟件已經為基本安全配置的如今,腳本攻擊將會長期存在下去,而成為影響網絡安全
的一個重要因素,就目前而言,防范的主要方法為編寫安全的腳本代碼和設置安全的服務器系統。
(2)N.E.V.E.R沒能夠實現更改網站首頁的原因 要實現更改首頁內容,可從兩個方面入手,一是直接修改首頁文件,二是修改數據庫內容,因為首
頁調用了數據庫的一些數據。對于前者由于首頁文件設置了只有系統管理員才有寫的權限,其它用
戶都是只讀權限,所以在沒有獲得系統管理員權限的情況下,想更改是幾乎不可能的;對于后者而
言,由于數據庫文件和首頁文件設置了相同的權限,所以可能性不大,也許有的人會問那怎么更新
,其實方法很簡單,那就是需要更新的時候先設置一般用戶對數據庫文件可寫,更新完畢再設置成
只讀,雖然麻煩了但卻增加了安全性。并且,若不能夠進入文章管理界面的話,即便擁有用戶賬號
和密碼要實現修改數據庫也是比較困難的,當然若有人樂意為我修改為安全代碼的話,可能會為我
省去這麻煩,但可能省不去的是仍然會有被同樣手法攻擊的可能,因為修改者也無法保證他修改后
就一定安全了,畢竟新的不安全因素是潛在不可預測的。
(3)N.E.V.E.R很難在janker.org上實現權限提升的依據 權限提升的方法有很多種,但不外是漏洞利用、密碼破解和欺騙偽裝等手段,只要安全處理得當,
實現起來也并不容易,janker.org是通過以下處理來保障服務器安全的。 1、系統和應用軟件均保持安裝了最新的安全補丁程序。 2、去掉了服務器中不必要的服務和軟件系統并設置了嚴格的文件目錄和用戶訪問權限。 3、系統中沒有無用的用戶賬號存在,且設置了復雜密碼。 4、利用系統自身的端口過濾功能封閉了不必要的端口,并禁止不必要的外連。 5、安裝有自動更新功能的反病毒軟件。 6、安裝有進程監控軟件,除設定的程序外其它任何程序均不允許在系統中執行。 7、設置了所有的網站目錄為系統管理員可讀寫,普通用戶只能讀取。 8、網站中所有通過WEB可上傳文件的目錄均不允許執行腳本和程序。 9、為朋友免費提供的FTP空間通過HTTP訪問均不允許執行腳本和程序。 10、我的習慣是以普通方式而不是Web方式瀏覽服務器文件夾,顯示所有隱藏文件和擴展名,不直
接打開可疑程序。
當然,除上面的以外還做了更多的細致設置,比如:服務器偽裝、限制FSO和SHELL、設置特殊文件
權限等等。
總結,通過N.E.V.E.R的這次滲透入侵,可以看出我本人作為一名專業的安全人員,能夠做如
此細致的安全設置是可以理解的,但相信大多數安裝了防火墻和入侵監測及反病毒軟件就認為高枕
無憂的網絡管理員可就需要注意了,腳本的安全問題已經成了你安全防御線上最薄弱的一環,嚴重
的話通過權限提升可以輕易獲得系統的管理員權限,但也可以看出只要服務器自身的安全處理得當
,避免某些不可預料的安全問題是可能的。
致謝:
.PsKey - 是他最早告訴我站點使用的突圍文章系統www.laoji.com)存在腳本安全問題,并查
出了文章管理員的密碼,記得日期是2003年3月26日,是他促使我更改了管理腳本所在目錄的路徑
,提高了安全性,遺憾的是我仍然沒有時間去好好讀讀代碼,真是不到黃河不死心啊 :)。PsKey
朋友的qq是123935563,有興趣的與他聯系。
N.E.V.E.R - 是他再次提供了友情滲透并替我修改了程序的代碼,增加了代碼的安全性,使得
janker.org能夠更好地為大家服務,他的工作省卻了我去修改那些代碼的時間,衷心謝謝他!特別
指出的是,此外N.E.V.E.R還曾為新興的大型安全站點“黑客基地”http://www.hackbase.com,
做了友情滲透并修訂了不安全的腳本代碼,發揚了真正的黑客精神,值得大家學習,這也鞭撻了那
些只會拿現成工具去亂改頁面而不知道維護網絡安全的偽黑客!N.E.V.E.R的qq是1143431,有興趣
的話大家也可以和他聯系。
最后感謝所有支持、關心和愛護孤獨劍客站點的朋友,沒有你們,我的個人小站不會辦到今天
,有了你們它才在四年多以來以其獨特的氛圍吸引著一批又一批的安全愛好者!謝謝。
|