BurpSuite扩展开发1-API与HelloWold-园长.PDF

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BurpSuite扩展开发1-API与HelloWold-园长

原原文文地地址址:/papers/3962 0x00 简简介介 BurpSuite神器这些年非常的受大家欢迎,在国庆期间解了下Burp相关开 并写了这篇笔记。希望和大家分享一下JavaSwing和Burp插件相关开 。第一节仅简单的了 解下API相关,后面会带着大家利用Netbeans开 我们自己的扩展以及各种有趣的小工具。 0x01 怎怎么么学学?? 第一个问题是我们应该怎么去写自己的Burp扩展?我们可以找一些现有的扩展学习下,或者参阅官方文档或者手册,其次才是google一下是否有相关的教程、文章 进行学习。 google搜索:burp suite api,找到官方的API相关说明。 1. /burp/extender/ 2. /2 12/12/draft-new-extensibility-api.html You can: 1. 执行和修改 HTTP 请求和响应 2. 访问运行时的数据,比如:代理日志、目标站map和扫描问题 3. 启动自己的action,如扫描和网站爬行 4. 自定义扫描检测和注册扫描问题 5. 提供自定义Intruder payloads和payload处理 6. 查询和更新Suite-wide的目标作用域 7. 查询和更新session处理cookie jar 8. 实现自定义session处理action 9. 添加自定义的标签(tabs)和上下文菜单项到Burp 用户界面 1 . 可使用自己的界面添加Burp的HTTP消息编辑器 11. 自定义Burp的HTTP消息编辑器处理Burp不支持的数据格式 12. 获取headers, parameters, cookies分析HTTP请求和响应 13. 读取或修改Burp配置设置 14. 保存或恢复Burp状态 0x02 学学习习API API下载地址:/burp/extender/api/burp_extender_api.zip 下载API后新建Eclipse项目导入API文件: 不急于动手写代码,先看下官方的Demo: 下载第一个HelloWorld解压它并复制BurpExtender.java到我们的项目当中: BurpExtender.java: BurpExtender.java实现了IBurpExtender接口,而IBurpExtender仅定义了一个方法:registerExtenderCallbacks(注册扩展回调方法): #!java public interface IBurpExtender{ /** * 这个方法将在扩展加载的时候.他将会注册一个 *<code>IBurpExtenderCallback </code> 接口实例,可通过扩展 * 实现各种调用 *@param回调一个 *<code>IBurpExtenderCallback </code>对象. */ void regi terExtenderCallback (IBurpExtenderCallback callback ); } 在确认代码无任何错误后选中项目并导出为jar,建议安装一个打jar包的插件:Build Fat Jar这样你就可以非常方便的把整个项目打成一个jar包了. 如果你和我一样从来都没有使用过BurpSuite,那么不妨先打开它把玩几分钟。在extender(扩展)标签当中看到了Burp的插件加载界面。 Add我们刚打好的jar包,加载到Burp扩展中去。 这个时候可以看到我们的插件已经成功运行了,在LoadBurpExtension中的output标签已经看到了Hello output(stdout.println("Hello output");) Errors标签也输出了Hello errors()stderr.println("Hello errors"); 对应的错误信息(throw new RuntimeException("Hello exceptions");)。 插件名(callbacks.setExtensionName("Hello world extension");), 以及提醒面板的信息Hello alerts(callbacks.issueAlert("Hello alerts");)。 获取到Burp混淆后的扩展加载类( 自定义类加载器):

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档