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 等,可在对应包管理器获取。
评论
- 暂无评论,来写第一条吧。