1.目的javascript
本問目的是帶你們快速入門web安全,不會搞些虛張聲勢的東西都是個人學習經驗. 不會涉及到特別詳細的技術,而是指導你去如何系統的學習少走彎路,節約時間。要有自信。不要以爲任何人和任何事有多牛逼,不低估本身,不高估別人。認真學習。php
2.經驗html
咱們在學習web安全或者任何東西時都須要分階段專一學習,好比研究XSS那麼這段時間大部分精力只研究XSS。XSS一般結合CSRF來達到更好的利用效果,可是不要把太多時間放到csrf上,研究透徹xss後在研究下一個漏洞類型,要有重點的研究東西。
3.多看書和分析文章java
學習代碼審計時我認爲最有效的方法,先去閱讀相關的書籍而後找兩篇分析0day的文章,照葫蘆畫瓢分析文章中同樣版本的代碼,這對你成長頗有幫助,進步也很是快。
4.整理筆記python
這個我以爲最重要,這是一個好習慣 可讓咱們從新把學習的技術作一個總結和鞏固。在總結的過程造成本身對技術的理解與創新。從而讓書本上的知識變成本身的東西。
二,零基礎web安全學習計劃mysql
2.1 HTTP協議請求 (TIME: 一週)nginx
對如下下知識點作了解學習
http協議請求
http狀態碼
post / get 區別
可使用Chrome瀏覽器中F12查看「Network」標籤中的HTTP請求響應,來了解HTTP協議請求.
2.2.危險的HTTP頭參數 (TIME: 一週)git
HTTP請求時需對一些必要的參數作一些瞭解,這些參數也會形成很嚴重的安全安全問題以下:
user_agent
X-Forwarded-For
Referer
clien_ip
Cookie
2.3 專業術語天 (TIME: 一天)github
瞭解以下專業術語的意思web
webshell
菜刀
0day
SQL注入
上傳漏洞
XSS
CSRF
一句話木馬
2.4 專業黑客工具使用 (TIME: 10天)
熟悉如何滲透測試安全工具,掌握這些工具能大大提升你在工做的中的效率。
sqlmap 學習地址: http://secbang.com/schoollist/burpsql/kclist.html
Burpsuite 學習地址: http://secbang.com/schoollist/burpuse/kclist.html
nmap 學習地址: http://secbang.com/schoollist/nmap/kclist.html
w3af 學習地址: http://secbang.com/schoollist/sectools/kclist.html
nessus
Appscan
AWVS
4.腳本語言+代碼審計入門 (TIME: 10天)
推薦php不用學的太靈通,咱們又不是搞開發,瞭解基本語法和一些危險函數便可如:open exec 等函數會形成什麼漏洞,瞭解了php中的危險函數會形成那些漏洞可觸類旁通套用到別的腳本當中 asp aspx java這些語言的危險函數可能只是寫法不同功能是相同的,瞭解這些後就能夠來作一些web漏洞的代碼審計了。
php入門學習 學習地址: https://www.w3cschool.cn/php/
php代碼審計 學習地址: http://secbang.com/webtype.html
5.Sql注射 (TIME: 3天)
零基礎就先用最有效的辦法注入推薦注入工具 sqlmap如何使用? 若是你不想只停留在使用工具的層面,那麼你須要學習一下數據庫,mysql sqlserver 隨便先學一個前期學會 selsct 就行,php嘗試本身寫一個查詢數據庫的腳原本瞭解手工sql注入的原理,這樣進步會很快,若是想深刻能夠把各類數據庫注入都溫習一邊。關於須要掌握的技術點:
爲何會形成csrf,GET型與POST型CSRF 的區別, 如何防護使用 token防止 csrf?
csrf 詳細學習筆記
7.XSS (TIME: 7天)
要研究xss首先了解同源策略 ,Javascript 也要好好學習一下 ,以及html實體 html實體的10 或16進制還有javascript 的8進制和16進制編碼,
xss 學習地址 :在學習 XSS 前應該學習什麼?
進制編碼 學習地址:http://su.xmd5.org/static/drops/tips-689.html
同源策略 學習地址:Browser Security-同源策略、
8.文件上傳漏洞 (TIME: 7天)
瞭解下開源編輯器上傳都有那些漏洞,如何繞過系統檢測上傳一句話木馬
上傳繞過學習: https://wenku.baidu.com/view/867ad233dc36a32d7375a417866fb84ae45cc386.html
9 php-遠程/本地 文件包含 (TIME: 10天)
去學習下 include() include_once() require() require_once() fopen() readfile() 這些php函數是如何產生文件包含漏洞, 本地包含與遠程包含的區別。
以及利用文件包含時的一些技巧如:截斷 /僞url/超長字符截斷 等 。
10 php-命令執行 (TIME: 3天)
PHP代碼中常見的代碼執行函數有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
瞭解這些函數的做用而後些搞清楚如何形成的代碼執行漏洞。
12 ssrf (TIME: 3天)
瞭解ssrf的原理,以及ssrf的危害。
ssrf能作什麼。當咱們在進行web滲透的時候是沒法訪問目標的內部網絡的,那麼這個時候就用到了ssrf漏洞,利用外網存在ssrf的web站點能夠獲取以下信息。
1.能夠對外網、服務器所在內網、本地進行端口掃描,獲取一些服務的banner信息;
2.攻擊運行在內網或本地的應用程序(好比溢出);
3.對內網web應用進行指紋識別,經過訪問默認文件實現;
4.攻擊內外網的web應用,主要是使用get參數就能夠實現的攻擊(好比struts2,sqli等);
5.利用file協議讀取本地文件等。
13 邏輯漏洞 (TIME: 7天)
常見的邏輯漏洞通常都會在以下地方出現
1.訂金額任意修改--購物站常常出現
2.驗證碼回傳
3.越權操做,其主要緣由是沒對ID參數作cookie驗證致使。
4.找回密碼存在設計缺陷
5.接口無限制枚舉
http://www.freebuf.com/vuls/112339.html
14 xee(XML外部實體注入) (TIME: 5天)
當容許xml引入外部實體時,經過構造惡意內容,能夠致使文件讀取、命令執行、內網探測等危害
http://blog.sina.com.cn/s/blog_8194b04f0102wsoe.html
15 XPath注入 (TIME: 5天)
path注入攻擊本質上和SQL注入攻擊是相似的,都是輸入一些惡意的查詢等代碼字符串,從而對網站進行攻擊
http://www.javashuo.com/article/p-hwimcdhm-cx.html
16 服務器解析漏洞
Iis 解析漏洞
nginx 解析漏洞
tomcat 後臺上傳漏洞
jboss 上傳漏洞
若是上述漏洞原理掌握的都差很少那麼你就能夠去找個工做實踐一下了.
子域名蒐集 利用DNS域名傳送漏洞蒐集二級域名
Liunx測試命令以下:
Dns服務器 1.1.1.1 測試域名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
實例查詢蘇寧DNS服務器
D:\deep>nslookup
默認服務器: localhost
Address: 10.11.0.1
set type=ns
http://suning.com
服務器: localhost
Address: 10.11.0.1
非權威應答:
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
服務器: localhost
Address: 10.11.0.1
非權威應答:
名稱: http://suning.xdwscache.ourwebcdn.com
Addresses: 203.130.60.48 //對應ip
203.130.60.49 //對應ip
203.130.60.50 //對應ip
Aliases: http://suning.com
http://Suning.com.wscdns.com //別名
在線二級域名爆破網站
https://dnsdumpster.com/
Netcraft - Search Web by Domain
工具獲取二級域名
滲透測試中經常使用的在線工具--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 國內百度找的多 python theHarvester.py -d 公司名 -l 500 -b baidu -v python theHarvester.py -d http://suning.com -l 500 -b google -v國外站google多 python theHarvester.py -d school -l 1000 -b all all使用全部的搜索引擎進行搜索
subDomainsBrute使用須要安裝依賴支持
報錯信息:ImportError: No module named dns.resolver 須要安裝的庫是 dnspython pip install dnspython 沒有pip的話, 能夠用 到https://github.com/rthalley/dnspython.git 下載 cd dnspython python setup.py install
搜索引擎 Google新經驗:
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/
二級兄弟域名蒐集
查詢郵件服務器信息
目標IP地址範圍蒐集
利用代碼託管網站蒐集目標信息
肯定ip 地址範圍
掃描c段獲取cdn真實ip地址社會工程學