Fiddler规则开发入门

2020-04-08  本文已影响0人  星晨之域

Fiddler自定义规则开发

Fiddler与Burp是安全比较常用的两款抓包软件,两者的异同、优缺点在此就不做赘述,本文主要介绍Fiddler规则(也可以叫插件)开发。

0x01 准备工作
0x02 开发目标

开发一个只显示指定主机数据包的规则(仅显示指定主机数据包有其他简单方式,这儿主要作为入门开发案例)。

0x03 简单了解
  1. 启动规则编辑器

    点击菜单“规则->自定义规则”(快捷键Ctrl+R),打开规则编辑器。 图 3-1 自定义规则
  2. 查看已有规则

    可以在规则脚本内,看到已经定义的规则,且已定义规则与菜单项目一一对应,如图: 图 3-2 已有规则列表
  3. 需要使用到的几个方法介绍
RulesOption:规则菜单下的子菜单项,是个重载的方法,可用于定义一级、二级菜单
OnBeforeRequest:在请求发起前,对请求进行拦截处理
OnBeforeResponse:在请求响应前,对响应进行拦截处理
OnExecAction:界面相关功能定制,本次不涉及
0x04 开发方式

有两种方式可选:
a. 复制现有规则,进行更改
b. 使用Fiddler ScriptEditor插入代码(微软家的,界面拖拖拖)

0x05 具体步骤

a. 首先在代码中找到性能与重置脚本中间位置,插入如下代码

    // 自定义规则开发,显示抓取的指定host下的请求
    public static RulesOption("仅显示指定Host流量")
    var m_TargetHost: boolean = false;
图 3-3 插入后如图

b. 更改OnBeforeResponse函数的处理逻辑,插入如下代码

        // 指定host显示代码
        if (m_TargetHost && (oSession.host != "www.jianshu.com")){
            oSession["ui-hide"]="true";
        }
图 3-4 指定Host代码

c. 规则验证
以上已完成了简单的指定Host抓取的代码,下面进行比较


图 3-5 规则未打开
图 3-6 规则已打开

验证通过,基础的规则已经开发完毕啦
d. 主域拦截,拦截更多二级域名流量

        // 指定host显示代码
        if (m_TargetHost && (!oSession.host.EndsWith("baidu.com"))){
            oSession["ui-hide"]="true";
        }
图 3-7 获取更多二级域名流量

e. 更改为自定义域名进行拦截

    // 自定义规则开发,显示抓取的指定host下的请求  
    RulesString("流量筛选规则", true)
    RulesStringValue(1,"筛选指定Host...", "%CUSTOM%")
    public static var m_TargetHost: String = null;
    
    static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }
        // 指定host显示代码
        if (m_TargetHost && (!oSession.host.EndsWith(m_TargetHost))){
            oSession["ui-hide"]="true";
        }
    }
图 3-8 自定义域名
图 3-9 自定义域名
0x06 总结

以上就完成了一个简单的规则入门开发,通过规则定制能更好的提升我们的效率。而Fiddler的规则强大之处远不止于此,更多介绍请等待后续

上一篇下一篇

猜你喜欢

热点阅读