測試需求:有一個功能,允許用鑽石兌換金幣,假設1鑽石=1金幣,前端控制一次至少兌換10個,最多100個,后台不做驗證。
測試方案:輸入10,也就是告訴前端我要兌換10個金幣,等前端驗證通過之后,截取要發送給后台的http請求,修改成100個,而后台沒有做任何校驗,會直接返回給客戶端100個金幣,也就是我用10個鑽石兌換了100個金幣。相當於前端做的校驗是沒有用的了,這是絕對不允許出現的一個bug。
—————————————————————————————————————————————————————————————————————————
那么今天的主題就出來了,怎樣截取並修改http請求呢?使用Fiddler設置斷點的功能可以做到這一點。
Fiddler中設置斷點修改Request
Fiddler最強大的功能莫過於設置斷點了,設置好斷點后,你可以修改httpRequest的任何信息包括host, cookie或者表單中的數據。設置斷點有兩種方法:
第一種:打開Fiddler 點擊Rules-> Automatic Breakpoints ->Before Requests(這種方法會中斷所有的會話)
如何消除命令呢? 點擊Rules-> Automatic Breakpoints ->Disabled
第二種: 在命令行中輸入命令: bpu www.baidu.com (這種方法只會中斷www.baidu.com)
如何消除命令呢? 在命令行中輸入命令 bpu
看個實例,模擬博客園的登錄, 在IE中打開博客園的登錄頁面,輸入錯誤的用戶名和密碼,用Fiddler中斷會話,修改成正確的用戶名密碼。這樣就能成功登錄:
1. 用IE 打開博客園的登錄界面 https://passport.cnblogs.com/user/signin
2. 打開Fiddler, 在命令行中輸入bpu https://passport.cnblogs.com/user/signin
3. 輸入錯誤的用戶名和密碼,點擊登錄
4. Fiddler 能中斷這次會話,選擇被中斷的會話,點擊Inspectors tab下的WebForms tab 修改用戶名密碼,然后點擊Run to Completion 如下圖所示。
5. 結果是正確地登錄了博客園
Fiddler中設置斷點修改Response
當然Fiddler中也能修改Response:
第一種:打開Fiddler 點擊Rules-> Automatic Breakpoint ->After Response (這種方法會中斷所有的會話)
如何消除命令呢? 點擊Rules-> Automatic Breakpoint ->Disabled
第二種: 在命令行中輸入命令: bpuafter www.baidu.com (這種方法只會中斷www.baidu.com)
如何消除命令呢? 在命令行中輸入命令 bpuafter
參考博客:http://kb.cnblogs.com/page/130367/