AX 爱鲜报

Big List of Naughty Strings 恶意输入测试字符串集

一个持续维护的恶意/异常输入字符串列表,用于测试用户输入处理,帮助发现字符串校验、编码与安全漏洞。

爱鲜报评分

0.0

0 人评分

48k

星数

否

中文

Python

主语言

是

活跃

82

贡献者

人工分析

EDITORIAL

推荐理由

该项目汇集了大量容易引发问题的输入字符串,是 QA 与安全测试的实用素材。无论手动测试还是自动化测试,都能快速覆盖边界与异常场景。MIT 协议且社区活跃,适合集成到测试流程中。

适用场景

  • Web 表单输入校验测试
  • API 参数边界与异常测试
  • 安全渗透测试辅助
  • 自动化 QA 测试用例生成
  • 国际化与 Unicode 处理验证

优点

  • 覆盖多种异常输入类型,如 Unicode、控制字符、SQL 注入等
  • 提供纯文本与 JSON 两种格式,便于程序化使用
  • 社区活跃,持续更新,星标数高
  • MIT 协议,可自由用于商业项目

缺点

  • 仅提供字符串列表,不包含测试框架或断言逻辑
  • 部分字符串可能触发安全告警,需谨慎使用
  • 不替代正式的安全渗透测试
  • 列表长度有限,无法覆盖所有边界情况
上手难度 入门

项目简介

Big List of Naughty Strings 是一个持续演进的字符串列表,专门收集那些在作为用户输入时极有可能引发问题的字符串。它旨在帮助自动化与手动 QA 测试,快速暴露输入校验、编码处理和安全防护中的薄弱环节。

为什么需要它?

即使是拥有庞大自动化测试体系的巨头公司,也难以覆盖所有异常输入。例如,在 Twitter 上发布一个零宽空格(U+200B)就曾导致内部服务器错误。这类问题虽非恶意,但暴露了字符串校验的深层缺陷。本项目正是为了提前发现此类问题而生。

内容与格式

  • blns.txt:以换行分隔的字符串列表,注释以 # 开头,按类别分节,便于人工阅读与复制。
  • blns.json:去除注释后的 JSON 数组,方便程序化调用。
  • scripts 文件夹:包含生成 JSON 的 Python 脚本。

使用方式

你可以直接复制 blns.txt 中的字符串到输入框进行手动测试,也可以在自动化测试中读取 blns.json 遍历所有字符串。例如:

import json

with open('blns.json', 'r', encoding='utf-8') as f:
    naughty_strings = json.load(f)

for s in naughty_strings:
    # 将 s 作为输入传递给待测函数或接口
    pass

贡献与注意事项

欢迎提交 PR 添加新字符串或分类,但请避免:

  • 长度超过 255 字符的字符串(影响可读性)
  • 包含 EICAR 测试字符串(可能触发杀毒软件)
  • 空字符 U+0000(会导致 GitHub 将文件识别为二进制)
  • 改变文件编码的修改

免责声明

本列表仅建议用于你拥有并管理的软件。部分字符串可能揭示安全漏洞,对第三方软件使用可能违法。维护者不对使用后果负责。此外,它不能替代正式的安全渗透测试。

生态与包

社区已为多种语言提供了封装包,如 Node.js 的 blns、.NET 的 NaughtyStrings、PHP 的 blns-php 等,可在对应包管理器获取。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。