真正的零基礎(chǔ)Web安全學(xué)習(xí)終極攻略(從門到入職系列)
前言:
很多工作一兩年的朋友經(jīng)常會(huì)感到迷茫,尤其是一些在傳統(tǒng)行業(yè)一線崗位工作的年輕人,當(dāng)前的工作機(jī)械重復(fù),升職加薪?jīng)]希望,薪資待遇又不高,于是萌生出跳槽轉(zhuǎn)行的想法,看來看去,發(fā)現(xiàn)高薪行業(yè)無非就是金融、互聯(lián)網(wǎng)、房地產(chǎn)等行業(yè)。
于是很多人把目光投向了網(wǎng)絡(luò)安全這行當(dāng),認(rèn)為有一臺(tái)電腦就可以學(xué),成本很低而且薪資待遇相對(duì)來說是比較高的。目前互聯(lián)網(wǎng)對(duì)于網(wǎng)絡(luò)安全的需求極大,現(xiàn)在是互聯(lián)網(wǎng)+時(shí)代,大數(shù)據(jù)、云計(jì)算等技術(shù)的應(yīng)用,使得未來網(wǎng)絡(luò)安全是必不可擋的趨勢(shì)。因此,這是一個(gè)非常熱門且有前景的行業(yè)。
上面的這些問題博主也遇到過,筆者本人也是一位文科轉(zhuǎn)行過來的,作為一名過來人,我就自己的一些經(jīng)驗(yàn)和大家分享下作為一名零基礎(chǔ)的同學(xué)應(yīng)該如何學(xué)習(xí)。
一.開始前的思考
1.我真的喜歡搞安全嗎?
2.我只是想通過安全賺錢錢嗎?
3.我不知道做什么就是隨便。
4.一輩子做信息安全嗎
這些不想清楚會(huì)對(duì)你以后的發(fā)展很不利,與其盲目的學(xué)習(xí)web安全,不如先做一個(gè)長(zhǎng)遠(yuǎn)的計(jì)劃。否則在我看來都是浪費(fèi)時(shí)間。如果你考慮好了參照我的計(jì)劃進(jìn)行學(xué)習(xí),我不敢保證你實(shí)踐完多牛逼,但是找8k-12k的工作絕對(duì)不成問題。
1.目的
本問目的是帶大家快速入門web安全,不會(huì)搞些虛張聲勢(shì)的東西都是我的學(xué)習(xí)經(jīng)驗(yàn). 不會(huì)涉及到特別詳細(xì)的技術(shù),而是指導(dǎo)你去如何系統(tǒng)的學(xué)習(xí)少走彎路,節(jié)約時(shí)間。要有自信。不要覺得任何人和任何事有多牛逼,不低估自己,不高估別人。認(rèn)真學(xué)習(xí)。
2.經(jīng)驗(yàn)
我們?cè)趯W(xué)習(xí)web安全或者任何東西時(shí)都需要分階段專注學(xué)習(xí),比如研究XSS那么這段時(shí)間大部分精力只研究XSS。XSS通常結(jié)合CSRF來達(dá)到更好的利用效果,但是不要把太多時(shí)間放到csrf上,研究透徹xss后在研究下一個(gè)漏洞類型,要有重點(diǎn)的研究東西。
3.多看書和分析文章
學(xué)習(xí)代碼審計(jì)時(shí)我認(rèn)為最有效的方法,先去閱讀相關(guān)的書籍然后找兩篇分析0day的文章,照葫蘆畫瓢分析文章中一樣版本的代碼,這對(duì)你成長(zhǎng)很有幫助,進(jìn)步也非???。
【網(wǎng)絡(luò)安全學(xué)習(xí)干貨】

4.整理筆記
這個(gè)我覺得最重要,這是一個(gè)好習(xí)慣 可以讓我們重新把學(xué)習(xí)的技術(shù)做一個(gè)總結(jié)和鞏固。在總結(jié)的過程形成自己對(duì)技術(shù)的理解與創(chuàng)新。從而讓書本上的知識(shí)變成自己的東西。
二,零基礎(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),來了解HTTP協(xié)議請(qǐng)求.
2.2.危險(xiǎn)的HTTP頭參數(shù) (TIME: 一周)
HTTP請(qǐng)求時(shí)需對(duì)一些必要的參數(shù)做一些了解,這些參數(shù)也會(huì)造成很嚴(yán)重的安全安全問題如下:
user_agent
X-Forwarded-For
Referer
clien_ip
Cookie
2.3 專業(yè)術(shù)語天 (TIME: 一天)
了解如下專業(yè)術(shù)語的意思
webshell
菜刀
0day
SQL注入
上傳漏洞
XSS
CSRF
一句話木馬
2.4 專業(yè)黑客工具使用 (TIME: 10天)
熟悉如何滲透測(cè)試安全工具,掌握這些工具能大大提高你在工作的中的效率。
sqlmap 學(xué)習(xí)地址:?http://secbang.com/schoollist/burpsql/kclist.html
Burpsuite 學(xué)習(xí)地址:?http://secbang.com/schoollist/burpuse/kclist.html
nmap 學(xué)習(xí)地址:?http://secbang.com/schoollist/nmap/kclist.html
w3af 學(xué)習(xí)地址:?http://secbang.com/schoollist/sectools/kclist.html
nessus
Appscan
AWVS
3.腳本語言+代碼審計(jì)入門 (TIME: 10天)
推薦php不用學(xué)的太靈通,我們又不是搞開發(fā),了解基本語法和一些危險(xiǎn)函數(shù)即可如:open
exec 等函數(shù)會(huì)造成什么漏洞,了解了php中的危險(xiǎn)函數(shù)會(huì)造成那些漏洞可舉一反三套用到別的腳本當(dāng)中 asp aspx
java這些語言的危險(xiǎn)函數(shù)可能只是寫法不一樣功能是相同的,了解這些后就可以來做一些web漏洞的代碼審計(jì)了。
php入門學(xué)習(xí) 學(xué)習(xí)地址:?https://www.w3cschool.cn/php/
php代碼審計(jì) 學(xué)習(xí)地址:?http://secbang.com/webtype.html
4.Sql注射 (TIME: 3天)
零基礎(chǔ)就先用最有效的辦法注入推薦注入工具 sqlmap如何使用? 如果你不想只停留在使用工具的層面,那么你需要學(xué)習(xí)一下數(shù)據(jù)庫(kù),mysql sqlserver 隨便先學(xué)一個(gè)前期學(xué)會(huì) selsct 就行,php嘗試自己寫一個(gè)查詢數(shù)據(jù)庫(kù)的腳本來了解手工sql注入的原理,這樣進(jìn)步會(huì)很快,如果想深入可以把各種數(shù)據(jù)庫(kù)注入都溫習(xí)一邊。關(guān)于需要掌握的技術(shù)點(diǎn):
數(shù)字型注入 2.字符型注入 3.搜索注入 4.盲注(sleep注入) 5.sqlmap使用 6.寬字節(jié)注入
mysql入門 學(xué)習(xí)地址:?https://www.w3cschool.cn/mysql/
Sqlmap 學(xué)習(xí)地址:?http://secbang.com/schoollist/burpsql/kclist.html
sleep原理 學(xué)習(xí)地址: 盲注sleep函數(shù)執(zhí)行sql注入攻擊
5.CSRF 跨站點(diǎn)請(qǐng)求 (TIME: 3天)
為什么會(huì)造成csrf,GET型與POST型CSRF 的區(qū)別, 如何防御使用 token防止 csrf?
csrf 詳細(xì)學(xué)習(xí)筆記
6.XSS (TIME: 7天)
要研究xss首先了解同源策略 ,Javascript 也要好好學(xué)習(xí)一下 ,以及html實(shí)體 html實(shí)體的10 或16進(jìn)制還有javascript 的8進(jìn)制和16進(jìn)制編碼,
xss 學(xué)習(xí)地址 :在學(xué)習(xí) XSS 前應(yīng)該學(xué)習(xí)什么?
進(jìn)制編碼 學(xué)習(xí)地址:http://su.xmd5.org/static/drops/tips-689.html
同源策略 學(xué)習(xí)地址:Browser Security-同源策略、
7.文件上傳漏洞 (TIME: 7天)
了解下開源編輯器上傳都有那些漏洞,如何繞過系統(tǒng)檢測(cè)上傳一句話木馬
上傳繞過學(xué)習(xí):?https://wenku.baidu.com/view/867ad233dc36a32d7375a417866fb84ae45cc386.html
8.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)?等 。
9.php-命令執(zhí)行 (TIME: 3天)
PHP代碼中常見的代碼執(zhí)行函數(shù)有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
了解這些函數(shù)的作用然后些搞清楚如何造成的代碼執(zhí)行漏洞。
10.ssrf (TIME: 3天)
了解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é)議讀取本地文件等。
11.邏輯漏洞 (TIME: 7天)
常見的邏輯漏洞一般都會(huì)在如下地方出現(xiàn)
1.訂金額任意修改--購(gòu)物站經(jīng)常出現(xiàn)
2.驗(yàn)證碼回傳
3.越權(quán)操作,其主要原因是沒對(duì)ID參數(shù)做cookie驗(yàn)證導(dǎo)致。
4.找回密碼存在設(shè)計(jì)缺陷
5.接口無限制枚舉
http://www.freebuf.com/vuls/112339.html
12.xee(XML外部實(shí)體注入) (TIME: 5天)
當(dāng)允許xml引入外部實(shí)體時(shí),通過構(gòu)造惡意內(nèi)容,可以導(dǎo)致文件讀取、命令執(zhí)行、內(nèi)網(wǎng)探測(cè)等危害
http://blog.sina.com.cn/s/blog_8194b04f0102wsoe.html
13. XPath注入 (TIME: 5天)
path注入攻擊本質(zhì)上和SQL注入攻擊是類似的,都是輸入一些惡意的查詢等代碼字符串,從而對(duì)網(wǎng)站進(jìn)行攻擊
https://blog.csdn.net/quiet_girl/article/details/50588130
14.服務(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
查詢蘇寧http://suning.com?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 沒有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
郵箱搜集
Metasploit郵箱搜集鏈接
http://xiao106347.blog.163.com/blog/static/215992078201311300162776/
ip反查域名
http://dns.aizhan.com/58.240.86.229/
二級(jí)兄弟域名搜集
查詢郵件服務(wù)器信息
目標(biāo)IP地址范圍搜集
利用代碼托管網(wǎng)站搜集目標(biāo)信息
確定ip 地址范圍
掃描c段
獲取cdn真實(shí)ip地址
社會(huì)工程學(xué)
好了,以上是我個(gè)人的一些新手入門建議,希望能給你帶來一些有益的幫助。
【網(wǎng)絡(luò)安全學(xué)習(xí)干貨】
