webscarab使用


安裝jdk-6u20-windows-i586.exe(需要java支持,bat里邊就是用java執行的)

設置java環境變量,系統變量里配置 JAVA_HOME變量(默認已經設置好了)。

運行 start_webscarab.bat

Ie瀏覽器-工具-internet選項-連接-局域網設置-代理服務器地址:127.0.0.1,端口8008。

Intercept-intercept request前面打勾,登錄http://192.168.125.253:8090/lybbs的攔截結果如下:

 

 POST http://192.168.125.253:8090/lybbs/bbs_loginSubmit.do HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

Referer: http://192.168.125.253:8090/lybbs/bbs_index.do

Accept-Language: zh-cn

Content-Type: application/x-www-form-urlencoded

UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727)

Proxy-Connection: Keep-Alive

Content-length: 87

Host: 192.168.125.253:8090

Pragma: no-cache

Cookie: JSESSIONID=FBE828CD30FACC4B48E4E4547C0ADC7E; lybbsUserID="NA=="; hiddenCatalogIDStr=LDAs

 

userName=kldxzzhc2&password=19831120&cookieDate=0&validateCode=3983&submit=%B5%C7%C2%BC

 

 

 

解析:

HTTP報文是面向文本的,報文中的每一個字段都是一些ASCII碼串,各個字段的長度是不確定的。HTTP有兩類報文:請求報文和響應報文。

 

請求報文

一個HTTP請求報文由請求行(requestline)、請求頭部(header)、空行和請求數據4個部分組成。

1、請求行由請求方法字段、URL字段、HTTP協議版本號字段三部分組成,他們由空格隔開。HTTP協議的請求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。這里介紹最常用的GET方法和POST方法。
GET:當客戶端要從服務器中讀取文檔時,使用GET方法。GET方法要求服務器將URL定位的資源放在響應報文的數據部分,回送給客戶端。使用GET方法時,請求參數和對應的值附加在URL后面,利用一個問號(“?”)代表URL的結尾與請求參數的開始,傳遞參數長度受限制。例如,/index.jsp?id=100&op=bind。
POST:當客戶端給服務器提供信息較多時可以使用POST方法。POST方法將請求參數封裝在HTTP請求數據中,以名稱/值的形式出現,可以傳輸大量數據,可用來傳送文件。

 

POST http://192.168.125.253:8090/lybbs/bbs_loginSubmit.do HTTP/1.1

2、請求頭部由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號“:”分隔。請求頭部通知服務器有關於客戶端請求的信息,典型的請求頭有:

User-Agent:產生請求的瀏覽器類型。

Accept:客戶端可識別的內容類型列表。

Host:請求的主機名,允許多個域名同處一個IP地址,即虛擬主機。

 

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

Referer: http://192.168.125.253:8090/lybbs/bbs_index.do

Accept-Language: zh-cn

Content-Type: application/x-www-form-urlencoded(POST方式和GET方法的最大區別就是把發送的數據和URI地址分離。請求參數是在http標題的一個不同部分(名為entity body)傳輸的,這一部分用來傳輸表單信息,因此必須將Content-type設置為:application/x-www-form-urlencoded。)

UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727)

Proxy-Connection: Keep-Alive

Content-length: 87(在所有的HTTP的POST請求中,必須指定合法的內容長度(Content-Length)。
如果HTTP/1.0服務器在接收到請求消息內容時無法確定其長度,就會返回400(非法請求)代碼。)

Host: 192.168.125.253:8090

Pragma: no-cache

Cookie: JSESSIONID=FBE828CD30FACC4B48E4E4547C0ADC7E; lybbsUserID="NA=="; hiddenCatalogIDStr=LDAs

空行:最后一個請求頭之后是一個空行,發送回車符和換行符,通知服務器以下不再有請求頭。

 

請求數據:請求數據不在GET方法中使用,而是在POST方法中使用。POST方法適用於需要客戶填寫表單的場合。與請求數據相關的最常使用的請求頭是Content-Type和Content-Length。

userName=kldxzzhc2&password=19831120&cookieDate=0&validateCode=3983&submit=%B5%C7%C2%BC(輸入用戶名是kldxzzhc2,輸入密碼是19831120,cookieDate=0表示不保存信息,validateCode=3983表示輸入的驗證碼是3983,此時若將截取到的驗證碼修改,再傳到服務器,則服務器會提示驗證碼錯誤。)

 

 

備用知識:

WebScarab:分析HTTP和HTTPS協議的應用程序框架

WebScarab的原理很簡單,它記錄它檢測到的會話內容(請求和應答),使用者可以通過多種形式來查看記錄。WebScarab的設計目的是讓使用者可以掌握某種基於HTTP(S)程序的運作過程;也可以用它來調試程序中較難處理的bug,也可以幫助安全專家發現潛在的程序漏洞。

 

什么是HTTP代理:www對於每一個上網的人都再熟悉不過了,www連接請求就是采用的http協議,所以我們在瀏覽網頁,下載數據(也可采用ftp協議)時就是用http代理。它通常綁定在代理服務器的80、3128、8080等端口上。

在 Internet 上的每一台主機(Hosts)都有唯一的一個地址(IP),但同一台主機可能同時提供一種以上的服務,比如FTP服務、WWW服務等等,那么每一種服務就要占用該主機的一個端口(PORT)。

  代理服務器常用的端口有:

HTTP代理:80/8080/3128/8081/9080

Proxy Server:代理服務器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM