Saber-Web
实验1:使用Burp拦截并查看访问 http://124.70.71.251:47392/
的HTTP请求包。
实验2:手动修改浏览器标识User-Agent
-
先访问
http://ip.tool.chinaz.com
-
Burp
开启拦截 -
刷新页面
-
拦截到了请求包
-
找到User-Agent字段,进行修改
-
Mozilla/5.0 (Linux; Android 10; SM-G970F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36
-
点击forward放行
-
查看浏览器页面结果
-
HTTP头部常用字段。
-
cookie: 临时存储的用户信息,作为用户凭证。
-
Set-cookie: 首次访问或登录后服务器返回的响应包中含有该字段,浏览器接收后会把cookie值存储在本地缓存。
-
Referer: 从哪个超链接跳转过来的
-
X-Forwarded-for: 表示转发源自某IP地址
实验3:验证HTTP头部Referer字段的作用
-
1.打开百度首页
-
2.按F12调出开发者工具,切换到网络/Network选项卡
-
3.点击首页上的一篇文章
-
4.查看网络选项卡的第一条记录,找到请求头Request Headers文本框
-
5.在Request Headers文本框中找到 Referer 字段,即 Referer:
https://www.baidu.com/
-
6.接下来做对比,复制该文章的URL,新建浏览器标签,粘贴URL,打开开发者工具,访问网
址。 -
7.重复第4步
-
8.重复第5步,但在请求头中找不到 Referer 字段。
结论:Referer会记录是从哪个页面跳转到当前页面的。而直接访问当前页面的URL则不会有
Referer字段。
实验4:让Burp能够抓取HTTPS加密流量,并解密HTTPS流量
-
1.启动
Burp
-
2.浏览器访问
http://burp
-
3.在页面右上角点击 CA Certificate 下载Burp办法的证书。浏览器提示有害,仍然下载。
-
4.点击安装证书,选择“当前用户”,“指定存储路径”,选择“受信任的根证书颁发机构”,一路确认。
-
5.重启浏览器,完成。
结论:HTTPS 能够有效防御中间人攻击。
实验5:验证cookie存储用户登录信息
-
1.访问百度并登录账号
-
2.开启
burp拦截
-
3.刷新页面,在拦截到的请求包中发现
cookie字段
,将该字段全部复制到记事本
中。
Cookie: BAIDUID=27D261A5E5BF7082BB4E131AD485EBB1:FG=1; BIDUPSID=27D261A5E5BF7082896B4C82162363DF; PSTM=1683878513; H_PS_PSSID=38516_36549_38529_38469_38611_38538_38468_38592_38597_36805_38485_26350_38623_38545; BA_HECTOR=0l0585ah2g2ka52024al203k1i5rsji1n; BDRCVFR[S4-dAuiWMmn]=I67x6TjHwwYf0; delPer=0; PSINO=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; ab_sr=1.0.1_N2M3MDc3OWIwYzU2Mjk3ZmY0MDQ1ZDRlZWQ1OWQ0NTk3MGNiYjYzYzQ4ZjJkZTY1NmM3M2FjZWIxOWJhOGEwNDQ0MmMxMGRhZDg3ZTAxMjgyNGFjNDRiOGJlOGU2N2Q5YmRkZDAzODdiOGY2NGI0NzcyMGMzNGIzNmQ2NTJhNDMzODljMDFiNjU4YTQyNWQzZjdiYzUxZTFjZWVkZjI3Mg==; RT="z=1&dm=baidu.com&si=96e3c790-ef50-44ee-8808-21eb63807a27&ss=lhk9vth2&sl=1&tt=7hy&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=8z0&ul=avk&hd=b47"; BDUSS=lp6MjFMOFJ3b3hmdHJ2N0xBelp2UWsxclNlUWVYN1hSVGFFQ05VRkQ0Tmpnb1ZrRUFBQUFBJCQAAAAAAAAAAAEAAADgcYL0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP1XWRj9V1kc
-
4.
burp关闭拦截
-
5.另开启一个浏览器(或上述浏览器的无痕模式),访问百度,确认当前登录状态为未登录。
-
6.burp开启拦截
-
7.刷新第二个浏览器的页面,将全部请求包中的
cookie字段
进替换并放行
-
8.全部放行后,发现刷新后的页面为已登录状态,用户信息同前一个浏览器中登录的账号。
实验6:Accept-Language 字段的作用
-
1.自行搜索,查找HTTP头部字段 Accept-Language 的正确语法个格式
- HTTP头部字段
Accept-Language
的语法和格式如下:Accept-Language: <language1>[;q=<weight>][, <language2>[;q=<weight>]...]
- 栗子:
-
Accept-Language: en-US,en;q=0.9,fr-FR;q=0.8,fr;q=0.7
- 这个请求头表示客户端首选英语(美国)内容,其次是任何形式的英语,然后是法语(法国),最后才是纯法语。因此,如果服务器有可用的英语(美国)版本的内容,则应该优先返回,否则,如果有可用的英语内容,则应该返回。
-
Accept-Language: zh-cn,zh;q=0.5
- 这个请求头表示客户端希望接收简体中文(中国)的内容,并愿意接受任何形式的中文,但不喜欢其他类型的语言。
-
Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
- 这个请求头表示客户端优先选择日语(日本),其次是任何形式的日语,然后是英语(美国),最后才是英语。
-
- HTTP头部字段
-
除了这些示例外,
Accept-Language
头可以包含任何合法的ISO 639 语言
代码和ISO 3166 国家
/地区代码组合。一些其他可能的语言标签示例包括: -
es-ES:西班牙语(西班牙)
-
pt-BR:葡萄牙语(巴西)
-
fr-CA:法语(加拿大)
-
de-AT:德语(奥地利)
-
it-IT:意大利语(意大利)
这意味着客户端更喜欢英语(美国)版本的内容,但也愿意接受法语版本的内容,如果找不到合适的英语(美国)内容。 -
2.将Accept-Language 设置为中文,访问
https://security.alibaba.com/online/detail?id=144
-
3.将Accept-Language 设置为英文,访问
https://security.alibaba.com/online/detail?id=144
-
4.对比两次访问的结果。
- 发现
Accept-Language
会根据权重修改zh
和en
- 如果网站没有这个功能,需要后端实现
- 发现