作為一個從知道創(chuàng)與到自建安全團隊的資深白帽子,一路也是從不止所謂的web小白歷經(jīng)磨難成長起來的我,給現(xiàn)在正在準備學習web安全的同學一些建議。在我認為,滲透安全的范圍其實要學習的東西很廣泛的,間接的相當于你要是一個前端工程師,也要是一個后端工程師(其中就包含主流的php,JAVA,python等),如果學習移動端安全,你還要是一個出色的安卓工程師,而網(wǎng)絡安全又細分為很多方向,比如系統(tǒng)安全、移動安全、無線安全、web安全等。
作為還沒接觸或者剛剛接觸滲透測試,或者安全方面的同學來說,這里建議你們可以從web安全開始學,web安全領域相對來說比較好入門,后續(xù)如果要轉的話,無論是轉前端還是轉后端都是比較吃香的,其實對于沒有學習過來說呢,入門是相對來說友好一些的。我剛開始的時候也是從web安全開始入手的,后續(xù)的介紹與相關教學也會以web安全為主。
第一課就先以介紹為主,如何上車web網(wǎng)絡安全
01對于系統(tǒng)的操作
首先要熟悉的就是各種操作系統(tǒng),這里主推centos,因為無論是企業(yè)還是個人網(wǎng)站,用的最多的都是以centos作為操作系統(tǒng)運行服務器,有能力的可以玩一下kali系統(tǒng),里面集成了很多滲透測試軟件。
02數(shù)據(jù)庫的學習
針對于web漏洞中的SQL,例如:MySQL數(shù)據(jù)庫的基本操作
Sqlmap sql注入工作的操作,著名的自動化sql注入工具,可以找到漏洞,并直接查看數(shù)據(jù)
03進行web安全滲透
熟悉常見的web攻擊類型,有機會可以直接進行實戰(zhàn)01:注入漏洞
1)SQL注入(SQL Injection)
由于程序?qū)QL相關的一些敏感字符缺少過濾or轉換,攻擊者把SQL命令插入到用戶提交的數(shù)據(jù)中,欺騙服務器執(zhí)行惡意的SQL命令,非法獲取到內(nèi)部權限和數(shù)據(jù)。
風險:讀取or篡改數(shù)據(jù)庫的數(shù)據(jù),獲取服務器or管理員權限
類型:
a、數(shù)據(jù)型
b、字符型
其他注入方式
c、偽靜態(tài)注入
d、GET & POST注入
e、Cookie注入
2)SQL盲注(SQL Blind Injection)
a.基于布爾的盲注[Boolean-Based]
SQL注入過程中,應用程序僅僅返回True頁面和False頁面,無法根據(jù)應用程序的返回頁面得到數(shù)據(jù)庫信息,但可通過構造邏輯條件(如比較大?。┫蚍斩苏埱蠛蟮姆祷仨撁鎭矸治雠袛辔覀兯枰臄?shù)據(jù)庫信息。
b.基于時間的盲注[Time-Based]
注入的SQL代碼影響后臺數(shù)據(jù)庫的功能,但此時Web的前端頁面始終顯示True頁面,知識頁面返回的響應時間有差異,可以根據(jù)時間差來推斷注入語句中的判斷條件真假,繼而獲取數(shù)據(jù)庫相關的信息。
3)OS命令注入
OS Command Injection,當應用程序使用外部輸入的字符串,or使用受外部影響的字符串來組裝命令時,若沒有進行安全過濾防范,可能產(chǎn)生OS命令的注入攻擊,甚至操作服務器相關的權限。
4)Xpath注入
利用XPath解析器的松散輸入和容錯特性,能夠在URL、表單或其它信息上附帶惡意的XPath查詢代碼,以獲得權限信息的訪問權并更改這些信息。
02:失效的身份認證和會話管理
用戶身份認證和會話管理是一個應用程序中最關鍵的過程,有缺陷的設計會嚴重破壞這個過程。在開發(fā)Web應用程序時,開發(fā)人員往往只關注Web應用程序所需的功能,通常會建立自定義的認證和會話管理方案。但要正確實現(xiàn)這些方案卻很難,結果這些自定義的方案往往在如下方面存在漏洞:退出、密碼管理、超時、記住我、密碼問題、帳戶更新等。
03:敏感信息泄露
在最近幾年,這是最常見的、最具影響力的攻擊。這個領域最常見的漏洞是不對敏感信息進行加密。在數(shù)據(jù)加密過程中,常見的問題是不安全的密鑰生成和管理以及使用弱加密算法、弱協(xié)議和弱密碼。特別是使用弱的哈希算法來保護密碼。
攻擊者不是直接攻擊密碼,而是在傳輸過程中或從客戶端(例如:瀏覽器)竊取密鑰、發(fā)起中間人攻擊,或從服務器端竊取明文數(shù)據(jù)。
04:XML外部實體(XXE)
默認情況下,許多舊的XML處理器能夠?qū)ν獠繉嶓w、XML進程中被引用和評估的URI進行規(guī)范。如果攻擊者可以上傳XML文檔或者在XML文檔中添加惡意內(nèi)容,通過易受攻擊的代碼、依賴項或集成,他們就能夠攻擊含有缺陷的XML處理器。
XXE缺陷可用于提取數(shù)據(jù)、執(zhí)行遠程服務器請求、掃描內(nèi)部系統(tǒng)、執(zhí)行拒絕服務攻擊和其他攻擊。
05:失效的訪問控制
由于缺乏自動化的檢測和應用程序開發(fā)人員缺乏有效的功能測試,因而訪問控制缺陷很常見。訪問控制檢測通常不適用于自動化的靜態(tài)或動態(tài)測試。手動測試是檢測訪問控制缺失或失效的最佳方法,包括:HTTP方法(如:GET和PUT)、控制器、直接對象引用。
攻擊者可以冒充用戶、管理員或擁有特權的用戶,或者創(chuàng)建、訪問、更新或刪除任何記錄。
06:安全配置錯誤
安全配置錯誤可以發(fā)生在一個應用程序堆棧的任何層面,包括網(wǎng)絡服務、平臺、Web服務器、應用服務器、數(shù)據(jù)庫、框架、自定義代碼和預安裝的虛擬機、容器和存儲。自動掃描器可用于檢測錯誤的安全配置、默認帳戶的使用或配置、不必要的服務、遺留選項等。
通常,攻擊者能夠通過未修復的漏洞、訪問默認賬戶、不再使用的頁面、未受保護的文件和目錄等來取得對系統(tǒng)的未授權的訪問或了解。
07:跨站腳本(XSS)
XSS是OWASP Top10中第二普遍的安全問題,存在于近三分之二的應用中。由于程序缺少對某些敏感字符的過濾or轉換,攻擊者對在url或輸入框中輸入HTML/JS惡意代碼提交成功后并被執(zhí)行,獲取用戶or程序敏感信息。
XSS對于反射和DOM的影響是中等的,而對于存儲的XSS,XSS的影響更為嚴重,譬如在受攻擊者的瀏覽器上執(zhí)行遠程代碼,例如:竊取憑證和會話或傳遞惡意軟件等。
08:不安全的反序列化
反序列化漏洞有十年的歷史,存在于不同的編程語言中,最為明顯的當屬Java、PHP、Python、Ruby。漏洞的本質(zhì)就是反序列化機制打破了數(shù)據(jù)和對象的邊界,導致攻擊者注入的惡意序列化數(shù)據(jù)在反序列化過程中被還原成對象,控制了對象就可能在目標系統(tǒng)上面執(zhí)行攻擊代碼。
09:使用含有已知漏洞的組件
這種安全漏洞普遍存在。基于組件開發(fā)的模式使得多數(shù)開發(fā)團隊不了解其應用或API中使用的組件,更談不上及時更新這些組件了。如Retire.js之類的掃描器可以幫助發(fā)現(xiàn)此類漏洞,但這類漏洞是否可以被利用還需花費額外的時間去研究。
10:不足的日志記錄和監(jiān)控
對不足的日志記錄及監(jiān)控的利用幾乎是每一個重大安全事件的溫床。攻擊者依靠監(jiān)控的不足和響應的不及時來達成他們的目標而不被知曉。
根據(jù)行業(yè)調(diào)查的結果,此問題被列入了Top10。判斷你是否有足夠監(jiān)控的一個策略是在滲透測試后檢查日志。測試者的活動應被充分的記錄下來,能夠反映出他們造成了什么樣的影響。
多數(shù)成功的攻擊往往從漏洞探測開始。允許這種探測會將攻擊成功的可能性提高到近100%;據(jù)統(tǒng)計,在2016年確定一起數(shù)據(jù)泄露事件平均需要花191天時間,這么長時間里損害早已發(fā)生。
11:跨站請求偽造(CSRF)
CSRF是利用某些web應用程序允許攻擊者預測一個特定操作的所有細節(jié)。由于瀏覽器自動發(fā)送會話cookie等認證憑證,攻擊者能創(chuàng)建惡意web頁面產(chǎn)生偽造請求。這些偽造請求很難與合法請求區(qū)分開。
攻擊者能欺騙受害用戶完成該受害者所允許的任意狀態(tài)改變的操作,比如:更新帳號細節(jié),完成購物,注銷甚至登錄等操作。
12:未驗證的重定向和轉發(fā)
應用程序經(jīng)常將用戶重定向到其他網(wǎng)頁,或以類似的方式進行內(nèi)部轉發(fā)。有時,目標網(wǎng)頁是通過一個未經(jīng)驗證的參數(shù)來指定的,這就允許攻擊者選擇目標頁面。
攻擊者鏈接到未驗證的重定向并誘使受害者去點擊。由于是鏈接到有效的網(wǎng)站,受害者很有可能去點擊。攻擊者利用不安全的轉發(fā)繞過安全檢測。
這種重定向可能試圖安裝惡意軟件或者誘使受害者泄露密碼或其他敏感信息。不安全的轉發(fā)可能允許繞過訪問控制。
12:弱口令漏洞
弱口令(weak password) ,沒有嚴格和準確的定義,通常認為容易被別人(他們有可能對你很了解)猜測到或被破解工具破解的口令均為弱口令,如:生日、名字、簡單的順序數(shù)字or字符。
13:文件上傳漏洞
文件上傳漏洞是指網(wǎng)絡攻擊者上傳了一個可執(zhí)行的文件到服務器并執(zhí)行。這里上傳的文件可以是木馬,病毒,惡意腳本或者WebShell等。大多數(shù)的上傳漏洞被利用后攻擊者都會留下WebShell以方便后續(xù)進入系統(tǒng)。攻擊者在受影響系統(tǒng)放置或者插入WebShell后,可通過該WebShell更輕松,更隱蔽的在服務中為所欲為。
WebShell就是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境,也可以將其稱之為一種網(wǎng)頁后門。攻擊者在入侵了一個網(wǎng)站后,通常會將這些asp或php后門文件與網(wǎng)站服務器web目錄下正常的網(wǎng)頁文件混在一起,然后使用瀏覽器來訪問這些后門,得到一個命令執(zhí)行環(huán)境,以達到控制網(wǎng)站服務器的目的(可以上傳下載或者修改文件,操作數(shù)據(jù)庫,執(zhí)行任意命令等)。
14:緩沖區(qū)溢出
在計算機內(nèi)部,輸入數(shù)據(jù)通常被存放在一個臨時空間內(nèi),這個臨時存放的空間就被稱為緩沖區(qū),緩沖區(qū)的長度事先已經(jīng)被程序或者操作系統(tǒng)定義好了。向緩沖區(qū)內(nèi)填充數(shù)據(jù),如果數(shù)據(jù)的長度很長,超過了緩沖區(qū)本身的容量,那么數(shù)據(jù)就會溢出存儲空間,而這些溢出的數(shù)據(jù)還會覆蓋在合法的數(shù)據(jù)上。
操作系統(tǒng)所使用的緩沖區(qū)又被稱為堆棧,在各個操作進程之間,指令被臨時存儲在堆棧當中,堆棧也會出現(xiàn)緩沖區(qū)溢出。當一個超長的數(shù)據(jù)進入到緩沖區(qū)時,超出部分就會被寫入其他緩沖區(qū),其他緩沖區(qū)存放的可能是數(shù)據(jù)、下一條指令的指針,或者是其他程序的輸出內(nèi)容,這些內(nèi)容都被覆蓋或者破壞掉。
15:業(yè)務邏輯漏洞
業(yè)務邏輯問題是一種設計缺陷,邏輯缺陷表現(xiàn)為設計者或開發(fā)者在思考過程中做出的特殊假設存在明顯或隱含的錯誤。攻擊者會特別注意目標應用程序采用的邏輯方式,設法了解設計者與開發(fā)者做出的可能假設,然后考慮如何攻破這些假設。攻擊者挖掘邏輯漏洞有兩個重點:業(yè)務流程、http/https請求篡改。
業(yè)務邏輯漏洞經(jīng)常出現(xiàn)的場景為:賬戶(注冊/登錄/密碼找回)、交易、支付、個人信息修改。
04各種的搜索引擎的使用技巧:
Google、FOFA、shodan、zoomeye等搜索引擎的使用技巧來進行資產(chǎn)的收集,在做前期的滲透信息收集的時候,是非常重要的??梢匀ニ岩幌鹿雀韬诳驼Z法,有些直接可以搜出網(wǎng)站登陸后臺,再用簡單的sqlmap直接跑注入,一些簡單的網(wǎng)站直接就能改破解了。
05 HTML5、css3、PHP
在進行學習web滲透之前呢,需要簡單了解一下語言HTML5、css3、PHP ,這些語言對于了解web安全漏洞有很大的幫助的。
06 要掌握基本的幾種黑客工具的使用:
AWVS、appscan、nmap、burpsuite、sqlmap、xray、Metasploit、瀏覽器代理、各種語言的小馬大馬、蟻劍等工具的使用07 對于一些網(wǎng)站的基礎框架要有一定的了解:TP、DZ、WP、織夢、帝國、structs、ecshop、等常見的網(wǎng)站框架要了解08 Linux滲透進階知識:Linux下手動查殺木馬過程-使用rootkit隱藏蹤跡的審計方法,主要有模擬木馬程序病原體并讓木馬程序自動運行的代碼審計,木馬父進程實時監(jiān)控木馬的原理及防御方法,創(chuàng)建一個讓root用戶都刪除不了的木馬程序的原理及防御方法,深入講解如何不讓木馬程序和外網(wǎng)數(shù)據(jù)主動通信,使用rootkit把木馬程序的父進程和木馬文件隱藏的審計方法,使用rkhunter Rootkit獵手來檢查rootkit,還有Linux下的手工提權原理-劫持賬號和密碼審計及防御方法-Tripwire檢查文件。以上的web滲透安全相關的知識點,建議大家先去了解這些漏洞出現(xiàn)的原因,再去學習攻擊這些漏洞,最后的最后才是學習如何去防范這些漏洞,這其中,幾乎每一步都是難的,了解漏洞出現(xiàn)的原因,在你看到一個系統(tǒng)之后,你根本發(fā)現(xiàn)不了漏洞,更無法去了解他出現(xiàn)的原因了,常見的攻擊思路是使用常見的漏洞攻擊方式,一步步的去試(現(xiàn)在大部分后臺框架都已經(jīng)集成了常見攻擊方式的防范策略,更高級的方式等待你們?nèi)ラ_發(fā)),其中也包含一些社會工程學的應用,比如誘導郵件之類的,總之,網(wǎng)絡攻防就像是一場戰(zhàn)役,沒有絕對安全的系統(tǒng),一切都等待你們?nèi)グl(fā)掘。
后續(xù)公眾號會制作一個簡單的實戰(zhàn)靶場,以闖關的方式,讓你們更清楚的了解各種攻擊方式,以便更好的學習攻防技巧。
(失蹤人口回歸,這幾天已經(jīng)把賬號托管給幾個認識的朋友運營,自己也會參與到賬號的運營中來,以便提供更加優(yōu)質(zhì)的文章與實戰(zhàn)平臺。)
為了幫助大家更好的學習網(wǎng)絡安全,我給大家準備了一份網(wǎng)絡安全入門/進階學習資料,里面的內(nèi)容都是適合零基礎小白的筆記和資料,不懂編程也能聽懂、看懂這些資料!
因篇幅有限,僅展示部分資料,需要點擊下方鏈接即可前往獲取文章來源:http://www.zghlxwxcb.cn/news/detail-826725.html
[2024最新CSDN大禮包:《黑客&網(wǎng)絡安全入門&進階學習資源包》免費分享]
因篇幅有限,僅展示部分資料,需要點擊下方鏈接即可前往獲取
[2024最新CSDN大禮包:《黑客&網(wǎng)絡安全入門&進階學習資源包》免費分享]文章來源地址http://www.zghlxwxcb.cn/news/detail-826725.html
到了這里,關于小白學安全--web安全入門(非常詳細)零基礎入門到精通,收藏這一篇就夠了的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!