The Big List of Naughty Strings는 사용자 입력 데이터로 사용될 때 문제를 일으킬 가능성이 높은 문자열의 진화 목록입니다. 이는 자동 및 수동 QA 테스트를 돕는 데 사용하기 위한 것입니다. QA 엔지니어가 바에 들어갈 때마다 유용합니다.
엄청난 양의 자동화된 테스트를 갖춘 수십억 달러 규모의 회사라도 잘못된 입력을 모두 찾아낼 수는 없습니다. 예를 들어, 트위터에서 너비가 0인 공백(U+200B)을 트윗하려고 하면 어떤 일이 발생하는지 살펴보세요.
이는 악의적인 오류가 아니며 일반 사용자가 이상한 유니코드를 트윗하는 것이 아니지만 예상치 못한 입력에 대한 '내부 서버 오류'는 사용자에게 결코 긍정적인 경험이 아니며 실제로 더 깊은 문자열 유효성 검사 문제의 증상일 수 있습니다. Naughty Strings의 큰 목록은 이러한 문제를 밝히는 데 도움을 주기 위한 것입니다.
blns.txt
개행으로 구분된 문자열과 #
앞에 오는 주석으로 구성됩니다. 주석은 쉽게 수동으로 읽고 입력 양식에 복사/붙여넣을 수 있도록 문자열을 여러 섹션으로 나눕니다. 프로그래밍 방식으로 문자열에 액세스하려는 사용자를 위해 모든 주석이 제거된 배열이 포함된 blns.json
파일이 제공됩니다( scripts
폴더에는 blns.json
을 생성하는 데 사용되는 Python 스크립트가 포함되어 있음).
더 많은 문자열이나 섹션을 추가하려면 언제든지 풀 요청을 보내주세요. 그러나 매우 긴 문자열(255자 이상)이 포함된 풀 요청을 보내지 마십시오. 그러면 목록을 보기가 훨씬 더 어려워집니다.
마찬가지로, 파일의 수동 사용성을 손상시키는 풀 요청을 보내지 마십시오. 여기에는 바이러스 백신 스캐너에 의해 파일에 플래그가 지정될 수 있는 EICAR 테스트 문자열과 blns.txt
의 인코딩을 변경하는 파일이 포함됩니다. 또한 널 문자(U+0000) 문자열을 보내지 마십시오. GitHub의 파일 형식이 바이너리로 변경되고 끌어오기 요청에서 읽을 수 없게 렌더링되기 때문입니다. 마지막으로 문자열을 추가하거나 제거할 때 풀 요청을 수행할 때 모든 파일을 업데이트하세요.
Naughty Strings의 Big List는 귀하가 소유하고 관리하는 소프트웨어에 사용하기 위한 것입니다. Naughty Strings 중 일부는 보안 취약성을 나타낼 수 있으며 결과적으로 이러한 문자열을 타사 소프트웨어와 함께 사용하는 것은 범죄가 될 수 있습니다. 관리자는 목록 사용으로 인해 발생하는 부정적인 행동에 대해 책임을 지지 않습니다.
또한 Big List of Naughty Strings는 서비스에 대한 공식적인 보안/침투 테스트를 완전히 대체할 수 없습니다.
Big List of Naughty Strings의 다양한 구현이 다양한 패키지 관리자에게 전달되었습니다. 이는 외부 당사자가 관리하지만 여기에서 찾을 수 있습니다.
도서관 | 링크 |
---|---|
마디 | https://www.npmjs.com/package/blns |
마디 | https://www.npmjs.com/package/big-list-of-naughty-strings |
.그물 | https://github.com/SimonCropp/NaughtyStrings |
PHP | https://github.com/mattsparks/blns-php |
C++ | https://github.com/eliabieri/blnscpp |
다른 사람을 나열하려면 PR을 열어주세요.
맥스 울프(@minimaxir)
MIT