python - 嗅探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
解决方案
推荐阅读
- javascript - 函数内的参数值变化
- angular - 无法从 nginx 中配置的 Angular 应用程序访问 localhost
- python - AttributeError:“str”对象没有属性“datetime”:Python
- ruby-on-rails - 在 ApplicationController 中添加 Logstasher 自定义字段
- push-notification - 离子 4 推送通知
- python - 同一数据帧上的多个总和
- c# - 如何有条件地添加 Blazor 组件的模板?
- r - 使用 cor_plot 呈现相关矩阵
- android - 如何在kotlin中使用协程每秒调用一个函数
- c# - 该属性受该属性影响的访问类