当前位置:网站首页>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");
}
}边栏推荐
猜你喜欢

Static routing experiment configuration

C language -- while statement, dowhile statement, for loop and loop structure, break statement and continue statement

【降维打击,带你深度学习CPU(上)】
![[C language] relevant distinction between strlen and sizeof](/img/c0/c026818692a01c1867771434e90da8.png)
[C language] relevant distinction between strlen and sizeof

测试工作十年,想对还在迷茫的朋友说:一点要做好个人规划...

HCIP-第五天-OSPF扩展配置实验

聊聊自动化测试的度量指标

hcip--ospf接口网络接口类型实验

Writing a pacesetter frequently -- yunxiaojing

Witness that the "decoding 2022 strong star of China's network security" is about to set sail
随机推荐
静态路由实验配置
Hcip OSPF knowledge summary
猜拳小程序 基于Object-C 新手上路
Northeast Securities stock online account, is it safe to open an account on your mobile phone
HCIP-第三天-广域网拓扑实验
通过ensp让静态路由实现全网可达
【自此文之后,学习链表一片坦途】
Is it necessary to open an account on site for securities speculation? Is it safe to open an account online
【封神演绎、十五分钟让你彻底学会栈的使用!!!】
Plato Farm有望通过Elephant Swap,进一步向外拓展生态
The latest JD SMS login + silly girl robot nanny level deployment tutorial (July 24, 2022)
After working in Tencent testing post for 5 years, I was ruthlessly dismissed in July, trying to wake up my brother who was still paddling
The XML format of labelimg annotation is converted to yolov5
证券公司哪家手续费最低?手机上开户安全吗
C language - assignment operator, compound assignment operator, self increasing and self decreasing operator, comma operator, conditional operator, goto statement, comment
进程的调度
静态路由综合实验
MGRE, PPP, HDLC comprehensive experiment
项目时区问题解决
创业3年,现在鹅厂,年收入百万+,作为软件测试前辈的一些建议....