1.1变化:
添加过滤设置
优化显现成果
添加运转提示信息
添加域名正则匹配
整个插件分为三个面板:使命面板、sqlmapapi参数装备面板、过滤条件面板。
使命面板
Server : SQLmapapi服务的IP和端口
THREAD:一起检测的使命数量
Domain:需求检测的域名,支撑正则匹配
CLEAN:铲除使命缓存列表
TEST:测验SQLmapapi的衔接是否成功
START:敞开检测
左下为使命列表和使命状况,右侧按钮下方是信息提示区域,下方为恳求概况和扫描成果。
sqlmapapi参数装备面板
这儿的设置参阅sqlmap的参数设置。
Tamper:列表中的是sqlmap自带的tamper,输入框中可填入自定义的tamper运用 ”,“逗号切割 。
LogFile:设置扫描日志记载文件,该文文件存储途径为sqlmapapi服务器上的途径。
过滤条件面板
ExcludeSuffix:用来扫除一些指定后缀的恳求,运用正则进行匹配。例如:图片、css、js等。
IngoreCase:对ExcludeSuffix进行约束是否区别大小写,默以为不区别。
IngoreParams:在对恳求进行重复性检测时需求疏忽的参数,运用”,“逗号切割,例如:恳求中的随机数timeStamp等。
ExcludeParams:在对恳求进行过滤时假如存在该参数则不将该恳求参加待测列表,例如:验证码checkCode等。
以上是依据这段时刻在实际运用的进程中所做的一些修正,后续还会依据我们的主张进一步对该插件进行优化,谢谢我们的支撑。
———————————————————————我是一个切割线————————————————–
以下是程序中的一些代码以及完成思路:
恳求监听段完成代码
public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo) {
boolean addFlag = false;// 是否添加到扫描列表
// 判别是否为request恳求、开关是否翻开
if (messageIsRequest && sqlmapApiPanel.isStart()) {
String host = helpers.analyzeRequest(messageInfo).getUrl().getHost();
if (host.matches(targetDomian)) {
IRequestInfo iRequestInfo = helpers.analyzeRequest(messageInfo);
// 从?号处切断URL 可区别http 和 https
String url = String.valueOf(iRequestInfo.getUrl());
url = url.indexOf("?") > 0 ? url.substring(0, url.indexOf("?")) : url;
// 扫除指定后缀URL(eg : .jpg|.png|.ico)
if (!excludeSuffix.matcher(url).matches()) {
// 结构使命实体
TaskEntity entity = new TaskEntity(iRequestInfo.getUrl(), //
iRequestInfo.getMethod(), //
callbacks.saveBuffersToTempFiles(messageInfo), //
iRequestInfo);
// 进行数据去重检测
String hash = bCrypt.hashpw(entity.getSignString(-1, ingoreParams), SALT);
Integer repeatCheckValue = 1;
[1] [2] [3] [4] [5] 黑客接单网