Web安全有沒有什么路線。確實(shí),Web安全的范圍實(shí)在太大,哪些先學(xué),哪些后學(xué),如果沒有系統(tǒng)的路線會(huì)降低大家效率,對(duì)于剛?cè)腴T的同學(xué)們來說簡直就是“噩夢(mèng)”。所以,這篇類似學(xué)習(xí)路線的文章,希望可以幫助剛?cè)腴T的萌新們少走彎路。
首先我們來看看企業(yè)對(duì)Web安全工程師的崗位招聘需求是什么?
對(duì)公司各類系統(tǒng)進(jìn)行安全加固;
對(duì)公司網(wǎng)站、業(yè)務(wù)系統(tǒng)進(jìn)行安全評(píng)估測(cè)試(黑盒、白盒測(cè)試)
對(duì)公司安全事件進(jìn)行響應(yīng)、清理后門、根據(jù)日志分析攻擊途徑
安全技術(shù)研究,包括安全防范技術(shù)、黑客技術(shù)等;
跟蹤最新漏洞信息,進(jìn)行業(yè)務(wù)產(chǎn)品的安全檢查。
熟悉Web滲透測(cè)試方法和攻防技術(shù),包括SQL注入、XSS跨站、CSRF偽造請(qǐng)求、命令執(zhí)行等OWSP TOP10 安全漏洞與防御;
熟悉Linux、Windows不同平臺(tái)的滲透測(cè)試,對(duì)網(wǎng)絡(luò)安全、系統(tǒng)安全、應(yīng)用安全有深入理解和自己的認(rèn)識(shí);
熟悉國內(nèi)外安全工具,包括Kali、Linux、Metasploit、Nessus、Namp、AWVS、Burp等;
對(duì)Web安全整體有深刻理解,有一定漏洞分析和挖掘能力;
根據(jù)崗位技能需求,再來制定我們的學(xué)習(xí)路徑,如下:
只有搞明白Web是什么,我們才能對(duì)Web安全進(jìn)行深入研究,所以你必須了解HTTP,了解了HTTP,你就會(huì)明白安全術(shù)語的“輸入輸出”。黑客通過輸入提交“特殊數(shù)據(jù)”,特殊數(shù)據(jù)在數(shù)據(jù)流的每個(gè)層處理,如果某個(gè)層沒處理好,在輸出的時(shí)候,就會(huì)出現(xiàn)相應(yīng)層的安全問題。關(guān)于HTTP,你必須要弄明白以下知識(shí):
HTTP/HTTPS特點(diǎn)、工作流程
HTTP協(xié)議(請(qǐng)求篇、響應(yīng)篇)
了解HTML、java script
Get/Post區(qū)別
Cookie/Session是什么?
Webshell
菜刀
0day
SQL注入
上傳漏洞
XSS
CSRF
一句話木馬
......
熟悉如何滲透測(cè)試安全工具,掌握這些工具能大大提高你在工作的中的效率。
Vmware安裝
Windows/kali虛擬機(jī)安裝
Phpstudy、LAMP環(huán)境搭建漏洞靶場(chǎng)
Java、Python環(huán)境安裝
子域名工具 Sublist3r
Sqlmap
Burpsuite
Nmap
W3af
Nessus
Appscan
AWVS
要研究 XSS 首先了解同源策略 ,java script 也要好好學(xué)習(xí)一下 ,以及HTML實(shí)體 HTML實(shí)體的10 或16進(jìn)制還有java script 的8進(jìn)制和16進(jìn)制編碼,最終掌握以下幾種類型的XSS:
反射型 XSS:可用于釣魚、引流、配合其他漏洞,如 CSRF 等。
存儲(chǔ)型 XSS:攻擊范圍廣,流量傳播大,可配合其他漏洞。
DOM 型 XSS:配合,長度大小不受限制 。
所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。你需要了解以下知識(shí):
SQL 注入漏洞原理
SQL 注入漏洞對(duì)于數(shù)據(jù)安全的影響
SQL 注入漏洞的方法
常見數(shù)據(jù)庫的 SQL 查詢語法
MSSQL,MYSQL,ORACLE 數(shù)據(jù)庫的注入方法
SQL 注入漏洞的類型:數(shù)字型注入 、字符型注入、搜索注入 、盲注(sleep注入) 、Sqlmap使用、寬字節(jié)注入
SQL 注入漏洞修復(fù)和防范方法
一些 SQL 注入漏洞檢測(cè)工具的使用方法
了解下開源編輯器上傳都有哪些漏洞,如何繞過系統(tǒng)檢測(cè)上傳一句話木馬、WAF如何查殺Webshell,你必須要掌握的一些技能點(diǎn):
1.客戶端檢測(cè)繞過(JS 檢測(cè))
2.服務(wù)器檢測(cè)繞過(目錄路徑檢測(cè))
3.黑名單檢測(cè)
4.危險(xiǎn)解析繞過攻擊
5..htaccess 文件
6.解析調(diào)用/漏洞繞過
7.白名單檢測(cè)
8.解析調(diào)用/漏洞繞過
9.服務(wù)端檢測(cè)繞過-文件內(nèi)容檢測(cè)
10.Apache 解析漏洞
11.IIS 解析漏洞
12.Nginx 解析漏洞
去學(xué)習(xí)下
include() include_once() require() require_once() fopen() readfile()
這些php函數(shù)是如何產(chǎn)生文件包含漏洞, 本地包含與遠(yuǎn)程包含的區(qū)別,以及利用文件包含時(shí)的一些技巧如:截?cái)?/偽url/超長字符截?cái)嗟?。
PHP代碼中常見的代碼執(zhí)行函數(shù)有:
eva l(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
了解這些函數(shù)的作用然后些搞清楚如何造成的代碼執(zhí)行漏洞。
09 CSRF 跨站點(diǎn)請(qǐng)求
為什么會(huì)造成CSRF,GET型與POST型CSRF 的區(qū)別, 如何防御使用 Token防止CSRF?
了解以下幾類邏輯漏洞原理、危害及學(xué)會(huì)利用這幾類漏洞:
信息轟炸、支付邏輯漏洞、任意密碼修改、越權(quán)訪問、條件競爭、任意注冊(cè)、任意登錄、順序執(zhí)行缺陷、URL跳轉(zhuǎn)漏洞.
當(dāng)允許XML引入外部實(shí)體時(shí),通過構(gòu)造惡意內(nèi)容,可以導(dǎo)致文件讀取、命令執(zhí)行、內(nèi)網(wǎng)探測(cè)等危害。
了解SSRF的原理,以及SSRF的危害。
SSRF能做什么?當(dāng)我們?cè)谶M(jìn)行Web滲透的時(shí)候是無法訪問目標(biāo)的內(nèi)部網(wǎng)絡(luò)的,那么這個(gè)時(shí)候就用到了SSRF漏洞,利用外網(wǎng)存在SSRF的Web站點(diǎn)可以獲取如下信息。
1.可以對(duì)外網(wǎng)、服務(wù)器所在內(nèi)網(wǎng)、本地進(jìn)行端口掃描,獲取一些服務(wù)的banner信息;
2.攻擊運(yùn)行在內(nèi)網(wǎng)或本地的應(yīng)用程序(比如溢出);
3.對(duì)內(nèi)網(wǎng)Web應(yīng)用進(jìn)行指紋識(shí)別,通過訪問默認(rèn)文件實(shí)現(xiàn);
4.攻擊內(nèi)外網(wǎng)的Web應(yīng)用,主要是使用get參數(shù)就可以實(shí)現(xiàn)的攻擊(比如struts2,sqli等);
5.利用file協(xié)議讀取本地文件等。