美文网首页
Fiddler规则开发入门

Fiddler规则开发入门

作者: 星晨之域 | 来源:发表于2020-04-08 14:39 被阅读0次

    Fiddler自定义规则开发

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

    0x01 准备工作
    • 安装Fiddler,配置代理环境
    • 一定的语言开发经验,没有也可
    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的规则强大之处远不止于此,更多介绍请等待后续

    相关文章

      网友评论

          本文标题:Fiddler规则开发入门

          本文链接:https://www.haomeiwen.com/subject/lnzzphtx.html