零散的總覺一些回顧點吧html
1、HTTP協議前端
超文本傳輸協議(HyperText Transfer Protocol)是互聯網上應用最爲普遍的一種網絡傳輸協議,應用與傳輸HTML網頁和超文本數據,例如:圖片、音頻文件(MP3等)、視頻文件(rm、avi等)、壓縮包(zip、rar等)等。HTTP協議自身是無狀態的。web
http1.1 有最大的加載數sql
http2.0 多用複用數據庫
2、HTTP協議請求方法(重點方法)後端
GET - 向特定的資源發出請求。注意:GET方法不該當被用於產生「反作用」的操做中,例如在web app.中。其中一個緣由是GET可能會被網絡蜘蛛等隨意訪問。瀏覽器
好比說 我請你吃飯 只包含事件緩存
POST - 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。安全
好比說 我請你吃飯,時間:今天晚上 地點:盤古 房間號:801 包含事件和參數服務器
PUT - 向指定資源位置上傳其最新內容。
post 均可以用put ,put 有冪等機制, 對於兩條徹底相同的請求,會觸發冪等模式,不會去處理第二條請求
Delete 直接從服務器上刪除一些資源
TRACE- 回顯服務器收到的請求,主要用於測試或診斷
線上是不能出現 Delete 和trace 請求 ,不安全
3、HTTP狀態碼(常見的)
狀態碼 狀態碼英文名稱 中文描述
200 OK 請求成功。通常用於GET與POST請求
202 Accepted 已接受。已經接受請求,但未處理完成 ////A對B 說 我今天請你吃飯,吃拉麪 B:請吃飯沒問題,回來再定 (接收,但沒處理),隊列機制,異步處理;電商,銀行:若是實 /////時接口繁忙,會給你返回一個待對帳狀態
206 Partial Content 部份內容。服務器成功處理了部分GET請求 //////C對B說 我今天請你吃飯,那是不可能的 B:只聽到了我請你吃飯,後面沒聽到(只接受部分請求,其餘請求其餘線程處理) //////迅雷下載
301 Moved Permanently 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。從此任何新的請求應使用新的URI代替
302 Found 臨時移動。與301相似。但資源只是臨時被移動。客戶端應繼續使用原有URI
400 Bad Request 客戶端請求的語法錯誤,服務器沒法理解
401 Unauthorized 請求要求用戶的身份認證
403 Forbidden 服務器理解請求客戶端的請求,可是拒絕執行此請求
404 Not Found 服務器沒法根據客戶端的請求找到資源(網頁)。經過此代碼,網站設計人員可設置"您所請求的資源沒法找到"的個性頁面
500 Internal Server Error 服務器內部錯誤,沒法完成請求
502 Bad Gateway 充當網關或代理的服務器,從遠端服務器接收到了一個無效的請求 /////遠端服務器沒有問題,是你本地的服務器有問題
2 表明服務器接收
3 表明服務器返回並跳轉
4 報錯,服務器進行處理並報錯
5 報錯,服務器還沒進行處理就報錯
4、ip--端口:
咱們能夠把IP地址比做一棟房子,端口就是這棟房子裏面的各個房間。端口是經過端口號來標記的,端口號只有整數,範圍從0到65535
5、Web應用的三層架構
客戶端 中間層 數據庫
中間層:web服務器 前端;應用服務器 後端
6、WEB安全測試
1.
先驗測試:根據常見的攻擊類型,進行一些前置測試
後驗測試:假設網站還有安全漏洞,咱們改怎麼辦,好比說:session失效,「一號多登」策略,登陸提醒
2.
雙因子認證:1你知道什麼(帳號,密碼) 2你有什麼(手機驗證碼)
3.
驗證性的 登陸,註冊,忘記密碼等
受權 會話令牌
客戶側攻擊 更改客戶端數據
命令執行 xss,sql注入
信息暴露 隱私信息,詳細系統信息(詳細報錯等)
邏輯攻擊 流程上的驗證
7、安全測試流程
一、解析、分析web應用
二、測試驗證機制
三、測試會話管理
四、測試訪問控制
五、測試基於輸入的各類漏洞(sql注入,xss)
六、測試邏輯缺陷
七、總結分析
8、核心防護機制
Web應用程序的基本安全原則問題:全部用戶輸入均不可信
包括:url 參數 變量 cookie
用戶權限:1驗證機制 2會話管理 3權限控制
輸入:1.入口,抵禦不良參數的輸入
2.出口,把不良輸入的影響下降
後驗措施:保證受到攻擊的時候,程序還能正常運轉
9、解析、分析web應用
本質上是用來分析制定測試計劃的:
解析應用程序目的
製做一個策略表(做爲安全測試的指導)
模塊—頁面—安全測試策略
(一)、 大致分模塊
1. 先看詳細設計文檔 (劃分模塊)
2. 需求文檔 (劃分細節模塊)--分析哪些功能重要,哪些功能次要
3. 測試用例查看
注: 最好列出基本頁面
(二)、 查缺補漏階段
1. spider 前面的模塊是否完整,補充頁面的連接(針對同一功能的不一樣頁面)
1) 自動化獲取大量頁面
2) 經過手動方式補充頁面
2. 發現隱藏內容(補充頁面) 或能夠直接去代碼中撈
1) 暴力獲取連接
2) 經過已發佈來推測
3) 使用搜索引擎(site:)
1. 自動web抓取
使用Spider爬蟲:分析html表單,並使用各類預設值或隨機值將這些表單返回給應用程序,以擴大搜索範圍,更有些工具會在抓取過程當中遇到必填表單(如登陸請求)要求使用者填寫相關數據
工具:Burp Suite等
徹底自動化抓取的限制
1) 工具沒法正確處理使用複雜js代碼創建的動態菜單、頁面等
2) 沒法解析在編譯客戶端對象(FLASH等)中的連接
3) 遇到複雜的輸入輸出檢查沒法使用工具自動提交的值跳過。
4) 自動化爬蟲以URL做爲標識符,可是咱們網站中會有同一個連接返回不一樣的內容和功能。
5)複雜的身份驗證機制、驗證碼等自動爬蟲沒法成功經過。
2. 用戶指定的抓取
該技巧複雜且可控,半自動化抓取。用戶經過瀏覽器以常規方式瀏覽應用程序,試圖枚舉應用程序的全部功能,生成的流量流入攔截服務器,並由爬蟲監控。
工具:Burp Suite
3. 發現隱藏內容
應用程序經常包含一些沒有直接連接以及沒法經過可見的內容訪問到的功能。常見隱藏內容包括:
1)測試、調試或開發過的但未在主程序中創建連接的功能
2)從服務中刪除或被替換的舊版本文件
3)包含有效用戶名、會話令牌等的日誌文件
4)應用程序可能爲不一樣類型不一樣權限級別的用戶提供了不一樣的功能
發現隱藏內容之技巧篇
A. 蠻力技巧
在已肯定內容基礎上,使用工具自動向web服務器提出大量請求,嘗試猜想隱藏功能。
B. 經過已發佈內容推測
例如咱們已知某網站忘記密碼的url爲:http://www.besttest.cn/auth/ForgetPassword.html
那麼咱們就能夠推測是否具備AddPassword、GetPassword、ResetPassword、UpdatePassword等等
C. 利用搜索引擎
搜索引擎中具備強大的爬蟲,能發現幾乎全部內容的詳細目錄,並將這些內容保存在緩存中。
分析:
根據頁面功能分析出可能出現哪一種漏洞
客戶端確認——服務器是否採起驗證(繞過)
數據庫交互——sql注入
文件上傳與下載——存儲式跨站腳本、驗證(繞過)
顯示用戶提交的數據——跨站腳本
登陸——用戶名枚舉、弱密碼、蠻力攻擊、SQL注入、繞過客戶端,xss,驗證機制,會話管理
多階段登陸——登陸邏輯缺陷
會話狀態——可推測的令牌、令牌處理
訪問控制——用戶假裝、權限提高
錯誤消息——信息泄露
郵件交互——繞過客戶端、社會學攻擊
10、安全漏洞原理
繞過控件、驗證 --- 有驗證,要修改攻擊驗證機制 ---身份校驗相關攻擊會話管理 ---身份認證 受權Sql注入 --- 拼sql 跟數據庫關聯 增刪查改 sql注入的漏洞攻擊訪問控制 ---權限 作改動;頁面顯示XSS攻擊 ---有用戶輸入的地方CSRF攻擊 ---關鍵請求社會學攻擊邏輯漏洞