首先,需要导入必要的Python库和FOFA API模块:

import requests
from bs4 import BeautifulSoup
from fofa import FofaAPI

然后,定义FOFA API的key和secret:

email = 'your_email'
key = 'your_key'
api = FofaAPI(email, key)

接下来,使用FOFA API来搜索目标网站,并将结果存储在一个列表中:

query_str = 'title='目标网站的标题''
results = []
for page in range(1, 11):
    data = api.get_data(query_str, page=page)
    results.extend(data['results'])

然后,遍历结果列表中的每个URL,使用requests库来获取网站的HTML代码,并使用BeautifulSoup来解析HTML代码:

for result in results:
    url = 'http://' + result[0]
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')

接着,使用BeautifulSoup来查找网站的指纹信息,例如网站使用的CMS、JavaScript框架、服务器类型等:

cms = soup.find('meta', attrs={'name': 'generator'})
if cms:
    print('CMS:', cms['content'])
js_framework = soup.find('script', src=True, attrs={'src': 'http://cdn.bootcss.com/jquery/3.2.1/jquery.min.js'})
if js_framework:
    print('JavaScript Framework: jQuery')
server = response.headers['Server']
print('Server:', server)

最后,将这些指纹信息保存到一个文件中:

with open('website_fingerprint.txt', 'w') as f:
    f.write('CMS: {}
'.format(cms['content']))
    f.write('JavaScript Framework: jQuery
')
    f.write('Server: {}
'.format(server))

举个例子,比如我们想搜索使用WordPress的网站,可以这样修改查询字符串:

query_str = 'title='WordPress' && domain='com''

然后运行代码,就可以得到所有使用WordPress的.com域名网站的指纹信息,并保存到文件中。

Python & FOFA: 网站指纹提取实战指南

原文地址: https://www.cveoy.top/t/topic/oYy4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录