发表于 2017-04-27   |   分类于 安全工具   |     |   阅读次数 593

人世起起落落 左手边上演的华灯初上 右手边是繁华落幕的星点余光

  本篇作为渗透神器系列第二篇,将介绍一款渗透界web测试开发界比较流行的一款web流量抓包分析工具,Fiddler。Fiddler的功能这里不多说,简单概括就是抓包、改包、重放。本篇的重点不是介绍Fiddler的基础用法,而是介绍如何通过编程打造属于自己的定制化Fiddler。本篇所记内容大部分来自互联网,如觉内容老套可自行绕道,全当个人查询之用,轻喷即可。

修改规则文件CustomRules.js

CustomRules.js是用Jscript.NET语言写的,语法类似C#。通过修改CustomRules.js可以修改http的请求和应答,不用中断程序,还可以针对不同的url做特殊的处理。

CustomRules.js文件位置

Fiddler工具菜单栏:

1
rules->CustomRules

本地电脑磁盘存放地址:

1
C:\Documents and Settings\[your user]\MyDocuments\Fiddler2\Scripts\CustomRules.js

常用内容

先分享一个常用的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static function OnBeforeRequest(oSession: Session) {
// oSession.oRequest.headers.Remove("Cookie"); //移除请求包的cookies
// oSession.oRequest.headers.Add("Cookie", "username=admin;"); //新建cookies
// oSession.oRequest["Referer"]="http://www.baidu.com"; //设置referer为baidu
// if (oSession.HTTPMethodIs("POST")){ //POST修改为GET
// oSession.RequestMethod="GET";
// }
// var strBody=oSession.GetRequestBodyAsString(); //获取请求包中的body内容,修改其内容。
// // // strBody=strBody.replace("111","222"); //替换字符串
// strBody="11111111111111111111111111111111111"+strBody; //在发送的数据包前面加上垃圾数据
// // // strBody=strBody.ToUpper(); //全部转化为大写
// // // strBody=strBody.ToLower(); //全部转化为小写
// oSession.utilSetRequestBody(strBody);
}

如上所示,修改OnBeforeRequest函数下的代码,可以起到在发送请求之前,自动修改请求包中的一些参数。如可以增删改cookie,headers头参数,可以修改请求包类型等,主要作用就是为了达到渗透测试时某种特殊的作用,比如绕过防火墙。

常用函数

http请求函数:即修改该函数内容,可以在发送http请求包之前修改某些参数。

1
static function OnBeforeRequest(oSession: Session)

http应答函数:即修改该函数内容,可以在接收http应答包之前修改某些参数

1
static function OnBeforeResponse(oSession: Session)

函数中的方法属性

筛选某个url
1
if (oSession.host.indexOf("thief.one") > -1) {}
修改session中的显示样式
1
oSession["ui-color"] = "orange"; #即该记录显示的颜色
移除http头部中的某字段
1
oSession.oRequest.headers.Remove("");
修改http头部中的某字段内容
1
oSession.oRequest["Referer"] = "http://thief.one";
修改host
1
oSession.host = "thief.one";
修改Origin字段
1
oSession.oRequest["Origin"] = "http://thief.one";
删除所有的cookie
1
oSession.oRequest.headers.Remove("Cookie");
新建cookie
1
oSession.oRequest.headers.Add("Cookie", "username=nMask;");
获取Request中的body字符串
1
var strBody=oSession.GetRequestBodyAsString();
用正则表达式或者replace方法去修改string
1
strBody=strBody.replace("thief","nmask");
弹个对话框检查下修改后的body
1
FiddlerObject.alert(strBody);
将修改后的body,重新写回Request中
1
oSession.utilSetRequestBody(strBody);
修改请求url

例如:将请求URI中http协议替换成https协议。

1
oSession.fullUrl = "https" + oSession.fullUrl.Substring(oSession.fullUrl.IndexOf(':'));
网络限速

1000/下载速度 = 需要delay的时间(毫秒),比如20kB/s 需要delay50毫秒来接收数据。

1
2
3
4
5
6
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}

Fiddler可以定制化很多功能,以上是我平时常用的一些内容,如想要了解更多用法请参考官方文档:Fiddler文档

传送门

【渗透神器系列】nc

参考:http://www.open-open.com/lib/view/open1429059806736.html

转载请说明出处:【渗透神器系列】Fiddler|nMask’Blog
本文地址:http://thief.one/2017/04/27/1

【渗透神器系列】Fiddler (收藏)的更多相关文章

  1. CobaltStrike4.0——渗透神器

    CobaltStrike4.0--渗透神器 Cobaltstrike简介 Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人称为CS,其拥有多种协议主机上线方式,集成了 ...

  2. 【原创】渗透神器CoblatStrike实践(1)

    渗透神器CoblatStrike实践(1) 前言 正常的渗透测试: ​ 寻找漏洞,利用漏洞,拿到一定的权限 后渗透(CS为代表的): ​ 提升权限,内网渗透,权限维持 工具地址(非官方取到后门多,建议 ...

  3. [工具]渗透神器CobaltStrike 3.1.2 K8去后门破解版 & Windows版TeamServer

    CS简介 Cobalt Strike(简称CS)是全球黑客公认一款非常优秀的渗透测试神器,以metasploit为基础的GUI的框架式渗透工具,集成了传统远控功能(远程桌面VNC.键盘记录.CmdSh ...

  4. 渗透神器CobaltStrike 3.1.2 去后门破解版 & Windows版TeamServer【转】

    转自我八师傅博客 CS简介 Cobalt Strike(简称CS)是全球黑客公认一款非常优秀的渗透测试神器,以metasploit为基础的GUI的框架式渗透工具,集成了传统远控功能(远程桌面VNC.键 ...

  5. 玩转渗透神器Kali:Kali Linux作为主系统使用的正确姿势TIPS

    Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. 本文假设你在新装好的kali linux环境下… ...

  6. #能力开放平台系列-Fiddler访问Rest服务

    问题 最近开发能力开放平台,需要将Dubbo服务转换成Rest服务,虽然转换很成功(后续文档会写出如何将Dubbo服务转换成Rest接口),但是调试起来特别的麻烦. 解决方案: Fiddler解决方案 ...

  7. 后渗透神器Empire的简单使用

    1.安装 1.1.系统环境: Debian系Linux:例如Ubuntu和Kali(本文使用Kali作为环境) 1.2.安装命令: 安装最后需要输入用户名.密码 wget https://raw.gi ...

  8. Powershell渗透测试系列–进阶篇

    原文来自:https://bbs.ichunqiu.com/thread-41561-1-1.html i春秋作家:anyedt 0×00 引言 经过基础篇的学习我们已经对powershell有了一个 ...

  9. DVWA渗透测试系列 一 (DVWA环境配置)

    DVWA介绍: DVWA是一个渗透测试靶机系统. DVWA具有十个模块:分别是 Brute Force(暴力破解).Command Injection(命令行注入).CSRF(跨站请求伪造).File ...

随机推荐

  1. linux mount-umount命令常用记录

    每次挂在u盘都忘记,这次记录下. umount命令: 必杀:umount -l /dev/sda1 (有时候卸载不能卸,加-l(不是1,是小写字母l)参数,表示在设备不忙时卸载设备,就可成功卸载设备) ...

  2. Tomcat运行流程

    Connector介绍 1.1 Connector的种类 Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector分为以下几类: Http Conn ...

  3. [浪风分享]App必死 Web永生 看Web的前世今生 必会卷土重来

    当我们回顾技术的演变历史时,我们也应该关注技术演变的背后逻辑. 几年前,美国的<连线>杂志发表了“Web已死,Internet永生”的文章,由于作者之一是长尾理论的提出者克里斯.安德森(C ...

  4. onlyoffice 中文支持稳定操作方法

    网上的都是抄来抄去,不如我这个简单粗暴: 1. 没装过先安装 sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver2 .查看conta ...

  5. 在EntityFramework(EF)中删除主从表记录

    删除主表:  如果要删除单个的Book对象,由于启用了级联删除,干掉一个Book,它所关联的所有BookReview也一并删除了. (说的简单,如果用Attach方法或者Remove,加修改删除状态, ...

  6. c/c++基本数据类型大小

    各个类型的变量长度由编译器来决定(实际上与操作系统位数和编译器都有关)使用时可用sizeof()得到,当前主流编译器一般是32位或64位. 类型 32位 64位 char 1 1 short int ...

  7. Python Socket套接字

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

  8. Wedding (poj 3648 2-SAT 输出随意一组解)

    Language: Default Wedding Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9004   Accept ...

  9. 《从零开始学Swift》学习笔记(Day 24)——枚举

    原创文章,欢迎转载.转载请注明:关东升的博客  Swift中的枚举可以定义一组常量.提高程序的可读性:还具有面向对象特性. 使用enum关键词声明枚举类型,具体定义放在一对大括号内,枚举的语法格式如下 ...

  10. 《从零开始学Swift》学习笔记(Day 18)——有几个分支语句?

    原创文章,欢迎转载.转载请注明:关东升的博客       分支语句又称条件语句,Swift编程语言提供了if.switch和guard三种分支语句. if语句 由if语句引导的选择结构有if结构.if ...