0x01 获取email和api_key
在个人主页的个人资料中,查看个人的email和api_key
0x02 脚本实现
在脚本实现过程中需要使用三个Python库,requests、base64、sys。
import requests import base64 import sys
API的请求地址:
api = api = r'https://fofa.so/api/v1/search/all?email={}&key={}&qbase64={}&size=10000'
email参数填个人资料中的联系邮箱。
key参数填个人资料中的API KEY。
qbase64是搜索资产的关键字,需要使用base64编码后才可成功发送请求。
size参数为搜索结果的最大值,默认为100条,上限为10000条。
完整代码:
import requests import base64 import sys email = r'你的email' api_key = r'你的API KEY' api = r'https://fofa.so/api/v1/search/all?email={}&key={}&qbase64={}&size=10000' arg = sys.argv[1] print(arg) flag = base64.b64encode(arg.encode()).decode() response = requests.get(api.format(email,api_key,flag)) results = response.json()["results"] print("共搜索到{}条记录!".format(len(results))) file_name = r"{}.txt".format(arg) f = open(file_name,"a") for addr in results: f.write(addr[0]+'\n') f.close()
脚本使用format函数对字符串进行拼接,qbase64在执行脚本时传入参数,最终搜索到的资产结果写入以关键字命名的txt文档,并保存在脚本当前目录下。
0x03 执行脚本
PS:这是对fofa的API接口调用初尝试,后续如有新的成功尝试,会继续更新。