產生注入的本質是輸入,是程序將輸入做爲代碼執行php
根本的防護方法就是作好數據和代碼層面的隔離。前端
安全沒有銀彈,遵循木桶原則,一個短板就會讓整個系統淪陷mysql
web滲透做爲一個應用技能,須要的知識體系繁雜,幾乎囊括了整個IT行業。。。。。linux
需求技能:nginx
一、前端web
HTML/CSS/JS,瞭解前端的基礎,至少熟悉常見的HTML標籤和JS的經常使用框架sql
二、網絡基礎shell
TCP/IP協議棧中的各類協議,熟悉常見的路由交換防火牆的和其餘硬件安全設備的操做和原理數據庫
三、HTTP協議apache
熟悉整個HTTP協議的構成
四、服務器(容器)
apache,nginx的配置和原理
五、後端
至少熟悉一門後端語言,能製做網站
六、數據庫
熟悉常見數據庫的結構和SQL語句的區別
七、操做系統
windows和linux經常使用命令
八、腳本語言
任意一門腳本語言用於編寫自動化的腳本
九、滲透工具
熟練實用經常使用趁手的工具,有實力的話就本身編寫
大體步驟:
最終目的:拿shell、脫褲子、篡改頁面
0x00、滲透前--信息收集
階段目的:收集此站點相關的各類有用信息
一、外部信息收集
旁站、C段、whois、nslookup
robots.txt、後臺目錄、上傳目錄、編輯器、IIS端文件、phpinfo
目錄掃描:御劍(字典)、爬行菜刀(爬蟲)
端口掃描:nmap、ScanPort
子域名掃描:Layer子域名挖掘機(字典)
二、整站分析
服務器平臺、版本
中間件 IIS、Apache、Nginx、tomcat
語言 ASP、ASP、XPHP、JSP
數據庫 access、sqlserver、mysql、oracle、ms-sql
CMS類型 織夢cms
WAF類型掃描: waf指紋識別 wafw00f
站點特徵掃描:nmap
三、谷歌hacker
intext: 查找網頁中含有xx關鍵字的網站 例子:intext:管理員登陸
intitle: 查找某個標題 例子:intitle:後臺登陸
filetype: 查找某個文件類型的文件 例子:數據挖掘filetype:doc
inurl: 查找url中帶有某字段的網站 例子:inurl: .php?id=
site: warning 在某域名中查找信息
四、後臺查找
御劍(字典)、爬行菜刀(爬蟲)、robots.txt、google hcaker、CMS
五、CDN繞過
站長工具多地ping測試是否有CDN
查子域名
讓服務器主動發包(發郵件)
查歷史解析IP ip138 微步在線
修改hosts文件 直接訪問網站真實地址
0x0一、滲透實施--漏洞分析並利用
0、找出站點CMS類型,直接搜索漏洞利用
M7lrv 批量掃url,識別cms,攻擊漏洞
一、AWVS 網站全面漏洞掃描,爬蟲爬全站,並掃描漏洞
收集信息,站點服務器的操做系統,後端語言,數據庫類型
找到能夠利用的漏洞,主要是SQL注入,XSS,文件上傳漏洞
二、存在sql注入漏洞時
利用sqlmap掃描,找後臺登陸的用戶名密碼,及其餘有用的數據
使用tamper,利用url,0xFF,base64,註釋符號等各類方式繞過WAF
三、注入漏洞沒法利用時,存在xss漏洞時候
利用xss平臺,劫持cookie登陸後臺
四、沒有其他明顯漏洞時
爆破,PKAV HTTP Fuzzer爆破(可識別驗證碼)
五、登陸後臺,利用burpsuite抓包,修改數據包,上傳漏洞上傳webshell
六、菜刀連webshell
利用burpsuite抓包,修改數據包繞過WAF,同時注意發送的數據包,留意菜刀自己的後門
0x0二、後滲透階段--維持權限
一、利用exp提權,得到管理員權限
二、種木馬維持權限,防止被發現
種個遠控木馬(gh0st),反彈shell來管理
0x0三、迂迴包抄--旁站滲透
當目標站點沒有明顯可利用的漏洞的時候,不妨試試旁站