想學(xué)習(xí)Web安全,如何入門(mén)?
開(kāi)始前的思考
1. 我真的喜歡搞安全嗎?
2. 我想通過(guò)安全賺錢錢?
3. 我不知道做什么就是隨便?
4. 一輩子做安全嗎?
這些不想清楚會(huì)對(duì)你以后的發(fā)展很不利,與其盲目的學(xué)習(xí)web安全,不如先做一個(gè)長(zhǎng)遠(yuǎn)的計(jì)劃。否則在我看來(lái)都是浪費(fèi)時(shí)間。
首先你得了解Web
Web分為好幾層,一圖勝千言:

事實(shí)是這樣的:如果你不了解這些研究對(duì)象是不可能搞好安全研究的。
這樣看來(lái),Web有八層(如果把瀏覽器也算進(jìn)去,就九層!每層都有幾十種主流組件!?。。┻@該怎么辦?
一法通則萬(wàn)法通,這是橫向的層,縱向就是數(shù)據(jù)流!搞定好數(shù)據(jù)流:從橫向的層,從上到下→從下到上,認(rèn)真看看這些數(shù)據(jù)在每個(gè)層是怎么個(gè)處理的。
【W(wǎng)eb安全學(xué)習(xí)路線資料&工具】

零基礎(chǔ)web安全學(xué)習(xí)計(jì)劃
2.1 HTTP協(xié)議請(qǐng)求 (TIME: 一周)
對(duì)以下下知識(shí)點(diǎn)做了解學(xué)習(xí)
http協(xié)議請(qǐng)求
http狀態(tài)碼 ? ? ? ? ? ? ?
post / get 區(qū)別 ? ? ?
可以使用Chrome瀏覽器中F12查看“Network”標(biāo)簽中的HTTP請(qǐng)求響應(yīng),來(lái)了解HTTP協(xié)議請(qǐng)求.

2.2.危險(xiǎn)的HTTP頭參數(shù) (TIME: 一周)
HTTP請(qǐng)求時(shí)需對(duì)一些必要的參數(shù)做一些了解,這些參數(shù)也會(huì)造成很嚴(yán)重的安全安全問(wèn)題如下:
user_agent
X-Forwarded-For
Referer
clien_ip
Cookie ? ? ?
2.3 專業(yè)術(shù)語(yǔ) (TIME: 一天)
了解如下專業(yè)術(shù)語(yǔ)的意思
webshell
菜刀
0day
SQL注入
上傳漏洞
XSS
CSRF
一句話木馬

2.4 專業(yè)黑客工具使用 (TIME: 10天)
熟悉如何滲透測(cè)試安全工具,掌握這些工具能大大提高你在工作的中的效率。
sqlmap ? ?
Burpsuite ?
nmap ? ? ?
w3af ? ? ?
nessus ?
Appscan
AWVS
2.5?腳本語(yǔ)言+代碼審計(jì)入門(mén) (TIME: 10天)
推薦php不用學(xué)的太靈通,我們又不是搞開(kāi)發(fā),了解基本語(yǔ)法和一些危險(xiǎn)函數(shù)即可如:open exec 等函數(shù)會(huì)造成什么漏洞,了解了php中的危險(xiǎn)函數(shù)會(huì)造成那些漏洞可舉一反三套用到別的腳本當(dāng)中 asp aspx java這些語(yǔ)言的危險(xiǎn)函數(shù)可能只是寫(xiě)法不一樣功能是相同的,了解這些后就可以來(lái)做一些web漏洞的代碼審計(jì)了.
php入門(mén)學(xué)習(xí) ?
php代碼審計(jì) ?
2.6 Sql注射 (TIME: 3天)
** 零基礎(chǔ)就先用最有效的辦法注入推薦注入工具 sqlmap如何使用?**
如果你不想只停留在使用工具的層面,那么你需要學(xué)習(xí)一下數(shù)據(jù)庫(kù),mysql sqlserver 隨便先學(xué)一個(gè)前期學(xué)會(huì) selsct 就行,php嘗試自己寫(xiě)一個(gè)查詢數(shù)據(jù)庫(kù)的腳本來(lái)了解手工sql注入的原理,這樣進(jìn)步會(huì)很快,如果想深入可以把各種數(shù)據(jù)庫(kù)注入都溫習(xí)一邊。關(guān)于需要掌握的技術(shù)點(diǎn):
1\. 數(shù)字型注入
2.字符型注入
3.搜索注入
4.盲注(sleep注入)
5.sqlmap使用
6.寬字節(jié)注入
mysql入門(mén) ?
Sqlmap ? ?
sleep原理 ? ?
盲注sleep函數(shù)執(zhí)行sql注入攻擊
【W(wǎng)eb安全學(xué)習(xí)路線資料&工具】

2.7 CSRF 跨站點(diǎn)請(qǐng)求 (TIME: 3天)
為什么會(huì)造成csrf,GET型與POST型CSRF 的區(qū)別, 如何防御使用 token防止 csrf?
2.8 XSS (TIME: 7天)
要研究xss首先了解同源策略 ,Javascript 也要好好學(xué)習(xí)一下 ,以及html實(shí)體 html實(shí)體的10 或16進(jìn)制還有javascript 的8進(jìn)制和16進(jìn)制編碼,
xss ? ?
進(jìn)制編碼 ?
同源策略 ?
2.9 文件上傳漏洞 (TIME: 7天)
了解下開(kāi)源編輯器上傳都有那些漏洞,如何繞過(guò)系統(tǒng)檢測(cè)上傳一句話木馬
上傳繞過(guò)
2.10 php-遠(yuǎn)程/本地 文件包含 (TIME: 10天)
去學(xué)習(xí)下include() include_once() require() require_once() fopen() readfile()
這些php函數(shù)是如何產(chǎn)生文件包含漏洞, 本地包含與遠(yuǎn)程包含的區(qū)別。
以及利用文件包含時(shí)的一些技巧如:截?cái)?/偽url/超長(zhǎng)字符截?cái)?等 。
2.11 php-命令執(zhí)行 (TIME: 3天)
PHP代碼中常見(jiàn)的代碼執(zhí)行函數(shù)有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()
等。
了解這些函數(shù)的作用然后些搞清楚如何造成的代碼執(zhí)行漏洞。
2.12 ssrf (TIME: 3天)
1\了解ssrf的原理,以及ssrf的危害。
2\ssrf能做什么。
當(dāng)我們?cè)谶M(jìn)行web滲透的時(shí)候是無(wú)法訪問(wèn)目標(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í)別,通過(guò)訪問(wèn)默認(rèn)文件實(shí)現(xiàn);
4.攻擊內(nèi)外網(wǎng)的web應(yīng)用,主要是使用get參數(shù)就可以實(shí)現(xiàn)的攻擊(比如struts2,sqli等);
5.利用file協(xié)議讀取本地文件等。
2.13 邏輯漏洞 (TIME: 7天)
常見(jiàn)的邏輯漏洞一般都會(huì)在如下地方出現(xiàn)
1.訂金額任意修改--購(gòu)物站經(jīng)常出現(xiàn) 2.驗(yàn)證碼回傳 3.越權(quán)操作,其主要原因是沒(méi)對(duì)ID參數(shù)做cookie驗(yàn)證導(dǎo)致。 4.找回密碼存在設(shè)計(jì)缺陷 5.接口無(wú)限制枚舉
2.14 xee(XML外部實(shí)體注入) (TIME: 5天)
當(dāng)允許xml引入外部實(shí)體時(shí),通過(guò)構(gòu)造惡意內(nèi)容,可以導(dǎo)致文件讀取、命令執(zhí)行、內(nèi)網(wǎng)探測(cè)等危害
2.15 XPath注入 (TIME: 5天)
path注入攻擊本質(zhì)上和SQL注入攻擊是類似的,都是輸入一些惡意的查詢等代碼字符串,從而對(duì)網(wǎng)站進(jìn)行攻擊
2.16 服務(wù)器解析漏洞
Iis 解析漏洞 ?
nginx 解析漏洞
tomcat 后臺(tái)上傳漏洞
jboss 上傳漏洞
如果上述漏洞原理掌握的都差不多那么你就可以去找個(gè)工作實(shí)踐一下了.
# 加分項(xiàng)目-滲透信息搜集 (TIME: 15天)#
子域名搜集 利用DNS域名傳送漏洞搜集二級(jí)域名
Liunx測(cè)試命令如下:
Dns服務(wù)器 1.1.1.1 ?測(cè)試域名http://wooyun.org
dig @1.1.1.1 http://sechook.org axfr
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=http://wooyun.org -p 53 -Pn 1.1.1
實(shí)例查詢蘇寧DNS服務(wù)器
D:\deep>nslookup
默認(rèn)服務(wù)器: ?localhost
Address: ?10.11.0.1
> set type=ns
> http://suning.com
服務(wù)器: ?localhost
Address: ?10.11.0.1
非權(quán)威應(yīng)答:
http://suning.com ? ? ?nameserver = http://lns1.zdnscloud.info
http://suning.com ? ? ?nameserver = http://gns2.zdnscloud.net.cn
http://suning.com ? ? ?nameserver = lns2.zdnscloud.biz
http://suning.com ? ? ?nameserver = http://gns1.zdnscloud.net
>
查詢蘇寧 IP
C:\Users\jack>nslookup http://suning.com
服務(wù)器: ?localhost
Address: ?10.11.0.1
非權(quán)威應(yīng)答:
名稱: ? ?http://suning.xdwscache.ourwebcdn.com
Addresses: 203.130.60.48 ? //對(duì)應(yīng)ip
? ? ? ? 203.130.60.49 ?//對(duì)應(yīng)ip
? ? ? ? 203.130.60.50 ?//對(duì)應(yīng)ip
Aliases: ?http://suning.com
http://Suning.com.wscdns.com //別名
在線二級(jí)域名爆破網(wǎng)站
https://dnsdumpster.com/
Netcraft - Search Web by Domain
工具獲取二級(jí)域名
滲透測(cè)試中常用的在線工具--SecWiki 專題 ?參考鏈接
subDomainsBrute
wydomain
theHarvester.py
Fierce
Dig
knock
dnsspider
SubDomainscollect
SubBrute
dirfuzz
使用格式:
fierce ?-dns http://baidu.com -threads 3
? ? subDomainsBrute.py http://suning.com
? ? python theHarvester.py -d http://suning.com -l 500 -b baidu -v 國(guó)內(nèi)百度找的多
? ? python theHarvester.py -d 公司名 -l 500 -b baidu -v
? ? python theHarvester.py -d http://suning.com -l 500 -b google -v國(guó)外站google多
? ? python theHarvester.py -d school -l 1000 -b all ? all使用所有的搜索引擎進(jìn)行搜索
subDomainsBrute使用需要安裝依賴支持
報(bào)錯(cuò)信息:ImportError: No module named dns.resolver
? ? 需要安裝的庫(kù)是 dnspython
? ? ?pip install dnspython
? ? ?沒(méi)有pip的話, 可以用
? ? 到https://github.com/rthalley/dnspython.git 下載
? ? ?cd dnspython
? ? ?python setup.py install
搜索引擎 Google新經(jīng)驗(yàn):
+ 把google可能忽略的字列如查詢范圍
- 把某個(gè)字忽略
~ 同意詞
. 單一的通配符
* 通配符,可代表多個(gè)字母
"" 精確查詢
代碼托管泄漏信息搜索
Google:
http://andy-game.googlecode.com/svn-history/
Gitbub: ?
https://github.com/search?utf8=%E2%9C%93&q=%E5%A4%96%E7%BD%91+%E8%B1%86%E7%93%A3&type=Code&ref=searchresults
ip反查域名
http://dns.aizhan.com
二級(jí)兄弟域名搜集
查詢郵件服務(wù)器信息
目標(biāo)IP地址范圍搜集
利用代碼托管網(wǎng)站搜集目標(biāo)信息
確定ip 地址范圍
掃描c段
獲取cdn真實(shí)ip地址
社會(huì)工程學(xué)
【W(wǎng)eb安全學(xué)習(xí)路線資料&工具】

整理筆記
這個(gè)我覺(jué)得最重要,這是一個(gè)好習(xí)慣 可以讓我們重新把學(xué)習(xí)的技術(shù)做一個(gè)總結(jié)和鞏固。在總結(jié)的過(guò)程形成自己對(duì)技術(shù)的理解與創(chuàng)新。從而讓書(shū)本上的知識(shí)變成自己的東西。