The Big List of Naughty Strings คือรายการสตริงที่มีการพัฒนาซึ่งมีความเป็นไปได้สูงที่จะเกิดปัญหาเมื่อใช้เป็นข้อมูลที่ผู้ใช้ป้อน สิ่งนี้มีจุดประสงค์เพื่อช่วยในการทดสอบ QA ทั้งแบบอัตโนมัติและแบบแมนนวล มีประโยชน์ทุกครั้งที่วิศวกร QA ของคุณเดินเข้าไปในบาร์
แม้แต่บริษัทที่มีมูลค่าหลายพันล้านดอลลาร์ที่มีการทดสอบอัตโนมัติจำนวนมากก็ไม่สามารถค้นพบอินพุตที่ไม่ดีได้ทั้งหมด ตัวอย่างเช่น ดูว่าเกิดอะไรขึ้นเมื่อคุณพยายามทวีตพื้นที่ความกว้างเป็นศูนย์ (U+200B) บน Twitter:
แม้ว่านี่จะไม่ใช่ข้อผิดพลาดที่เป็นอันตราย และผู้ใช้ทั่วไปไม่ได้ทวีต Unicode แปลกๆ แต่ "ข้อผิดพลาดเซิร์ฟเวอร์ภายใน" สำหรับการป้อนข้อมูลที่ไม่คาดคิดนั้นไม่เคยสร้างประสบการณ์ที่ดีให้กับผู้ใช้เลย และในความเป็นจริงอาจเป็นอาการของปัญหาการตรวจสอบสตริงที่ลึกซึ้งยิ่งขึ้น The Big List of Naughty Strings มีจุดมุ่งหมายเพื่อช่วยเปิดเผยปัญหาดังกล่าว
blns.txt
ประกอบด้วยสตริงที่คั่นด้วยบรรทัดใหม่และความคิดเห็นที่นำหน้าด้วย #
ความคิดเห็นจะแบ่งสตริงออกเป็นส่วนๆ เพื่อให้อ่านด้วยตนเองได้ง่ายและคัดลอก/วางลงในแบบฟอร์มอินพุต สำหรับผู้ที่ต้องการเข้าถึงสตริงโดยทางโปรแกรม ไฟล์ blns.json
มีอาร์เรย์พร้อมความคิดเห็นทั้งหมดที่ถูกแยกออก (โฟลเดอร์ scripts
มีสคริปต์ Python ที่ใช้ในการสร้าง blns.json
)
คุณสามารถส่งคำขอดึงเพื่อเพิ่มสตริงหรือส่วนเพิ่มเติมได้ตามต้องการ อย่างไรก็ตาม โปรดอย่าส่งคำขอดึงข้อมูลที่มีสตริงยาวมาก (255+ อักขระ) เนื่องจากจะทำให้รายการดูยากขึ้นมาก
ในทำนองเดียวกัน โปรดอย่าส่งคำขอดึงข้อมูลซึ่งกระทบต่อ การใช้งานไฟล์ด้วยตนเอง ซึ่งรวมถึงสตริงทดสอบ EICAR ซึ่งอาจทำให้ไฟล์ถูกตั้งค่าสถานะโดยเครื่องสแกนไวรัส และไฟล์ที่เปลี่ยนแปลงการเข้ารหัสของ blns.txt
นอกจากนี้ อย่าส่งสตริงอักขระว่าง (U+0000) เนื่องจากจะเปลี่ยนรูปแบบไฟล์บน GitHub เป็นไบนารี่ และทำให้ไม่สามารถอ่านได้ในคำขอดึง สุดท้ายนี้ เมื่อเพิ่มหรือลบสตริง โปรดอัปเดตไฟล์ทั้งหมดเมื่อคุณดำเนินการคำขอดึง
รายการ Naughty Strings จำนวนมากมีวัตถุประสงค์เพื่อใช้ สำหรับซอฟต์แวร์ที่คุณเป็นเจ้าของและจัดการ 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 |
ซี++ | https://github.com/eliabieri/blnscpp |
กรุณาเปิด PR เพื่อแสดงรายการอื่น ๆ
แม็กซ์ วูล์ฟ (@minimaxir)
เอ็มไอที