資料包拓展
一、網站決議對應
1.簡要網站搭建程序:
教學地址
2.涉及到的攻擊層面?
原始碼,搭建平臺,系統,網路層等
3.涉及到的安全問題?
目錄,敏感檔案,弱口令,IP以及域名
HTTP/S資料包
#Request 請求資料包
#Proxy 代理服務器
#Response 回傳資料包

二、關于HTTP和HTTPS
1.HTTP和HTTPS的區別

- https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用,
- http是超文本傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議,
- http和https使用的是完全不同的連接方式,用的埠也不一樣,前者是80,后者是443,
- http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全,
2.HTTP和HTTPS的簡要通信程序
①HTTP通信程序
建立鏈接——>發送請求資料包——>回傳回應資料包——>關閉連接
- 1.瀏覽器建立與web服務器直接的連接
- 2.瀏覽器將請求資料打包(生成請求資料包)并發送到web服務器
- 3.web服務器將處理結果打包(生成回應資料包)并發送給瀏覽器
- 4.web服務器關閉連接

②HTTPS通信程序

三、Request請求資料包資料格式
1.請求行:請求型別/請求資源路徑、協議的版本和型別
請求行由三個標記組成:請求方法、請求URL和HTTP版本,它們用空格分隔,
例如: GET /index.html HTTP/1.1
HTTP 規劃定義了8種可能的請求方法:
GET:檢索URL中標識資源的一個簡單請求
HEAD:與GET方法相同,服務器只回傳狀態行和頭標,并不回傳請求檔案
POST:服務器接收被寫入客戶端輸出流中資料的請求
PUT:服務器保存請求資料作為指定URL新內容的請求
DELETE:服務器洗掉URL中命令的資源的請求
OPTIONS:關于服務器支持的請求方法資訊的請求
TRACE:web服務器反饋HTTP請求和其頭標的請求
CONNECT:已檔案化,但當前未實作的一個方法,預留做隧道處理

2.請求頭:一些鍵值對,瀏覽器與web服務器之間都可以發送,特殊的某種含義
HOST:主機或域名地址
Accept:指瀏覽器或其他客戶可以接受的MIME檔案格式,servlet可以根據它判斷并回傳適當的檔案格式
User-Agent:是客戶瀏覽器名稱
Host:對應網址URL中的web名稱和埠號
Accept-Language:指出瀏覽器可以接受的語言種類,如en或者en-us,指英語
connection:用來告訴服務器是否可以維持固定的HTTP連接、http是無連接的,HTTP/1.1使用Keep-Alive為默認值,這樣當瀏覽器需要多個檔案時(比如一個HTML檔案和相關的圖形檔案),不需要每次都建立連接
Cookie:瀏覽器用這個屬性向服務器發送Cookie,Cookie是在瀏覽器中寄存的小型資料體,他可以記載服務器相關的用戶資訊,也可以用來實作會話功能
Referer:表明產生請求的網頁URL,這個屬性可以用來跟蹤web請求是從什么網站來的,如比從網頁/icconcept/index.jsp中點擊一個鏈接到網頁/icwork/search,再向服務器發送的GET/icwork/search中的請求中,Referer是http://hostname:8080/icconcept/index.jsp
Content-Type :用來表明request的內容型別,可以用HttpServeletRequest的getContentType()方法取得,
Accept-Charset:指出瀏覽器可以接受的字符編碼
Accept-Encoding:指出瀏覽器可以接受的編碼方式,編碼方式不同于檔案格式,它是為了壓縮檔案傳遞速度,瀏覽器在接收到web回應之后再解碼,然后再檢查檔案格式
3.空行:請求頭與請求體之間用一個空行分開
最后一個請求頭標之后是空行,發送回車符和退行,通知服務器以下不再有頭標

4.請求體:要發送的資料(一般post提交時候會用)
使用POST傳送,最常使用的是Content-Type和Content-Length頭標
5.request請求資料包
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: BAIDUID=DF85C12211175FD67D599BC8A06EB4B2:FG=1; BIDUPSID=DF85C12211175FD6D8AC7AF7356EF11F; PSTM=1571798152; BD_UPN=13314752; COOKIE_SESSION=251208_1_7_5_8_6_0_0_5_5_0_0_251207_0_1_0_1580795676_1580539587_1580795675%7C9%235096250_55_1580539585%7C9; BDRCVFR[Fc9oatPmwxn]=mk3SLVN4HKm; delPer=0; BD_CK_SAM=1; PSINO=1; H_PS_PSSID=1465_21124_26350_30496; H_PS_645EC=d0f32cF5kQJ3ZcmKhkebQhVlmvrVbJe34vcNJntPlQBU7X%2BEF0T1MJCfpt5UZln7q4OU; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BD_HOME=0
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
四、Response回傳資料包格式
1.Response回傳資料包資料格式
一個回應由四個部分組成:狀態行、回應頭標、空行、回應資料
2.狀態行:協議版本,數字形式的狀態代碼和狀態描述,各元素之間用空格進行分割
HTTP回應碼
1XX:資訊,請求收到,繼續處理
2XX:成功,行為被成功的接收、理解和采納
3XX:重定向,為了完成請求,必須進一步執行的動作
4XX:客戶端錯誤
5XX:服務器錯誤
200:存在檔案
403:存在檔案夾
3XX:均可能存在
404:不存在檔案及檔案夾
500:均可能存在(服務器錯誤,不代表檔案不存在)
通過回應碼,判斷狀態

3.回應頭標:包含服務器型別、日期、長度、內容型別等
像請求頭標一樣,它們指出服務器的功能,標識出回應資料的細節
4.空行:回應頭與回應體之間用空行隔開
最后一個回應頭標之后是一個空行,發送回車符和退行,表面服務器一下不再有頭標,
5.回應資料:瀏覽器會將物體內容中額資料取出來,生成相應的頁面
HTML檔案和影像等,也就是HTML本身








使用Burp Suite抓包,這個工具就相當于是代理,



需要注意



安裝Burp Suite
- ①Burp Suite 專門抓web協議的資料包
- ②Burp Suite下載工具
- ③Burp Suite的安裝教程以及使用教程
- ④安裝程序中出現安裝錯誤,Windows10下電腦中有多個jdk,BurpSuite安裝,打不開jar檔案,顯示java安裝失敗,解決方法

筆記參考地址
練習一------來源頁偽造
一、背景介紹
安全工程師“墨者”在訪問一個網頁時,提示只能通過另一個頁面跳轉的方式訪問,這該如何辦?
二、實訓目標
1、了解瀏覽器的使用;
2、了解資料包的發送;
3、了解抓包工具的使用,能夠進行抓包改包,如burpsuite等;
(掌握:達到能夠獨立完成使用的程度
了解:達到知曉其作用的程度不要求熟練運用)
三、解題方向
充分理解題目,referer偽造!
四、操作
1、理解Request資料包中referer欄位的含義
2、將referer欄位中的值替換成https://www.google.com
3、利用BP重新發送請求資料包









練習二------瀏覽器資訊偽造
一、背景介紹
了解到從微信6.0開始,其內嵌的瀏覽器在User Agent字串中增加了NetType欄位用于標識客戶端(手機)當前的網路環境,增加之后真的安全嗎?
二、實訓目標
1、User-Agent的理解
2、微信瀏覽器內嵌新增取值內容
3、使用BurpSuite工具修改內容
三、解題方向
根據頁面提示,抓包分析除了判斷瀏覽器型別還判斷了微信特有的NetType

四、操作
1、理解Request資料包中UA頭的作用
2、可以自己去嘗試抓取IOS手機上微信公眾號的資料包
3、也可以直接去網上搜索微信的NetType欄位有哪些
4、利用BP去更改UA頭部重新發送資料包去請求






練習三------HTTP動作練習
一、背景介紹
某日,安全工程師對一企業辦公系統的源代碼進行授權檢測,在檢查程序中,發現程式員(可能是臨時工)使用PHP程式,處理服務端接收客戶端傳遞的資料時,使用的是$_REQUEST[],前端使用的是GET方式,然后就遇到問題了"Request-URI Too Long",
二、實訓目標
1、掌握在瀏覽器發送資料時、GET、POST兩者方式的差異;
2、理解在PHP程式中$_REQUEST、$_GET、$_POST三者之間的區別;
3、了解不同瀏覽器通過GET方式傳遞資料時,限制資料長度的大小;
三、解題方向
通過POST方式提交"content"資料內容,查看服務端回傳的結果,
四、操作











需要破解這個插件
破解插件
之后








學會多種形式形成資料包
練習四-----投票系統程式設計缺陷分析
一、背景介紹
年終了,公司組織了各單位"文明視窗"評選網上投票通知,
安全工程師"墨者"負責對投票系統進行安全測驗,看是否存在安全漏洞會影響投票的公平性,
二、實訓目標
1、了解瀏覽器插件的使用;
2、了解開發程式員對IP地址獲取方式;
3、了解網路協議軟體的使用,如burpsuite等;
三、解題方向
根據頁面提示,進行投票頁面測驗,
了解PHP獲取客戶端IP地址方式

php X——FORWARDED_FOR 可以偽造
四、操作
1、增加X-Forwarded-For欄位
2、設定IP,X-Forwarded-For:IP地址
3、設定IP變數自增
4、測驗攻擊
5、重繪頁面




限制IP,利用X——FORWARDED_FOR 可以偽造















轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293105.html
標籤:其他
上一篇:攻防世界 gametime
