使用RapidDNS的数据自动化提交FOFA赚取F点

admin 2023年6月5日21:51:36评论69 views字数 2293阅读7分38秒阅读模式

大家好,我是BaCde。本周FOFA公开了赚取F点的文章,推出的功能是数据奖励功能,提交IP、域名、IP+端口资源,去重后,并且通过数据抓取后,最终可以换取F点。今天分享一下30分钟利用RapidDNS的数据,并开发自动化提交数据赚取F点的内容。方法简单易用。

准备工作

python3.10

从RapidDNS提取了大概80万DNS数据

FOFA账号一个或多个

分析过程

首先先走一遍流程,启动Burp Suite,开启代理,并设置浏览器代理。访问https://fofa.info,登录,进入个人中心,点击数据奖励页面,挑选数据提交。接下来查看数据奖励的请求信息。

使用RapidDNS的数据自动化提交FOFA赚取F点

这里会有两个问题需要解决,一是登录时的验证码,二提交数据每次都会有签名。

实现过程

我不打算耗费在这块太多时间,实现目的即可。所以我选择使用playwright。使用playwright的codegen功能来实现。

安装playwright只需要如下两条命令即可。

pip install playwrightplaywright install

查看playwright codegen --help,根据其中选项来看是否有需要的信息。

这里我们需要两步完成上述的需求,第一步是记录登录信息,第二步是提交数据。

playwright codegen https://fofa.info --save-storage fofa_user.json

然后点击登录按钮,输入用户名、密码、验证码,选中记录登录。登录完成后关闭页面。这时我们的登录信息就保存在了fofa_user.json 这个文件中。接下来进行第二步。

playwright codegen https://fofa.info/userInfo/dataAward --load-storage fofa_user.json -o fofa_dataAward.py

然后就是点击 “提交数据奖励”,按照要求提交我们的域名数据。点击提交。成功后,关闭窗口即可。这时在我们的当前文件夹下会生成一个fofa_dataAward.py 文件。这个就是提交数据奖励的代码。使用RapidDNS的数据自动化提交FOFA赚取F点

我们还需要在编辑一下,在提交事件后添加如下代码

page.wait_for_load_state("networkidle",timeout=360000)

然后增加一段读取文件批量提交的代码就完成了。直接运行即可,完成代码示例如下,还有其他需求可自行调整,如修改单次提交条数(这里默认100),也可以改成多线程、多进程等。这里就看大家自己了。

from playwright.sync_api import Playwright, sync_playwright, expect

def run(playwright: Playwright,domains) -> None: try: browser = playwright.chromium.launch(headless=False) context = browser.new_context(storage_state="fofa.json") page = context.new_page() page.goto("https://fofa.info/userInfo/dataAward") page.get_by_text("提交数据奖励").click() page.get_by_placeholder("可粘贴Nmap XML格式文本, nmap、masscan输出文本,或者任意文本,支持ip、域名智能提取;单次任务最多提交1000条。").click() page.get_by_placeholder("可粘贴Nmap XML格式文本, nmap、masscan输出文本,或者任意文本,支持ip、域名智能提取;单次任务最多提交1000条。").fill(domains) page.get_by_role("button", name="提交").click() page.wait_for_load_state("networkidle",timeout=360000) page.close()
# --------------------- context.close() browser.close() except : pass

i = 0 domains = []with open("links.txt","r",encoding="utf-8") as fp: for line in fp : line = line.strip() i += 1 domains.append(line) if i % 100 ==0: with sync_playwright() as playwright: run(playwright,"n".join(domains)) domains = [] print("当前提交域名%d" % i)

方法就是这么简单方便,且快速,整个过程不到30分钟即可实现。以上不用每次都需要两步,具体要看登录信息的过期时间,如果不过期可以一直使用,直接运行脚本即可。下图为我提交的截图

使用RapidDNS的数据自动化提交FOFA赚取F点

通过实际运行,当提交次数或数量到达一定值时,fofa官方会提示受到限制,说明账号每天提交是有限的。上图中可看到,已经50多万了,但是只有2000多条提交记录。

结尾

技术的发展带来了极大的效率提升,包括成本、时间、入手难度等。这将使我们更加高效的实现自己的需求。

另外RapidDNS私有化方案火热售卖中,有意者可与我联系。也欢迎大家推荐或转发,交易成功后有返点。详情可点击 RapidDNS 私有化方案


点击关注我,从此不迷路

原文始发于微信公众号(RapidDNS):使用RapidDNS的数据自动化提交FOFA赚取F点

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月5日21:51:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用RapidDNS的数据自动化提交FOFA赚取F点http://cn-sec.com/archives/1745088.html

发表评论

匿名网友 填写信息