当前位置:网站首页>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");
}
}边栏推荐
- Summary of dataset operations in ppocrlabel format.
- Handsomeforum Learning Forum
- go语言慢速入门——go运算符
- 聊聊自动化测试的度量指标
- 【在Visual Studio 2019中使用SQLite3库实现学生信息管理系统】
- hcip--ospf接口网络接口类型实验
- Northeast Securities stock online account, is it safe to open an account on your mobile phone
- 静态路由基本配置 实现全网可达
- RIP路由信息协议-拓扑实验
- [dimension reduction blow, take you to learn CPU in depth (Part 1)]
猜你喜欢
随机推荐
[dimension reduction blow, take you to learn CPU in depth (Part 1)]
[Fibonacci sequence and spiral are based on C language]
Sort the three integers from large to small (introduce various methods in detail)
The pointer is really profound!!!
How many holes have you stepped on in BigDecimal?
Find a specific number in an ordered array
Guangguangzai's CSDN journey
HCIP-第五天-OSPF扩展配置实验
Encyclopedia of websites commonly used by people who know current affairs
JMeter下载安装
Redis五种基本数据结构
项目时区问题解决
【洋哥带你玩转线性表(一)——顺序表】
How to judge whether a number is odd or even?
静态路由综合实验
HCIP-第六天-OSPF静态大实验
JUC concurrent programming
Fist guessing applet based on Object-C novice on the road
Static routing experiment configuration
使用注解方式实现 Redis 分布式锁







![[draw sherpinski triangle in C language]](/img/e6/9d1d088d1c7675c23725443000329b.png)

