自己着手打造Fiddler挖洞插件

访客5年前黑客文章863

关于一个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]  黑客接单网

相关文章

IKEA.com本地文件包括缝隙之PDF解析的奇妙使用

布景 本地文件包括(LFI)缝隙是一种危害性较大的缝隙类型。一旦呈现进犯者将或许运用其,读取文件源码或灵敏信息,包括歹意文件,履行恣意代码,乃至操控服务器等。大多数LFI进犯都是由动态加载图画或其他文...

JSP运用过滤器避免SQL注入

 什么是SQL注入进犯?引证百度百科的解说: sql注入_百度百科: 所谓SQL注入,便是通过把SQL指令刺进到Web表单提交或输入域名或页面恳求的查询字符串,终究抵达诈骗服务器履行歹意的SQL指令。...

一份来源未知的数据,揭秘了OilRig组织的全部信息(下)-黑客接单平台

Webshells Webshell用于与受感染服务器交互。走漏数据中包含了三个webshell,分别为HyperShell、HighShell和Minion,Minion很可能是HighShell的...

浏览器进犯结构BeEF Part 2:初始化操控

前语 在上一章,笔者现已介绍了BeEF结构。在这一章,笔者将介绍进犯阅读器技能的第一步:初始操控。 阅读器进犯办法流程 进犯阅读器一般分为几个阶段,看下图: 整个进程分为三个过程,第一步是初始化操控,...

如何用虚拟钱银匿名注册域名

以比特币为首的P2P虚拟钱银推翻了人们对钱银的认知,也为网上生意供给了新的途径。近几年来,虚拟钱银付出以其去中心化、匿名性等特色深受欢迎,活泼在各个领域,涵盖了电商、慈悲安排、企业院校等合法组织,当然...

梦里参加攻防演习活动的过程分享(上)-黑客接单平台

0×01 前语 跟着国家对网络安全的进一步注重,攻防演练活动变得越来越重要,规划也更大。高强度的演习让无论是蓝方仍是红方都变得筋疲力尽,借用朋友圈里一位大佬的一句话:活动完毕的这一天,安全圈的气氛像春...