zoukankan      html  css  js  c++  java
  • 使用 Fiddler 测试接口安全 Fiddler 的运行机制、安装 Fiddler、iddler的Response的消息结构、Fiddler捕获请求、Fiddler 的 Response 乱码解决、使用 Fiddler 实现接口测试、伪造数据

    1、什么是 Fiddler

    Fiddler 是强大且好用的 Web 调试工具之一,它能记录客户端和服务器的 http 和 https 请求,允许你监视,设置断点,甚至修改输入输出数据。

    2、 Fiddler 的运行机制 

    • 本机上监听 8888 端口的 HTTP 代理。 
    • 对于 PC 端 Fiddler 启动的时候默认 IE 的代理设为了 127.0.0.1:8888,而其他浏览器是 需要手动设置的,所以如果需要监听 PC 端 Chrome 网络请求,将其代理改为 127.0.0.1:8888 就可以监听数据。

     3、安装 Fiddler 

    1)安装 NDP451

    Microsoft .NET Framework 4.5.1 ,是微软的一个基础接口程序

    2) 安装 fiddler4

    3) 安装 fiddlerSyntax

    链接:https://pan.baidu.com/s/17s1070v_GKS3iVlfItb6Eg
    提取码:6l2b

    4、Fiddler 主界面

     5、    Fiddler会话区

    • #:顺序号,按照抓包的顺序从1递增
    • Result:HTTP状态码
    • Protocol:请求使用的协议,如HTTP/HTTPS/FTP等
    • HOST:请求地址的主机名或域名
    • URL:请求资源的位置(路径)
    • Body:请求大小
    • Caching:请求的缓存过期时间或者缓存控制值
    • Content-Type:请求响应的类型
    • Process:发送此请求的进程
    • Comments:备注
    • Custom:自定义值

    6、Fiddler 的 HTTP 统计视图

    • 请求总数、请求包大小、响应包大小。
    • 请求起始时间、响应结束时间、握手时间、等待时间、路由时间、TCP/IP、传输时间。
    • HTTP状态码统计。
    • 返回的各种类型数据的大小统计以及饼图展现。

    7、Fiddler的监控面板(Inspector)

    • Headers:信息头,若用手机和电脑打开的页面不一样,与此设置有关。
    • TextView:以文本形式显示请求或响应的数据。
    • SyntaxView:同TextView,但有语法着色。
    • WebForms:请求部分以表单形式显示所有的请求参数和参数值;响应部分与TextView内容是一样的。
    • HEX:十六进制形式的数据。
    • Auth:显示认证信息,如Authorization。
    • Cookies:显示所有cookies。
    • Raw:显示Headers和Body数据。
    • JSON:请求或响应数据是json格式时,json形式显示请求或响应内容。
    • XML:请求或响应数据是xml格式,xml形式显示请求或响应内容。

    8、 Fiddler的Request消息结构

    • POST:请求方式,HTTP/1.1表示协议与版本
    • Accept:浏览器端可接受的媒体类型
    • Referer:告诉服务器是从哪个页面链接过来的
    • Accept-Language:语言类型
    • Accept-Encoding:压缩方法
    • User-Agent:客户端使用的操作系统和浏览器的名称和版本
    • Connection:网页打开后,客户端和服务器之间用于传输数据的TCP连接是否关闭,keep-alive表示不会关闭,客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
    • COOKIE:将cookie值发送给服务器

    9、 Fiddler的Response的消息结构

     Ø  HTTP/1.1:协议,200:状态码,OK响应消息文本

    • Ø  Cache-Controlprivate的消息不能被共享缓存处理,对于其他用户的请求无效

      Ø  Content-Typecharset:告知客户端服务器本身响应的对象的类型和字符集

      Ø  Expires:浏览器会在指定过期时间内使用本地缓存

      Ø  Last-Modified:客户端请求的资源文件在服务器端最后被修改的时间

      Ø  Date:生成消息的具体时间和日期

      Ø  Content-Length:正文长度

      Ø  Set-Cookie:把cookie发送到客户端

    10、  Fiddler捕获请求

    1)使用过滤器抓包

     --》保存过滤器

     --》下次进入加载点击Load Filterset进行加载

    2)Fiddler 的 Response 乱码解决

    ü  进入注册表

    ²  HKEY_CURRENT_USERSoftwareMicrosoftFiddler2

    ²  新建字符串值:HeaderEncoding,值设置为GBK

    ²  重启Fiddler

    --》搜索输入regedit

     -->找到HKEY_CURRENT_USERSoftwareMicrosoftFiddler2,右击新建字符串值

     

     --》输入HeaderEncoding,值设置为 GBK

    3)HTML页面被压缩

     ü 通过两种方法去解压缩。

    ²  方法一:点击红框内容“Response body is encouded.Click to decode.

    ²  方法二:选中工具栏中的"Decode",这样会自动解压缩。

    使用 Fiddler 实现接口测试

    1)  测试登录接口,不进行登录使用cookie欺骗进入网站

    --》  抓包,完成后退出

    输入http://192.168.109.208:1080/webtours/,进行登录,登陆成功后,关闭浏览器

    --》  选中需要测试的url,找到并复制请求部分raw中的cookie整行

    --》  重新启动Fiddler

    --》  ComposerParsed

    ü  Composer

    ü  输入越权访问的url

    ü  粘贴Cookie

    ü  执行越权url

    ²  Execute

    --》查看webview发现当前用户可以登录

    --》将cookie中的用户名换成不存在的用户名,再次进行execute,发现

    2)传递非法参数

    ü  方法1

    ²  Fiddler中设置抓包

    ²  选择urlF2,修改参数

    ²  回放url

    ²  查看响应数据或后台数据

    --》修改参数

     ---》回放URL

     --》查看响应,数据表被修改

     

    ü  方法2

    ²  Composer

    l  选择getpost方法

    l  输入urlurl后应携带/

    l  post方法应添加  Content-Type: application/x-www-form-urlencoded

    l  参数

    n  get方法直接在url/后写

    u  ?参数名1=1&参数名2=2

    n  post方法在RequestBody中写

    u  参数名1=1&参数名2=2

    l  Execute

     

    -->get请求

     --》post

      

     伪造数据 

    设置断点修改 Request,使用此方式伪造或篡改数据;攻击 Webtours 付款接口

    1)  无需截获数据流(抓包),在浏览器中打开将数据(如价格)发给服务器的页面,停止操作

    --》取消抓包

     --》停到某个需要提交数据的页面

    2)  在Fiddler中设置抓包和拦截请求

    朝下箭头表示响应,朝上箭头表示请求

    3)  返回软件操作,给服务器发送数据

    4) 拦截完成,篡改将要发送的数据,点击Break on Response,点击Run to Completion

    5)在Fiddler中取消抓包和拦截请求

    6)  浏览器已经进入下一个页面,继续操作;继续后续操作,到完成

    7) 查看后台数据,数据被修改

     

    文档来源:尚学堂。百战程序员


  • 相关阅读:
    HDU 3555 Bomb (数位DP)
    ms sqlserver数据库主文件特别大怎么办
    w3wp.exe占用cpu特别高
    Excel的数据批量替换
    用Excel的分列功能格式化时间
    sql cte的使用
    数据结构
    http与浏览器学习
    长方形裁切优化与矩形物料排料
    架构知识
  • 原文地址:https://www.cnblogs.com/ychun/p/14328083.html
Copyright © 2011-2022 走看看