請不要因為沒吃過豬肉,也沒見過豬跑,就否認這世界上有豬的存在;更沒必要國為2007是豬年一下子變得跟豬一樣“可愛”
開源最原始的說法就是開放源代碼,而黑客已經是IT業乃至社會大眾都耳熟能詳的名詞了,就連上學3年級的小強都經常信誓旦旦的說:“我長大要做一名黑客!”。全世界的黑客非常多,因為性質不同可以細化成CRACKER或HACKER,中國也不例外。有一點不同的是,中國存在著大量的“黑客”----一群拿著別人做的工具去掃描別留下的各種錯誤的黑心客人。
開源與黑客有什么關系呢?Linux因為開源了,所以其初最設計上的一些安全問題很快就被業內所知曉,代碼中的Bug很快被修復,而其中涉及到安全上的問題解決基本上來源于黑客高手的貢獻。而Windows沒有開源,因此他的漏洞存在概率大得多,因此中國的“黑客”們就會不厭其煩的用他來練手。

這個被“黑”的系統是EasyJF發布的一個EasyJWeb及EasyDBO的應用示例程序,原型是一個只有兩臺電腦、三個人、一個操作人員的小工廠的用在局域網內部的訂銷管理系統。我參與過這個示例的代碼書寫,用了幾天的時間,發布在網上的示例應用是最初版,那個小廠的正版改了非常多的東西。本次的“黑客”很輕松就發現了原來那個輸入產品標題的input文本框中盡然可以輸入<script>標簽,于是在里面輸入了一個<script>while(true)alert('垃圾程序')<script>這樣的標題,于是當別人看示例的時候,顯示這個標題的時候就出現了上圖的被“黑”現象。
這讓我想起這次回農村老家王大爺給我講的一件事。他說咱村路邊上金小二家的狗非常聰明,專咬肩上挑著重擔子的人。狗見了陌生人要吼著并做聲勢這不奇怪,而金小二家的狗不一樣,因為凡肩上有擔子的人,見狗來了都不好把擔子放下來(因為難得重新抬上肩),甚至沒發作動作嚇唬它,金小二家的狗看出了這一點,所以凡是沒帶多少東西的路人,他頂多在幾迷以外大吼幾聲,而遇到肩上有重擔的人,他必跑上來咬。因此,后來那些凡是挑了擔子的,過金小二家門口時,都需要一個空手的人陪著。
?
就像因為有太多“黑客”存在,我們在做任何的系統的時候,盡管你的系統定位是在局域網、或者單機、甚至只是簡單的演示,你都需要配一個專門負責安全檢查的人,以防“黑客”們的“入侵”。
當然,EasyJF開源輕易發布這樣存在著“嚴重”、“低級別”安全漏洞的源代碼是應該批評的,作為成員之一我也為此感到慚愧,同時作為完全開源的東西也非常希望大家能更友善的多提出類似的漏洞、或者親自來修補。相信經歷這樣的事兒大家也很提高了警惕,就像咱村里的人都對金小二家的那只聰明的狗格外重視一樣。
不過想想咱村那只狗也非常可愛,我突發奇想下次我要是回去,他還在的話。我一定挑一擔子棉花,然后拿一跟鐵棍做拐,等他上來的時候用鐵棍逗它玩玩。如此想來,“春迷”式的“黑客”們也還是很可愛的。
不過,還是奉勸“春迷”小朋友們:請不要因為沒吃過豬肉,也沒見過豬跑,就否認這世界上有豬的存在;更沒必要國為2007是豬年一下子變得跟豬一樣“可愛”。
?
最后,帖出EasyJF的netgod同學發出來的部分防“跨站腳本漏洞”入侵的相關代碼,希望大家小心“黑客”!
?以上多種形式的跨站腳本都會啟動跨站注入,并且可以運行到JSP語句危害到服務器!
關于這種漏洞,只需要簡單的把可能包含的類似注入的信息輸入框的信息屏閉掉,對于B/S應用來說,最簡單的辦法之一是直接替換掉“<”及其unicode碼%3c。如下面的形式:
?public static String eliminateScript(String value)
? {??
?? return value.replaceAll("<","<").replaceAll("%3c", "<");
?}
當然,對于要允許輸入html標簽的表單,則不能像上面這樣處理,需要逐一處理,其它方法還有很多,只要小心注意就是了,就像咱村挑著擔子的農民叔叔路過金小二家的門口時一樣。?
(本文作者:
EasyJF開源團隊??
大峽 歡迎轉載,轉載請保留作者聲明,謝謝!)
posted on 2007-01-11 18:52
簡易java框架 閱讀(1732)
評論(20) 編輯 收藏