当前位置:网站首页>bp 插件临时代码记录
bp 插件临时代码记录
2022-07-26 23:18:00 【freshfox】
package burp;
import java.io.PrintWriter;
import java.util.List;
//import org.apache.http.client.methods.HttpPost;
public class BurpExtender implements IBurpExtender, IHttpListener,
IProxyListener, IScannerListener, IExtensionStateListener {
private IBurpExtenderCallbacks callbacks;
private PrintWriter stdout;
//
// implement IBurpExtender
//
@Override
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
// keep a reference to our callbacks object
this.callbacks = callbacks;
// set our extension name
callbacks.setExtensionName("Event listeners");
// obtain our output stream
stdout = new PrintWriter(callbacks.getStdout(), true);
// register ourselves as an HTTP listener
callbacks.registerHttpListener(this);
// register ourselves as a Proxy listener
callbacks.registerProxyListener(this);
// register ourselves as a Scanner listener
callbacks.registerScannerListener(this);
// register ourselves as an extension state listener
callbacks.registerExtensionStateListener(this);
}
//
// implement IHttpListener
//
public String[] getHeaderNameValue(String header) {
String arr[] = {"", ""};
int index = header.indexOf(":");
if (index ==-1){
return arr;
}
arr[0] = header.substring(0, index);
arr[1] = header.substring(index + 1);
return arr;
}
@Override
public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo) {
if (!messageIsRequest) {
IExtensionHelpers helpers = this.callbacks.getHelpers();
IRequestInfo info = helpers.analyzeRequest(messageInfo.getRequest());
List<String> headers = info.getHeaders();
for (int i = 0; i < headers.size(); i++) {
//stdout.println(headers.get(i));
String header[] = getHeaderNameValue(headers.get(i));
stdout.println("header name : " + header[0] + " header value : " + header[1]);
}
}
}
//
// implement IProxyListener
//
@Override
public void processProxyMessage(boolean messageIsRequest, IInterceptedProxyMessage message) {
stdout.println(
(messageIsRequest ? "Proxy request to " : "Proxy response from ") +
message.getMessageInfo().getHttpService());
}
//
// implement IScannerListener
//
@Override
public void newScanIssue(IScanIssue issue) {
stdout.println("New scan issue: " + issue.getIssueName());
}
//
// implement IExtensionStateListener
//
@Override
public void extensionUnloaded() {
stdout.println("Extension was unloaded");
}
}边栏推荐
猜你喜欢

NAT网络地址转换协议-拓扑实验

Fist guessing applet based on Object-C novice on the road

Hcip day 5 OSPF extended configuration experiment

JMeter下载安装

【斐波那契数列及螺线 基于C语言】
![Today, let's talk about escape characters [cute new version]](/img/8a/5d60d362c5de42fac0b9abd0754241.png)
Today, let's talk about escape characters [cute new version]
![[C language] relevant distinction between strlen and sizeof](/img/c0/c026818692a01c1867771434e90da8.png)
[C language] relevant distinction between strlen and sizeof

Redis五种基本数据结构

BigDecimal 的 4 个坑,你踩过几个?

什么是进程?
随机推荐
毕业进入HW,从测试工程师到项目经理,现如今在鹅厂年收入百万,我的给大家的一些建议...
f8抓交通、f9抓兔子、f10turtle
[dimension reduction blow, take you to learn CPU in depth (Part 1)]
Make static routing accessible to the whole network through ENSP
NAT network address translation protocol topology experiment
Prometheus operation and maintenance tool promtool (III) debug function
LabelImg标注的xml格式转yolov5
OSPF总结(思维导图)
C language -- nesting of relational and logical operators, if statements, switch statements, and branch structures
什么是进程?
蚂蚁京东新浪10位架构师424页佳作深入分布式缓存从原理到实践pdf
Hcip day 1
最新多线程&高并发学习资料,面试心里有底气
图书馆和档案馆的职能
东北证券股票网上开户,手机上开户安全吗
Three handshakes and four disconnects of TCP
Hcip day 3 Wan topology experiment
【用C语言绘制直角坐标系】
【降维打击,带你深度学习CPU(上)】
uni-app 微信小程序搜索关键字标红显示