|
|
|
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from burp import IBurpExtender
from burp import IHttpListener
from burp import IHttpRequestResponse
from burp import IResponseInfo
from burp import IRequestInfo
from burp import IHttpService
import re
print "just
test"
#这个脚本的作用是获得burp流量,然后获取url,用于awvs的后续扫描
class BurpExtender(IBurpExtender,IHttpListener):
def registerExtenderCallbacks(self,callbacks):
self._callbacks
= callbacks
self._helpers
= callbacks.getHelpers()
self._callbacks.setExtensionName("get link")#定义插件的名称
callbacks.registerHttpListener(self)
#以上都是标准化程序
def processHttpMessage(self,toolFlag,messageIsRequest,messageInfo):
if toolFlag ==64 or toolFlag ==16 or toolFlag
==8 or
toolFlag ==4:#码的含义https://portswigger.net/burp/extender/api/constant-values.html#burp.IBurpExtenderCallbacks%EF%BC%83
if not messageIsRequest:
response =
messageInfo.getResponse()
analyzedResponse = self._helpers.analyzeResponse(response)
response_headers =
analyzedResponse.getHeaders()
response_bodys =
response[analyzedResponse.getBodyOffset():].tostring()
#print
response_bodys
#获取请求包数据
request =
messageInfo.getRequest()
analyzedRequest = self._helpers.analyzeResponse(request)
request_headers =
analyzedRequest.getHeaders()
request_bodys =
request[analyzedRequest.getBodyOffset():].tostring()
#print request_headers
link =
request_headers[0].split()[1]
#print link
#获取服务信息
httpService =
messageInfo.getHttpService()
port = httpService.getPort()
host =
httpService.getHost()
Protocol =
httpService.getProtocol()
url = Protocol+"://"+host+link
if '.gif' not in link
and '.jpg' not
in link and '.png' not in link and
'.css' not in link and '.js' not in link
and '.woff?' not
in link:
print url
<<get_link.py>>
|