标签归档:插件

编写BurpSuite请求处理(加密、解密)插件

Intro

一直以来抓包都是用Fiddler居多,Python、BurpSuite辅助。以前用不惯BurpSuite的原因主要是界面过于繁杂,Request、Reponse窗口不如Fiddler直观,以及十分不友好的Intercept功能。所以,在之前的工作中,如果遇到协议加密,我的处理方式如下:

  1. 优先考虑是否能通过一些手段Bypass、去掉加密;
  2. 编写Fiddler解密插件,有时需要Xposed、Frida、Substrate、Flex的配合;
  3. 使用Python编写HTTP Server、Proxy,或类似Brida之类的方式,作为Fiddler、BurpSuite的上游代理;
  4. 放弃或安排给其他同事。

所以之前没有写过BurpSuite插件和脚本。这几个月经历多次实战渗透之后,逐渐熟悉了BurpSuite的界面和操作,于是在最近一个需要做协议解密的App分析中,尝试使用Java编写BurpSuite的插件,用于对Request、Response的加密和解密。BurpSuite的插件并没有Fiddler那么直观,搜了一下内部仓库竟然没有相关插件供参考,大惊。进一步抽样Review了报告和近期的入职培训,才意识到自从MonkeyLord编写了XServer并在内部大力推广之后,基本没人再分析加密过程、编写插件。另外一个同事lyxhh也开源过类似的辅助工具,参考这里

XServer大概的原理是,使用Xposed在进程中注入模块,同时开启一个HTTP Server,HTTP Server提供反射机制,所以BurpSuite可以将App的任意函数作为RPC进行调用。在此基础上进一步完善,实现重放、response修改等功能。 More