自己着手打造Fiddler挖洞插件

访客5年前黑客文章865

关于一个Web开发人员来说,Fiddler并不生疏。作为一款Web调试利器,它具有强壮的调试功用,灵敏的装备以及丰厚的可扩展功用。我在开发工作中,最喜爱的便是它的Inspectors和AutoResponder功用。别的,它能够解密HTTPS数据,支撑反向署理,也可用于中间人进犯。

关于一个对代码有洁癖的人来说,不仅在代码格局上有严厉的要求,对代码的健壮性,安全性相同严苛。因而,就连小小的(Full path disclosure)爆物理途径的bug也不容许存在。
当我是coder的时分,我用的东西是Fiddler,当我是一个hacker的时分,我用的是burp suite。由于我对java 没有一点好感,也对它不甚了解。所以我挑选开发一个Fiddler插件协助我检查出web体系中存在的爆途径页面。个人认为, Fiddler比burp suite更”接地气”。
开发的言语我挑选的是.NET言语中的C#。原因是Fiddler自身便是用C#编写,它对.NET的扩展有杰出的支撑。
规划原理与思路
规划这个插件的原理是这姿态的:在php中,有这样一些不安全的特性,比方htmlspecialchars这个函数,许多coder喜爱用这个函数来过滤用户的输入,测验代码如下:
php
echo htmlspecialchars($_GET['param1']);
?>
当咱们结构这样一个url时,http://localhost/test.php?param=1就会发现页面爆途径了。
看图:

报错级别为正告,具体原因是说,htmlspecialchars这个函数需求的是string 而你却插入了一个array。紧接着后边就爆出了物理途径。
在php中类似于htmlspecialchars由于传入一个数组而爆途径的函数有许多。像trim等操作字符串的函数。或许这样一个小小的bug只需求一个简略粗犷,快速有用的办法即可完美搞定。那便是在php文件最初增加
php
error_reporting(0);
......
?>
即可。但是形似许多闻名的CMS却不会挑选这种办法。
插件处理恳求的大体思路是这姿态的,看下图:

到此,咱们现已搞清楚了规划原理和规划思路。接下来就开端编写这个插件吧。
编写插件
在编写插件前,首先要搞清楚开发Fiddler插件的接口。
具体的阐明能够参阅Fiddler官网。http://docs.telerik.com/fiddler/Extend-Fiddler/ExtendWithDotNet
官方阐明文档并未具体解说Fiddler插件开发的一些细节。只能经过Reflector东西反编译Fiddler库,或许直接运用Visual Studio引证Fiddler库,检查其内部完成的细节。
当然咱们最需求搞清楚这几个接口办法就行了,如下:
    public void OnLoad(){
        /* 在这编写加载插件是需求履行的code 如加载UI */ }
    public void OnBeforeUnload() {
        /*编写在unload插件之前所要履行的code*/ }
    public void AutoTamperRequestBefore(Session oSession){
        /*在这编写恳求之前需求履行的code */}
    public void AutoTamperRequestAfter(Session oSession){
        /*在这编写恳求之后需求履行的code */}
    public void AutoTamperResponseBefore(Session oSession){
        /*在这编写呼应之前需求履行的code */}
    public void AutoTamperResponseAfter(Session oSession){
        /*在这编写呼应之后需求履行的code */}
    public void OnBeforeReturningError(Session oSession){
        /*在这编写有过错回来时需求履行的code */}
翻开visual studio 2013 新建Visual C#项目,项目类型挑选类库(library),.NET Framework版别依据所要开发的插件的功用挑选吧。
树立项目后有以下几个工作要做:
1.增加引证,将Fiddler库和Forms程序集加入到project中。
2.主张增加一个类,用于UI的规划和加载以及相关控件的事情处理。
3.为了便利调试,在项目特点的生成事情中,将编译好的dll复制到Fiddler的插件目录。
插件目录阐明:
一般来说用户自界说的插件主张放在: %userprofile%DocumentsFiddler2Scripts中。
当然你也能够放在Fiddler装置目录下的Scripts文件夹中。
如下图:

UserInterface类的代码如下:
class UserInterface : UserControl
    {
        private TabPage tabPage; //增加一个标签页 用来放置控件
        private CheckBox chkb_Enabled;  //用来启用或禁用插件
        private TextBox textBox_Result;  //用来保存最终的成果
        private Button btn_Clear;  //清空按钮
        public bool bEnabled;
        public delegate void Delegate_AddResult(string strUrl);//界说输出成果的托付

[1] [2] [3] [4] [5]  黑客接单网

相关文章

一个CMS事例实战解说PHP代码审计入门

前语 php代码审计介绍:望文生义便是查看php源代码中的缺陷和错误信息,剖析并找到这些问题引发的安全漏洞。 1、环境建立: 工欲善其事必先利其器,先介绍代码审计必要的环境建立 审计环境 window...

用Google破解Google的ReCaptchav2 验证码

这是一个名叫ReBreakCaptcha的逻辑缝隙,而这个缝隙将答应你轻松地绕过网站所选用的GoogleReCaptcha v2验证码。 技能概览 早在2019年,我就开端研讨怎么才干绕过Google...

根据时延的盲道研讨:受限环境下的内容回传信道

在一次缝隙赏金活动中,挖到个指令注入的洞,我先以时延作为证明向厂商提交该缝隙,厂商以国内网络环境差为由(确实得翻墙)拒收,几回交流,奉告若我能取回指定文件 secret.txt 才认可。方针是个受限环...

Firefox与Edge的dom策略导致的csp bypass问题-黑客接单平台

在2019年对csp研讨过一阵,发现能够经过其他的dom向存在CSP的dom注入javascript协议,来到达绕过CSP的安全防护。 众所周知,CSP(内容安全战略)有两种方法来设置,一种是经过浏览...

Trickbot参加长途使用凭据盗取功用

2019年11月,Trend Micro研究人员发现一个含有暗码盗取模块的Trickbot变种,该暗码盗取模块能够从很多的运用中盗取凭据。2019年1月,研究人员发现一个参加了多个功用的Trickbo...

小白的代码审计之路

 此文由猪八戒SRC,代码审计小鲜肉“呆呆的骗子大婶”倾情贡献~欢迎勾搭! 一、 代码 审计指令注入 PHP自带的函数中供给了几个能够履行体系指令的函数,在web项目的开发中一般是不会用到的,但...