
C में AI चैट-बॉक्स पेंटेस्टिंग टूल: चैट इंटरफ़ेस पर भाषा (SQLi/NoSQL/XSS/SSTI) और प्रॉम्प्ट इंजेक्शन पेलोड दागता है और जो काम कर जाते हैं उन्हें फ़्लैग करता है
thc-BloodMiamiAI चैट-बॉक्स पेंटेस्टिंग टूल, जो C में लिखा गया है। यह चैट इंटरफ़ेस पर language (SQL/NoSQL/XSS/SSTI) और prompt इंजेक्शन पेलोड दागता है और उन्हें फ़्लैग करता है जो असर करते हैं — DB त्रुटि स्ट्रिंग्स, परावर्तित स्क्रिप्ट मार्कर, मॉडल जेलब्रेक सिग्नल। तेज़, थ्रेडेड, libcurl आधारित।
यह क्या करता हैLanguage injection (-i L) — SQLi, NoSQL, XSS, JS इंजेक्शन प्रोब्स; प्रतिक्रिया को त्रुटि/सिग्नेचर सूचियों (mysql_fetch_array, ORA-01756, <script>, onerror=, ...) से मिलाता हैPrompt injection (-i P) — जेलब्रेक/prompt-override प्रोब्स; हिट्स को Low (मॉडल भ्रम), Medium (संभावित बायपास), Critical (जेलब्रेक सिग्नल) के रूप में ग्रेड करता हैThreaded सेंडर — समायोज्य कंकरेंसी (-c, डिफ़ॉल्ट 10)कस्टम हेडर, user-agent, टाइमआउट, verbose मोड, परिणाम फ़ाइल में (-o)wordlist/language.txt, wordlist/prompt.txtबिल्डgit clone https://github.com/foxcornlab/thc-BloodMiami.git
cd thc-BloodMiami
# deps: gcc, make, libcurl dev headers
sudo apt install libcurl4-openssl-dev # debian/ubuntu
make
उपयोग# language injection scan
./build/bloodmiami -t https://example.com/chat -i L -d wordlist/language.txt
# prompt injection scan, verbose, results to file
./build/bloodmiami -t https://example.com/chat -i P -d wordlist/prompt.txt -v -o results.txt
# 20 threads, 10s timeout, custom header
./build/bloodmiami -t https://example.com/chat -i L -d wordlist/language.txt -c 20 -T 10 \
-H "Authorization: Bearer <token>"
Usage: bloodmiami [OPTIONS]
Required:
-t, --target URL Target chat interface URL
-i, --injection TYPE Injection type: L (language) or P (prompt)
-d, --dictionary FILE Dictionary file with payloads
Optional:
-v, --verbose Enable verbose output
-T, --timeout SEC Request timeout in seconds (default: 5)
-U, --user-agent STR Custom User-Agent string
-H, --header STR Add custom HTTP header
-c, --concurrency NUM Concurrent requests (default: 10)
-o, --output FILE Save results to file
-h, --help Show help
-V, --version Show version
यह कैसे काम करता हैडिक्शनरी की प्रत्येक पंक्ति एक POST (Content-Type: application/json) बन जाती है जिसमें पेलोड चैट-शैली के JSON बॉडी में एम्बेड होता है। प्रतिक्रिया बॉडी को इनके लिए स्कैन किया जाता है:
SQL त्रुटियाँ — mysql_fetch_array, ORA-01756, Unclosed quotation mark, PostgreSQL query failed, ...NoSQL त्रुटियाँ — MongoError, BSONObj, WriteResult, ...XSS मार्कर — <script>, javascript:, onerror=, document.cookie, ...JS त्रुटियाँ — SyntaxError, ReferenceError, eval(, ...HTTP 5xx — संभावित इंजेक्शन-प्रेरित सर्वर त्रुटि के रूप में फ़्लैग किया जाता हैएम्बेड करने से पहले पेलोड को JSON-एस्केप किया जाता है ताकि डिक्शनरी में मौजूद कोट्स/बैकस्लैश अनुरोध बॉडी को ख़राब न कर सकें। TLS सत्यापन जानबूझकर अक्षम है (CURLOPT_SSL_VERIFYPEER=0) — यह एक परीक्षण टूल है, इसे लैब/अधिकृत लक्ष्यों पर ही रखें।
पेलोड डिक्शनरीwordlist/language.txt — SQLi (UNION, error-based, time-based), NoSQL ऑपरेटर, XSS वेक्टर, SSTI प्रोब्सwordlist/prompt.txt — जेलब्रेक प्रयास, रोल-प्ले ओवरराइड, सिस्टम-प्रॉम्प्ट निष्कर्षण प्रोब्स, इनडायरेक्ट-इंजेक्शन मार्करअपनी खुद की जोड़ें: प्रति पंक्ति एक पेलोड, टिप्पणियों के लिए #। पेलोड जैसे हैं वैसे ही लक्ष्य पर पहुँचते हैं, इसलिए इसे केवल उन्हीं सिस्टम्स पर इंगित करें जिन्हें परखने की आपको अनुमति है।
अस्वीकरणकेवल अधिकृत सुरक्षा परीक्षण और अनुसंधान के लिए। जो आपके नहीं हैं उन पर इसे इंगित करने से पहले अनुमति प्राप्त करना आपकी ज़िम्मेदारी है।
आभारThe open-source security community — पेलोड विचार और सिग्नेचर सूचियाँlibcurl — सारा भारी HTTP कार्य करने के लिए
Vineeth Kumar(foxcornlab) द्वारा अनुसंधान। कोई बग मिला या कोई सुविधा चाहिए, तो एकissueखोलें।