基礎(chǔ)入門-Web 應(yīng)用&架構(gòu)搭建&漏洞&HTTP 數(shù)據(jù)包&代理服務(wù)器
1、網(wǎng)站搭建前置知識(shí)
#網(wǎng)站搭建前置知識(shí)
域名,子域名,DNS,HTTP/HTTPS,證書等
- 購(gòu)買一臺(tái)服務(wù)器,填完信息之后,會(huì)有兩個(gè)內(nèi)外網(wǎng)地址,這兩個(gè)地址就是內(nèi)部地址和公網(wǎng)地址
- 得到公網(wǎng)地址后可以用xshell或遠(yuǎn)程桌面管理連接這臺(tái)服務(wù)器,這里我們用寶塔連接到這個(gè)服務(wù)器。
- 進(jìn)入寶塔面板之后,可以在網(wǎng)上下載源碼,也可以在寶塔面板應(yīng)用商店中選擇網(wǎng)站框架再進(jìn)行搭建
2、WEB 應(yīng)用環(huán)境架構(gòu)類
#WEB 應(yīng)用環(huán)境架構(gòu)類
理解不同 WEB 應(yīng)用組成角色功能架構(gòu):
開發(fā)語(yǔ)言,程序源碼,中間件容器,數(shù)據(jù)庫(kù)類型,服務(wù)器操作系統(tǒng),第三方軟件等
-
開發(fā)語(yǔ)言:asp,php,aspx,jsp,java,python,ruby,go,html,javascript 等
-
程序源碼:根據(jù)開發(fā)語(yǔ)言分類;應(yīng)用類型分類;開源 CMS 分類;開發(fā)框架分類等
-
中間件容器:IIS,Apache,Nginx,Tomcat,Weblogic,Jboos,glasshfish 等
-
數(shù)據(jù)庫(kù)類型:Access,Mysql,Mssql,Oracle,db2,Sybase,Redis,MongoDB 等
-
服務(wù)器操作系統(tǒng):Windows 系列,Linux 系列,Mac 系列等
-
第三方軟件:phpmyadmin,vs-ftpd,VNC,ELK,Openssh 等
web應(yīng)用搭建好一個(gè)網(wǎng)站需要根據(jù)不通的需求選擇不同的開發(fā)語(yǔ)言和應(yīng)用程序,源碼是搭建起來(lái)一個(gè)網(wǎng)站框架,中間件就是支撐這個(gè)網(wǎng)站框架的容器,這些做好之后再根據(jù)需求選擇不同系統(tǒng)和功能搭建。
3、WEB 應(yīng)用安全漏洞分類
#WEB 應(yīng)用安全漏洞分類
SQL 注入,文件安全,RCE 執(zhí)行,XSS 跨站,CSRF/SSRF/CRLF,
反序列化,邏輯越權(quán),未授權(quán)訪問(wèn),XXE/XML,弱口令安全等
4、WEB 請(qǐng)求返回過(guò)程數(shù)據(jù)包
#WEB 請(qǐng)求返回過(guò)程數(shù)據(jù)包參考:
https://www.jianshu.com/p/558455228c43
https://www.cnblogs.com/cherrycui/p/10815465.html
請(qǐng)求數(shù)據(jù)包,請(qǐng)求方法,請(qǐng)求體,響應(yīng)包,響應(yīng)頭,狀態(tài)碼,代理服務(wù)器等
Request,Response,User-Agent,Cookie,Server,Content-Length 等
4.1、HTTP協(xié)議是什么
由w3c制定的一種網(wǎng)絡(luò)應(yīng)用層協(xié)議,定義了瀏覽器與web服務(wù)器之間通信時(shí)所使用的數(shù)據(jù)格式。
通信過(guò)程
1.瀏覽器建立與web服務(wù)器之間的連接
2.瀏覽器將請(qǐng)求數(shù)據(jù)打包(生成請(qǐng)求數(shù)據(jù)包)并發(fā)送到web服務(wù)器
3.web服務(wù)器將處理結(jié)果打包(生成響應(yīng)數(shù)據(jù)包)并發(fā)送給瀏覽器
4.web服務(wù)器關(guān)閉連接
總結(jié):
建立連接——>發(fā)送請(qǐng)求數(shù)據(jù)包——>返回響應(yīng)數(shù)據(jù)包——>關(guān)閉連接
4.2、數(shù)據(jù)格式
請(qǐng)求數(shù)據(jù)包包含什么
1.請(qǐng)求行:請(qǐng)求類型/請(qǐng)求資源路徑、協(xié)議的版本和類型
2.請(qǐng)求頭:一些鍵值對(duì),一般由w3c定義,瀏覽器與web服務(wù)器之間都可以發(fā)送,表示特定的某種含義
3.【空行】請(qǐng)求頭與請(qǐng)求體之間用一個(gè)空行隔開;
4.請(qǐng)求體:要發(fā)送的數(shù)據(jù)(一般post方式會(huì)使用);例:userName=123&password=123&returnUrl=/
如:
# Request Headers
POST /adduser HTTP/1.1
Host: localhost:8030
Connection: keep-alive
Content-Length: 16
Pragma: no-cache
Cache-Control: no-cache
Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
# Form Data
name=name&age=11
4.3、請(qǐng)求頭含義:
Accept:指瀏覽器或其他客戶可以接愛的MIME文件格式。Servlet可以根據(jù)它判斷并返回適當(dāng)?shù)奈募袷健?
User-Agent:是客戶瀏覽器名稱
Host:對(duì)應(yīng)網(wǎng)址URL中的Web名稱和端口號(hào)。
Accept-Langeuage:指出瀏覽器可以接受的語(yǔ)言種類,如en或en-us,指英語(yǔ)。
connection:用來(lái)告訴服務(wù)器是否可以維持固定的HTTP連接。http是無(wú)連接的,HTTP/1.1使用Keep-Alive為默認(rèn)值,這樣,當(dāng)瀏覽器需要多個(gè)文件時(shí)(比如一個(gè)HTML文件和相關(guān)的圖形文件),不需要每次都建立連接
Cookie:瀏覽器用這個(gè)屬性向服務(wù)器發(fā)送Cookie。Cookie是在瀏覽器中寄存的小型數(shù)據(jù)體,它可以記載和服務(wù)器相關(guān)的用戶信息,也可以用來(lái)實(shí)現(xiàn)會(huì)話功能。
Referer:表明產(chǎn)生請(qǐng)求的網(wǎng)頁(yè)URL。如比從網(wǎng)頁(yè)/icconcept/index.jsp中點(diǎn)擊一個(gè)鏈接到網(wǎng)頁(yè)/icwork/search,在向服務(wù)器發(fā)送的GET/icwork/search中的請(qǐng)求中,Referer是http://hostname:8080/icconcept/index.jsp。這個(gè)屬性可以用來(lái)跟蹤Web請(qǐng)求是從什么網(wǎng)站來(lái)的。
Content-Type:用來(lái)表名request的內(nèi)容類型??梢杂肏ttpServletRequest的getContentType()方法取得。
Accept-Charset:指出瀏覽器可以接受的字符編碼。英文瀏覽器的默認(rèn)值是ISO-8859-1.
Accept-Encoding:指出瀏覽器可以接受的編碼方式。編碼方式不同于文件格式,它是為了壓縮文件并加速文件傳遞速度。瀏覽器在接收到Web響應(yīng)之后先解碼,然后再檢查文件格式。
4.4、get和post的區(qū)別
1.get直接在瀏覽器輸入,post需要工具發(fā)送請(qǐng)求
2.get用url或者cookie傳參,post將數(shù)據(jù)放在body中
3.get的URL有長(zhǎng)度限制,post數(shù)據(jù)可以非常大
4.post比get安全,因?yàn)閁RL看不到數(shù)據(jù)
5.get用來(lái)獲取數(shù)據(jù),post用來(lái)發(fā)送數(shù)據(jù)
4.5、響應(yīng)數(shù)據(jù)包包含什么
1.狀態(tài)行:協(xié)議版本、數(shù)字形式的狀態(tài)代碼和狀態(tài)描述,個(gè)元素之間以空格分隔
2.響應(yīng)頭:包含服務(wù)器類型、日期、長(zhǎng)度、內(nèi)容類型等
3.【空行】響應(yīng)頭與響應(yīng)體之間用空行隔開
4.響應(yīng)正文:程序處理后果,瀏覽器會(huì)將實(shí)體內(nèi)容中的數(shù)據(jù)取出來(lái),生成相應(yīng)的頁(yè)面
如:
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:13:33 GMT
Content-Type:text/html
Last-Moified:Mon,6 Oct 2003 13:23:42 GMT
Content-Length:112
4.6、常見狀態(tài)碼
1**:提示信息-表示請(qǐng)求已收到,繼續(xù)處理
2**:發(fā)送成功(200)
3**:重定向(302)
4**:客戶端錯(cuò)誤
400.發(fā)送請(qǐng)求有語(yǔ)法錯(cuò)誤
401.訪問(wèn)頁(yè)面沒有授權(quán)
403.沒有權(quán)限訪問(wèn)該頁(yè)面
404.沒有該頁(yè)面
5**:服務(wù)端錯(cuò)誤
500.服務(wù)器內(nèi)部異常
504.服務(wù)器請(qǐng)求超時(shí),沒有返回結(jié)果
5、演示案例:
5.1、架構(gòu)-Web 應(yīng)用搭建-域名源碼解析
web應(yīng)用搭建上面已講訴
5.2、請(qǐng)求包-新聞回帖點(diǎn)贊-重放數(shù)據(jù)包
比如新浪微博在前進(jìn)年的時(shí)候由于網(wǎng)站設(shè)置問(wèn)題,可以通過(guò)bp對(duì)微博點(diǎn)贊頁(yè)面進(jìn)行抓包,放到bp重放器之后可以無(wú)限制進(jìn)行點(diǎn)贊,雖然在前端頁(yè)面在進(jìn)行第一次電站之后,無(wú)法再對(duì)點(diǎn)贊按鈕進(jìn)行點(diǎn)擊,但可以通過(guò)對(duì)網(wǎng)站服務(wù)器請(qǐng)求包的修改進(jìn)行無(wú)限點(diǎn)贊
5.3、請(qǐng)求包-移動(dòng)端&PC 訪問(wèn)-自定義 UA 頭
有些網(wǎng)站對(duì)不同的ua頭出現(xiàn)的頁(yè)面也不一樣,有的網(wǎng)站或小程序限定只能電腦或手機(jī)訪問(wèn),我們可以通過(guò)瀏覽器插件再通過(guò)bp抓包更改ua頭將電腦訪問(wèn)的數(shù)據(jù)包該為手機(jī)訪問(wèn)。
5.4、返回包-網(wǎng)站文件目錄掃描-返回狀態(tài)碼
7kscan目錄探測(cè)工具文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-825502.html
5.5、數(shù)據(jù)包-WAF 文件目錄掃描-代理服務(wù)器
法再對(duì)點(diǎn)贊按鈕進(jìn)行點(diǎn)擊,但可以通過(guò)對(duì)網(wǎng)站服務(wù)器請(qǐng)求包的修改進(jìn)行無(wú)限點(diǎn)贊文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-825502.html
到了這里,關(guān)于第二節(jié):基礎(chǔ)入門-Web 應(yīng)用&架構(gòu)搭建&漏洞&HTTP 數(shù)據(jù)包&代理服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!