一, 錯誤的配置php
錯誤的配置有系統環境的配置不當和系統應用的配置不當,例如普通用戶具備管理員權限、使用應用程序的默認配置等等,經過google或者baidu均可以使用搜索語法直接搜索到有配置漏洞的網站和服務器,例如phpmyadmin,MySQL默認配置,sqlserver sa空口令,以及任意文件讀取,黑客能夠經過這些垂手可得地入侵存在這些漏洞的服務器mysql
二, 主機開放的端口ios
主機上的端口一直都是風險評估的重點工做,而正是這些端口存在各類各樣的漏洞致使黑客能夠利用漏洞直接入侵主機。常見的有過漏洞的端口:c++
21端口 ftp服務redis
22端口 openssh服務sql
23端口 telnet服務thinkphp
25端口 郵件服務shell
53端口 DNS服務數據庫
80端口 http服務數組
88端口 kerbos sec服務
110端口 pop3服務
111端口 sunrpc/rpcbind
135端口 DCOM服務
137/138/139 netbios服務
443端口 https服務
445端口 smb服務
1433端口 sqlserver服務
1521端口 oracle服務
3264端口 IBM Lotus Notes服務
3306端口 mysql服務
3389端口 rdp服務
8080端口 tomcat服務/http proxy
9000端口 php-fpm服務
三, 暴力破解
暴力破解也是當今入侵的主流手段之一,它的利用原理就是使用相關的工具+事先準備好的字典進行強行猜解用戶名和密碼,這種入侵手法直截了當,可是也須要依靠運氣,更依賴於一個強大的字典,有的人跑一天都沒能跑出用戶密碼,有的人幾個小時甚至幾分鐘就能爆出用戶名密碼,這種方式受客觀條件限制。例如用戶設置的密碼超級複雜,那麼對應得字典中若是沒有收錄的話同樣是扯淡。因此使用暴力破解字典很重要。
四, 脆弱性應用程序
這裏的脆弱性應用程序是指那些存在漏洞的應用程序,例如struts2漏洞,dedcms漏洞,wordpress漏洞,IIS漏洞,thinkphp漏洞,tomcat漏洞,zabbix漏洞,mysql漏洞,oracle漏洞,redis漏洞等等,舉不勝舉。
這些都是運行在服務器上的應用程序。凡事都有2面性,沒有100%完美的東西,因此存在漏洞的應用也多,隨之而來的安全問題也不可忽視,稍不注意你的服務器可能就已經處在被人的掌控之中了。
五, SQL注入
Sql注入堪稱經典,用戶登陸某個網站時輸入用戶名和密碼,這是會在瀏覽器產生一個http請求,這個請求會到達用戶瀏覽的這個網站所在的服務器上的數據庫,到達數據庫後,會去數據庫裏頭查詢用戶輸入的用戶是否存在,密碼是否正確,若是存在則驗證經過,若是不存在則提示用戶名密碼錯誤,這是咱們平常網上衝浪常常要作的事情。假設如今咱們瀏覽某個頁面時當經過抓包工具分析咱們瀏覽器產生的這個http請求,這時會發現請求的url相似下面這樣:
http://xxx.xxx.com/index.jsp?item=7
如今假如這個網站沒有一個強有力的sql注入防禦層或者過濾層的話,那麼咱們能夠在?id=7後面繼續添加語句,例如添加and 1=2 union all select @@global.version_compile_os from mysql.user /*
20%表示空格
這樣的請求若是服務器成功處理而且到達數據庫的話,那麼數據庫裏的語句則變成了select id from table where id=7 and 1=2 union all select @@global.version_compile_os from mysql.user /*;
此時數據庫會成功解析這條語句而且返回結果,這裏的構造語句會返回操做系統信息。
當咱們能夠利用sql語句操做數據庫的時候就意味着咱們能夠利用數據庫與主機進行交互,這時候若是權限夠大的話咱們還能夠利用sql語句獲取到網站的根目錄,而且能夠進一步上傳木馬進行getshell,最後控制主機。
六, 緩衝區溢出
緩衝區溢出攻擊的原理其實利用的是c/c++開發人員對代碼的不嚴謹產生的數據越界行爲進行利用,例如數組越界讀寫等等。這裏面涉及到計算機底層的知識,具有緩衝區溢出攻擊能力的黑客不在少數,雖然如今的操做系統愈來愈多的增強了對堆棧數據的保護,可是那也是新版的操做系統,一些老版本的操做系統依然處在危險之中。有人可能以爲那好啊,我升級個人操做系統唄,這樣不就高枕無憂了嗎,很不幸,操做系統升級了,可是操做系統上的一些應用也是存在這些漏洞。黑客能夠利用這些應用的數據越界讀寫執行shellcode並控制主機。網上的相關案例很多,以及各大安全服務平臺的報告也很多。