Python & FOFA: 网站指纹提取实战指南
首先,需要导入必要的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域名网站的指纹信息,并保存到文件中。
原文地址: https://www.cveoy.top/t/topic/oYy4 著作权归作者所有。请勿转载和采集!