发布于 

Saber-Web

实验1:使用Burp拦截并查看访问 http://124.70.71.251:47392/ 的HTTP请求包。

image.png

实验2:手动修改浏览器标识User-Agent

  • 先访问 http://ip.tool.chinaz.com

  • Burp开启拦截

  • 刷新页面

  • 拦截到了请求包
    image.png

  • 找到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放行

  • 查看浏览器页面结果
    image.png

  • 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.访问百度并登录账号
    image.png

  • 2.开启burp拦截

  • 3.刷新页面,在拦截到的请求包中发现cookie字段,将该字段全部复制到记事本中。
    image.png

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.另开启一个浏览器(或上述浏览器的无痕模式),访问百度,确认当前登录状态为未登录。
    image.png

  • 6.burp开启拦截

  • 7.刷新第二个浏览器的页面,将全部请求包中的cookie字段进替换并放行
    image.png

  • 8.全部放行后,发现刷新后的页面为已登录状态,用户信息同前一个浏览器中登录的账号。
    image.png

实验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

          • 这个请求头表示客户端优先选择日语(日本),其次是任何形式的日语,然后是英语(美国),最后才是英语。
  • 除了这些示例外,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
    image.png

  • 4.对比两次访问的结果。

    • 发现 Accept-Language 会根据权重修改zhen
      • 如果网站没有这个功能,需要后端实现

image.png
image.png