引子
這篇文章寫起來還是蠻難的,難在不容易把整個網站安全體系全部寫出來,或者文中應當添些真實案例讓大家感覺筆力飽滿,用墨充足。鑒于大量站長/網民普遍認為網站是“固若金湯”的安全,毫不擔心也不在意自身隱私安全等其他問題,讓我來試試科普是否能改變現狀觀念,哪怕只是一小撮人群呢?篇幅過長,另有文中有部分技術細節,大家可簡單略過。好在昨天 @李奇 和我說知乎回答字數10W限制?開始還擔心字數太多,這樣我就可以放心去寫了。
你的網站真的堅不可摧?
目前的網站可分為三大塊:個人運營、團隊/公司運營、政府運營。
個人網站比例還是很大的,這種網站多數采用開源系統,如博客類:Wordpress、Emlog、Typecho、Z-blog、More...,社區類:Discuz、PHPwind、StartBBS、Mybb等等。
團隊/公司網站使用常用的開源CMS比例也是非常大,政府類網站基本上外包開發較多。
當然互聯網公司自家產品應用必然都是公司自主開發:淘寶?知乎?豆瓣?太多了。
更泛一點的說,分為兩大塊:開源與閉源。
能夠有效說明網站偽安全的就是從實戰出發的角度去證明到底是不是真的固若金湯。
這里之所以講到入侵方法不是為了教大家如何入侵網站,而是了解入侵的方法多種多樣,知己知彼才能百戰不殆。菜刀能夠用來切菜,同樣也能夠用來殺人。
黑客們入侵網站普遍的手法/流程:
1、信息收集
1.1/ Whois信息--注冊人、電話、郵箱、DNS、地址
1.2/ Googlehack--敏感目錄、敏感文件、更多信息收集
1.3/ 服務器IP--Nmap掃描、端口對應的服務、C段
1.4/ 旁注--Bing查詢、腳本工具
1.5/ 如果遇到CDN--Cloudflare(繞過)、從子域入手(mail,postfix)、DNS傳送域漏洞
1.6/ 服務器、組件(指紋)--操作系統、web server(apache,nginx,iis)、腳本語言
1.7/ More...
通過信息收集階段,攻擊者基本上已經能夠獲取到網站的絕大部分信息,當然信息收集作為網站入侵的第一步,決定著后續入侵的成功。
2、漏洞挖掘
2.1/ 探測Web應用指紋--Discuz、PHPwind、Dedecms、Ecshop...
2.2/ XSS、CSRF、XSIO、SQLinjection、權限繞過、任意文件讀取、文件包含...
2.3/ 上傳漏洞--截斷、修改、解析漏洞
2.4/ 有無驗證碼--進行暴力破解
2.5/ More...
經過漫長的一天,攻擊者手里已經掌握了你網站的大量信息以及不大不小的漏洞若干,下一步他們便會開始利用這些漏洞獲取網站權限。
3、漏洞利用
3.1/ 思考目的性--達到什么樣的效果
3.2/ 隱藏,破壞性--根據探測到的應用指紋尋找對應的EXP攻擊載荷或者自己編寫
3.3/ 開始漏洞攻擊,獲取相應權限,根據場景不同變化思路拿到webshell
4、權限提升
4.1/ 根據服務器類型選擇不同的攻擊載荷進行權限提升
4.2/ 無法進行權限提升,結合獲取的資料開始密碼猜解,回溯信息收集
5、植入后門
5.1/ 隱蔽性
5.2/ 定期查看并更新,保持周期性
6、日志清理
6.1/ 偽裝性,隱蔽性,避免激警他們通常選擇刪除指定日志
6.2/ 根據時間段,find相應日志文件
太多太多。。。
說了那么多,這些步驟不知道你看懂了多少?其實大部分的腳本小黑顯然不用這些繁瑣的步驟,他們只喜歡快感!通常他們會使用各種漏洞利用工具或者弱口令(admin,admin888)進行攻擊,入侵無果就會選擇睡覺、打飛機或者去做一些其他的事情。當然,這種“黑客”僅僅是出于“快感”而去想入侵你的網站,如果是別有它意的人,麻煩就來了。
對了,上面這些步驟是剛翻到12年我整理的一個freemind思維導圖的部分內容:
(點擊查看大圖)
優秀的白帽子/黑帽子會根據目標網站進行黑盒/白盒測試進行漏洞挖掘,白盒可稱為代碼審計,而黑盒則是在接觸不到代碼的情況下進行的模糊測試。通過上面這些步驟,目前國內的一些網站可謂是難逃一劫,當然具體場景遇到的不同情況要變化不同的攻擊思路??吹搅四敲炊?,仔細想一下,我們的網站到底安全嗎?當然,還有一種攻擊概念:APT(以后有機會再寫吧!一言難盡!)
原文轉自:http://wang186.cn/post-286.html