首页 > 解决方案 > 嗅探scapy中的URL和参数

问题描述

当我使用带有 scapt 的 python 进行嗅探时,密码以哈希加密但在 Ettercap 中是正常的吗?

看这张图片:

这里...

在红框内,您可以看到用户名、密码,甚至是 INFO。除此之外,密码没有使用散列加密。

但是当我使用python时,密码是用哈希加密的吗?

这里...

为什么会发生,我该如何解决?
顺便说一句,这是代码。

from scapy.all import *
import re

def get_credentials(source):
    username = None
    password = None
    userfields = ['username', 'user', 'name', 'login', 'nickname', 'userfield', 'login-name', 'log',
    "email", "login-id", 'user-name', 'userID', 'userid', 'user-id', 'login_name', 'login-name', 'login-user', 'login_user', 'account', 'acc-name',
    "account-user", "account-name"]
    passfields = ['passwords', 'pword', 'pwd', 'user-passwords', 'pass', '_password', 'password', 'password', 'pwords', 'login-passwords', 'login-pword', 'login-pwords', 'user-password', 'user-paswd']

    for login in userfields:
        user = re.search('(%s=[^&]+)' % login, source, re.IGNORECASE)
        if user:
            username = user.group()

    for p in passfields:
        passwd = re.search('(%s=[^&]+)' % p, source, re.IGNORECASE)
        if passwd:
            password = passwd.group()

    if username and password != None:
        return username, password

def ctp(pkt):
    if pkt.haslayer(Ether) and pkt.haslayer(Raw) and not pkt.haslayer(IP) and not pkt.haslayer(IPv6):
        pass

    if pkt.haslayer(TCP) and pkt.haslayer(Raw) and pkt.haslayer(IP):
        mains = str(bytes(pkt[TCP].payload))
        source = str(pkt[TCP].payload)
        creds = get_credentials(source)
        if creds != None:
            print(creds)
    else:
        pass

print('SNIFFING')
sniff(iface="lo", prn=ctp, store=0) # lo is my Local Loopback interface

标签: pythonscapy

解决方案


推荐阅读