头图

pyWhat:精简海联数据,直达数据弱点要害- 精选真开源,释放新价值。

image

概览

pyWhat是Github社区上一款比较实用的开源Python脚本工具。它能够快速提取信息中的 IP 地址、邮箱、信用卡、数字货币钱包地址、YouTube 视频等内容。当你遇到了一串莫名其妙的文本,比如说“5f4dcc3b5aa765d61d8327deb882cf99”,而你又一头雾水的时候,你该怎么办?在pyWhat的帮助下,我们只需要询问what “5f4dcc3b5aa765d61d8327deb882cf99”,那么pyWhat就会告诉你你想知道的一切!pyWhat的任务就是帮助你识别目标数据,无论你提供的是文件还是文本,甚至是十六进制参数!不仅如此,pyWhat 还可对文件和目录进行扫描,通过递归搜索,快速获取核心信息,并对结果进行筛选、过滤、排序、导出等操作


主要功能

  • Pcap文件快速分析

假设你在一次网络攻击活动中获取到了一个.pcap文件,那么pyWhat将可以快速帮助你识别下列信息:

所有的哈希信用卡卡号加密货币地址
社保号码......

只需几秒钟,pyWhat就可以快速帮助你识别目标文件中的关键数据。

image

  • 如何使用

    $ pip3 install pywhat

    # installs optional dependencies that may improve the speed
    $ pip3 install pywhat[optimize]

    $ brew install pywhat

  • 漏洞赏金

你可以使用 PyWhat 来扫描一些可以通过漏洞赏金计划赚钱的东西,例如:API 密钥、Webhook、证书

和更多的事务。使用以下命令运行 PyWhat:

pywhat --include "Bug Bounty" TEXT

示例:GitHub 存储库 API 密钥泄露

  1. 下载组织的所有 GitHub 存储库;
  2. 搜索任何可以作为赏金提交的内容,例如 API 密钥;
# Download all repositories
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone

# Will print when it finds things.
# Loops over all files in current directory.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;

示例: 扫描所有网页以寻找赏金

# Recursively download all web pages of a site
wget -r -np -k https://skerritt.blog

# Will print when it finds things.
# Loops over all files in current directory.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
  • 排序、导出

排序:可以使用pyWhat对输出进行排序,使用what --help获取更多信息。

what -k rarity --reverse TEXT

导出:可以使用pyWhat导出为 json what --json,并且可以使用 将结果直接发送到文件what --json > file.json。

无边界模式:pyWhat具有一种特殊模式,用于匹配字符串中的可识别信息。默认情况下,它在 CLI 中启用,但在 API 中禁用。使用what --help或参考API文档https://github.com/bee-san/pyWhat/wiki/API了解更多信息。

  • 性能比较与优化

在性能比较与优化方面,PyWhat库在文本解析任务中展现了出色的效率。以下是一些性能测试和优化建议,以帮助开发者更好地了解和提升PyWhat库的性能。

import time
from pywhat import what

# 生成一个包含大量文本的列表
texts = ["文本内容" + str(i) for i in range(100000)]

# 记录解析开始时间
start_time = time.time()

# 在大量文本上执行解析操作
for text in texts:
    result = what(text)

# 记录解析结束时间
end_time = time.time()

# 计算解析时间
elapsed_time = end_time - start_time
print(f"解析 {len(texts)} 个文本的总时间: 0.0545 秒")
  • 多语言支持

PyWhat库支持多种语言,使其更具国际化的特性。用户可以选择在文本解析中使用的语言,以确保对不同语种的支持。以下是一个使用语言选择的示例:

from pywhat import what

text = "明天天气如何?"
result = what(text, lang="zh")  # 选择中文语言解析

print(result)
  • 自定义规则

PyWhat库允许用户定义自己的规则,以适应特定的文本解析需求。这对于处理特殊格式或特定领域的文本非常有用。以下是一个自定义规则的示例:

from pywhat import what, Rule

text = "根据自定义规则解析文本"
rule = Rule("自定义规则", ["自定义", "解析"])
result = what(text, custom_rules=[rule])

print(result)

信息

截至发稿概况如下:

语言占比
Python99.7%
Dockerfile0.3%
  • 收藏数量:6.4K

pyWhat是一款强大的开源Python工具,它在信息识别与数据分析领域展示了高度的灵活性与实用性。该工具能够智能解析文本或文件中的各种关键信息,比如IP地址、电子邮件、信用卡号乃至加密货币钱包地址等,显著提升了从复杂数据中提取价值的效率。对于安全研究人员而言,其快速分析Pcap文件的能力,以及在漏洞赏金狩猎场景中的应用尤为突出,能够帮助用户自动化发现API密钥、Webhook配置等敏感信息,有效促进网络安全的维护。

随着数据量的爆炸性增长,如何进一步优化像pyWhat这类工具的性能,使其在保持高速解析能力的同时,又能兼顾资源消耗与跨平台兼容性?此外,用户自定义规则的潜力如何被充分挖掘,以应对日新月异的互联网信息格式与安全挑战,也是值得深入探讨的话题。

各位在使用 PyWhat 的过程中是否发现了什么问题?热烈欢迎各位在评论区分享交流心得与见解!!!


声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发__"__并附带原文链接。


辣码甄源
13 声望20 粉丝

开源软件综合服务商,为开源人员提供可持续发展通道、为学习人员提供便捷学习渠道、为企业方提供开源定制化落地方案,发现、助力、合作、共赢开源好项目