Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
domato — DOM fuzzer | Kitploit
उपकरण/GitHubGitHub/googleprojectzero/domato
Vulnerability AnalysisWeb SecurityFuzzing
GitHubgoogleprojectzero/domato

domato

DOM fuzzer

रिपॉजिटरी देखेंवेबसाइट
1.8k2851 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Domato 🍅

एक DOM फज़र

इवान फ्रैट्रिक द्वारा लिखित और अनुरक्षित, [email protected]

कॉपीराइट 2017 Google Inc. सर्वाधिकार सुरक्षित।

Apache लाइसेंस, संस्करण 2.0 ("लाइसेंस") के अंतर्गत लाइसेंस प्राप्त; आप इस फ़ाइल का उपयोग केवल लाइसेंस के अनुपालन में कर सकते हैं। आप लाइसेंस की एक प्रति यहाँ प्राप्त कर सकते हैं:

root@kitploit:~
http://www.apache.org/licenses/LICENSE-2.0

जब तक लागू कानून द्वारा आवश्यक न हो या लिखित रूप में सहमति न दी गई हो, लाइसेंस के अंतर्गत वितरित सॉफ़्टवेयर बिना किसी प्रकार की वारंटी या शर्तों के, स्पष्ट या निहित, "जैसा है" ("AS IS") आधार पर वितरित किया जाता है। लाइसेंस के अंतर्गत लागू होने वाली विशिष्ट अनुमतियों और सीमाओं के लिए लाइसेंस देखें।

उपयोग

उपयोग संबंधी जानकारी देखने के लिए निम्नलिखित कमांड चलाएँ:

python3 generator.py --help

एकल .html नमूना उत्पन्न करने के लिए चलाएँ:

python generator.py --file <output file>

अपने द्वारा लिखे गए टेम्पलेट का उपयोग करके एकल .html नमूना उत्पन्न करने के लिए चलाएँ:

python generator.py --file <output file> --template <your custom template file>

एक ही कॉल से कई नमूने उत्पन्न करने के लिए चलाएँ:

python generator.py --output_dir <output directory> --no_of_files <number of output files>

उत्पन्न नमूने निर्दिष्ट निर्देशिका में रखे जाएँगे और उनका नाम fuzz-<number>.html होगा, जैसे fuzz-00001.html, fuzz-00002.html आदि। कई नमूने उत्पन्न करना अधिक तेज़ है क्योंकि इनपुट व्याकरण फ़ाइलों को केवल एक बार लोड और पार्स करने की आवश्यकता होती है।

कोड संगठन

generator.py मुख्य स्क्रिप्ट शामिल करता है। यह grammar.py को एक लाइब्रेरी के रूप में उपयोग करता है और DOM फ़ज़िंग के लिए अतिरिक्त सहायक कोड शामिल करता है।

grammar.py में जनरेशन इंजन शामिल है जो अधिकतर एप्लिकेशन-एग्नॉस्टिक है और इस प्रकार अन्य (यानी गैर-DOM) जनरेशन-आधारित फ़ज़र में उपयोग किया जा सकता है। चूँकि इसे एक लाइब्रेरी के रूप में उपयोग किया जा सकता है, इसका उपयोग नीचे एक अलग अनुभाग में वर्णित है।

.txt फ़ाइलों में व्याकरण परिभाषाएँ होती हैं। 3 मुख्य फ़ाइलें हैं, html.txt, css.txt और js.txt जिनमें क्रमशः HTML, CSS और JavaScript व्याकरण होते हैं। ये रूट व्याकरण फ़ाइलें अन्य फ़ाइलों की सामग्री शामिल कर सकती हैं।

जनरेशन इंजन का उपयोग और व्याकरण लिखना

कस्टम व्याकरण के साथ जनरेशन इंजन का उपयोग करने के लिए, आप निम्नलिखित python कोड का उपयोग कर सकते हैं:

root@kitploit:~
from grammar import Grammar

my_grammar = Grammar()
my_grammar.parse_from_file('input_file.txt')
result_string = my_grammar.generate_symbol('symbol_name')

निम्नलिखित अनुभाग व्याकरण फ़ाइलों की सिंटैक्स का वर्णन करते हैं।

मूल सिंटैक्स

Domato एक ऐसे इंजन पर आधारित है जो, नीचे निर्दिष्ट सरल प्रारूप में एक संदर्भ-मुक्त व्याकरण दिए जाने पर, उस व्याकरण से नमूने उत्पन्न करता है।

एक व्याकरण निम्नलिखित मूल प्रारूप में नियमों के एक समूह के रूप में वर्णित है:

<symbol> = a mix of constants and <other_symbol>s

प्रत्येक व्याकरण नियम में एक बायाँ पक्ष और दायाँ पक्ष होता है जो बराबर (equal) वर्ण द्वारा अलग किए जाते हैं। बायाँ पक्ष एक प्रतीक शामिल करता है, जबकि दायाँ पक्ष इस बात का विवरण शामिल करता है कि उस प्रतीक का विस्तार कैसे किया जा सकता है। किसी प्रतीक का विस्तार करते समय, दाईं ओर के सभी प्रतीकों का पुनरावर्ती रूप से विस्तार किया जाता है जबकि जो कुछ भी प्रतीक नहीं है उसे बस आउटपुट में कॉपी कर दिया जाता है। ध्यान दें कि एक एकल नियम इनपुट फ़ाइल की कई पंक्तियों में विस्तारित नहीं हो सकता।

CSS व्याकरण के एक भाग के निम्नलिखित सरलीकृत उदाहरण पर विचार करें:

root@kitploit:~
<cssrule> = <selector> { <declaration> }
<selector> = a
<selector> = b
<declaration> = width:100%

यदि हम व्याकरण इंजन को उस व्याकरण को पार्स करने और 'cssrule' उत्पन्न करने का निर्देश देते हैं, तो हमारे पास निम्न में से कोई एक परिणाम हो सकता है:

a { width:100% }

या

b { width:100% }

ध्यान दें कि 'selector' प्रतीक के लिए दो नियम हैं। ऐसे मामलों में, जब जनरेटर से 'selector' उत्पन्न करने के लिए कहा जाता है, तो यह उपयोग के लिए नियम को यादृच्छिक रूप से चुनेगा। 'p' गुण का उपयोग करके नियम की संभावना निर्दिष्ट करना भी संभव है, उदाहरण के लिए:

root@kitploit:~
<selector p=0.9> = a
<selector p=0.1> = b

इस मामले में, स्ट्रिंग 'a' 'b' की तुलना में अधिक बार आउटपुट होगी।

संभावना के अतिरिक्त प्रतीकों पर अन्य गुण भी लागू किए जा सकते हैं। वे एक अलग अनुभाग में सूचीबद्ध हैं।

html नमूने उत्पन्न करने के लिए एक और उदाहरण पर विचार करें:

root@kitploit:~
<html> = <lt>html<gt><head><body><lt>/html<gt>
<head> = <lt>head<gt>...<lt>/head<gt>
<body> = <lt>body<gt>...<lt>/body<gt>

ध्यान दें कि चूँकि '<' और '>' का व्याकरण सिंटैक्स में विशेष अर्थ है, इसलिए यहाँ हम इसके बजाय <lt> और <gt> का उपयोग कर रहे हैं। ये प्रतीक बिल्ट-इन हैं और उपयोगकर्ता द्वारा परिभाषित करने की आवश्यकता नहीं है। सभी बिल्ट-इन प्रतीकों की सूची एक अलग अनुभाग में दी गई है।

प्रोग्रामिंग भाषा कोड उत्पन्न करना

प्रोग्रामिंग भाषा कोड उत्पन्न करने के लिए, समान सिंटैक्स का उपयोग किया जा सकता है, लेकिन कुछ अंतर हैं। प्रोग्रामिंग भाषा व्याकरण की प्रत्येक पंक्ति आउटपुट की पंक्ति के अनुरूप होगी। इस कारण से, व्याकरण सिंटैक्स अधिक मुक्त-रूप (free-form) होगा ताकि विभिन्न प्रोग्रामिंग भाषाओं में निर्माणों (constructs) को व्यक्त किया जा सके। दूसरे, जब एक पंक्ति उत्पन्न होती है, तो पंक्ति को आउटपुट करने के अतिरिक्त, एक या अधिक चर बनाए जा सकते हैं और अन्य पंक्तियों को उत्पन्न करते समय उन चरों का पुनः उपयोग किया जा सकता है। फिर से, आइए सरलीकृत उदाहरण पर एक नज़र डालें:

root@kitploit:~
!varformat fuzzvar%05d
!lineguard try { <line> } catch(e) {}

!begin lines
<new element> = document.getElementById("<string min=97 max=122>");
<element>.doSomething();
!end lines

यदि हम इंजन को 5 पंक्तियाँ उत्पन्न करने का निर्देश देते हैं, तो हमारे पास कुछ इस प्रकार का परिणाम हो सकता है:

root@kitploit:~
try { var00001 = document.getElementById("hw"); } catch(e) {}
try { var00001.doSomething(); } catch(e) {}
try { var00002 = document.getElementById("feezcqbndf"); } catch(e) {}
try { var00002.doSomething(); } catch(e) {}
try { var00001.doSomething(); } catch(e) {}

ध्यान दें कि

  • प्रोग्रामिंग भाषा पंक्तियाँ '!begin lines' और '!end lines' कथन में संलग्न होती हैं। यह व्याकरण पार्सर को आवश्यक जानकारी देता है कि बीच की पंक्तियाँ प्रोग्रामिंग भाषा पंक्तियाँ हैं और इस प्रकार उन्हें अलग तरीके से पार्स किया जाता है।
  • हमने <element> के बजाय <new element> का उपयोग किया। यह जनरेटर को 'element' प्रतीक उत्पन्न करने के बजाय 'element' प्रकार का एक नया चर बनाने का निर्देश देता है।
  • <string> बिल्ट-इन प्रतीकों में से एक है इसलिए इसे परिभाषित करने की आवश्यकता नहीं है।
  • [वैकल्पिक] आप उन चरों का प्रारूप परिभाषित करने के लिए !varformat कथन का उपयोग कर सकते हैं जिन्हें आप उपयोग करना चाहते हैं।
  • [वैकल्पिक] आप अपवादों (exceptions) को पकड़ने या अन्य कार्य करने के लिए प्रत्येक पंक्ति के चारों ओर डाले जाने वाले अतिरिक्त कोड को परिभाषित करने के लिए !lineguard कथन का उपयोग कर सकते हैं। ऐसा इसलिए है ताकि आपको इसे प्रत्येक पंक्ति के लिए अलग से लिखने की आवश्यकता न हो।
  • '!begin lines' और '!end lines' के अतिरिक्त आप '!begin helperlines' और '!end helperlines' का उपयोग भी कर सकते हैं ताकि कोड की ऐसी पंक्तियाँ परिभाषित की जा सकें जिनका उपयोग केवल तभी किया जाएगा जब अन्य पंक्तियों को उत्पन्न करते समय आवश्यक हो (उदाहरण के लिए, सहायक पंक्तियाँ 'मुख्य' कोड के लिए आवश्यक चर उत्पन्न कर सकती हैं, लेकिन आप कभी नहीं चाहेंगे कि जब उनकी आवश्यकता न हो तो वे सहायक पंक्तियाँ आउटपुट में समाप्त हों)।
टिप्पणियाँ

पंक्ति में पहले '#' वर्ण के बाद सब कुछ एक टिप्पणी माना जाता है, इसलिए उदाहरण के लिए:

root@kitploit:~
#This is a comment
अनंत पुनरावृत्तियों को रोकना

व्याकरण सिंटैक्स में फ़ज़र को यह बताने का एक तरीका है कि कौन से नियम गैर-पुनरावर्ती हैं और अधिकतम पुनरावृत्ति स्तर तक पहुँचने पर भी उपयोग करने के लिए सुरक्षित हो सकते हैं। यह ‘nonrecursive’ गुण के साथ किया जाता है। एक उदाहरण नीचे दिया गया है।

root@kitploit:~
!max_recursion 10
<test root=true> = <foobar>
<foobar> = foo<foobar>
<foobar nonrecursive> = bar

सबसे पहले, एक वैकल्पिक ‘!max_recursion’ कथन अधिकतम पुनरावृत्ति गहराई स्तर (डिफ़ॉल्ट रूप से 50) परिभाषित करता है। ध्यान दें कि ‘foobar’ के लिए दूसरा उत्पादन नियम गैर-पुनरावर्ती के रूप में चिह्नित है। यदि कभी अधिकतम पुनरावृत्ति स्तर तक पहुँच जाता है तो जनरेटर ‘foobar’ प्रतीक के लिए गैर-पुनरावर्ती नियम का उपयोग करने के लिए बाध्य करेगा, इस प्रकार अनंत पुनरावृत्ति को रोकेगा।

अन्य व्याकरण फ़ाइलों को शामिल करना और आयात करना

Domato में, व्याकरणों को शामिल करना और आयात करना दो अलग-अलग संदर्भ हैं।

शामिल करना सरल है। आप उपयोग कर सकते हैं:

root@kitploit:~
!include other.txt

other.txt से नियमों को वर्तमान में पार्स किए जा रहे व्याकरण में शामिल करने के लिए।

आयात करना थोड़ा अलग तरीके से काम करता है:

root@kitploit:~
!import other.txt

पार्सर को एक नया Grammar() ऑब्जेक्ट बनाने का निर्देश देता है, जिसे विशेष <import> प्रतीक का उपयोग करके वर्तमान व्याकरण से संदर्भित किया जा सकता है, उदाहरण के लिए इस प्रकार:

root@kitploit:~
<cssrule> = <import from=css.txt symbol=rule>

आप नेमस्पेस के संदर्भ में आयात और शामिल करने के बारे में सोच सकते हैं: !include शामिल किए गए व्याकरण को एकल नेमस्पेस में रखेगा, जबकि !import एक नया नेमस्पेस बनाएगा, जिसे बाद में <import> प्रतीक और 'from' गुण के माध्यम से निर्दिष्ट नेमस्पेस का उपयोग करके एक्सेस किया जा सकता है।

Python कोड शामिल करना

कभी-कभी आप अपने व्याकरण में कस्टम Python कोड को कॉल करना चाह सकते हैं। उदाहरण के लिए, मान लीजिए आप इंजन का उपयोग करके एक http प्रतिक्रिया उत्पन्न करना चाहते हैं और चाहते हैं कि बॉडी की लंबाई 'Size' हेडर से मेल खाए। चूँकि यह सामान्य व्याकरण नियमों के साथ संभव नहीं है, आप इसे पूरा करने के लिए कस्टम Python कोड शामिल कर सकते हैं, जैसे:

root@kitploit:~
!begin function savesize
  context['size'] = ret_val
!end function

!begin function createbody
  n = int(context['size'])
  ret_val = 'a' * n
!end function

<foo root> = <header><cr><lf><body>
<header> = Size: <int min=1 max=20 beforeoutput=savesize>
<body> = <call function=createbody>

Python फ़ंक्शन '!begin function <function_name>' और '!end function' कमांड के बीच परिभाषित किए जाते हैं। फ़ंक्शन को दो तरीकों से कॉल किया जा सकता है: 'beforeoutput' गुण का उपयोग करके और <call> प्रतीक का उपयोग करके।

किसी प्रतीक में 'beforeoutput' गुण निर्दिष्ट करके, संबंधित फ़ंक्शन तब कॉल किया जाएगा जब इस प्रतीक का विस्तार किया जाएगा, विस्तार का परिणाम नमूने में आउटपुट होने से ठीक पहले। विस्तार का परिणाम फ़ंक्शन को ret_val चर में पारित किया जाएगा। फ़ंक्शन तब ret_val को संशोधित करने, बाद में उपयोग के लिए संग्रहीत करने या कोई अन्य ऑपरेशन करने के लिए स्वतंत्र है।

विशेष <call> प्रतीक का उपयोग करते समय, फ़ंक्शन (जो 'function' गुण में निर्दिष्ट है) तब कॉल किया जाएगा जब भाषा जनरेशन के दौरान उस प्रतीक का सामना होता है। फ़ंक्शन द्वारा ret_val में संग्रहीत कोई भी मान विस्तार का परिणाम माना जाएगा (ret_val नमूने में शामिल हो जाता है)।

आपके python कोड में निम्नलिखित चरों तक पहुँच है:

  • context - एक डिक्शनरी जो पूरे नमूना जनरेशन के दौरान पारित की जाती है। आप इसका उपयोग मानों को संग्रहीत करने (जैसे ऊपर के उदाहरण में आकार संग्रहीत करना) और बाद में सक्रिय होने वाले नियमों में उन्हें पुनः प्राप्त करने के लिए कर सकते हैं।
  • attributes - वर्तमान में संसाधित किए जा रहे प्रतीक के अनुरूप एक डिक्शनरी। आप इसका उपयोग अपने फ़ंक्शनों को पैरामीटर पारित करने के लिए कर सकते हैं। उदाहरण के लिए यदि आपने अपने फ़ंक्शन को कॉल करने के लिए <call function=func foo=bar> जैसा कुछ उपयोग किया है तो attributes[‘foo’] ‘bar’ पर सेट होगा।
  • ret_val - वह मान जो फ़ंक्शन कॉल के परिणामस्वरूप आउटपुट होगा। फ़ंक्शन को कॉल करने के लिए <call> प्रतीक का उपयोग करते समय यह एक खाली मान के साथ प्रारंभिकृत होता है, अन्यथा यह प्रतीक द्वारा उत्पन्न मान के साथ प्रारंभिकृत होगा।
बिल्ट-इन प्रतीक

निम्नलिखित प्रतीकों का एक विशेष अर्थ है और उन्हें उपयोगकर्ताओं द्वारा पुनः परिभाषित नहीं किया जाना चाहिए:

  • <lt> - ‘<’ वर्ण
  • <gt> - ‘>’ वर्ण
  • <hash> - ‘#’ वर्ण
  • <cr> - CR वर्ण
  • <lf> - LF वर्ण
  • <space> - स्पेस वर्ण
  • <tab> - टैब वर्ण
  • <ex> - ‘!’ वर्ण
  • <char> - ‘code’ गुण का उपयोग करके एक मनमाना ascii वर्ण उत्पन्न करने के लिए उपयोग किया जा सकता है। उदाहरण के लिए <char code=97> ‘a’ के अनुरूप है। निर्दिष्ट न होने पर यादृच्छिक वर्ण उत्पन्न करता है। ‘min’ और ‘max’ गुण का समर्थन करता है।
  • <hex> - एक यादृच्छिक hex अंक उत्पन्न करता है।
  • <int>, <int 8>, <uint8>, , , , , , - यादृच्छिक पूर्णांक उत्पन्न करने के लिए उपयोग किया जा सकता है। ‘min’ और ‘max’ गुण का समर्थन करता है जिसका उपयोग उत्पन्न किए जाने वाले पूर्णांकों की सीमा को सीमित करने के लिए किया जा सकता है। ‘b’ और ‘be’ गुण का समर्थन करता है जो टेक्स्ट आउटपुट के बजाय आउटपुट को लिटिल/बिग एंडियन प्रारूप में बाइनरी बनाता है।
प्रतीक गुण

निम्नलिखित गुण समर्थित हैं:

  • root - किसी प्रतीक को व्याकरण के रूट प्रतीक के रूप में चिह्नित करता है। एकमात्र समर्थित मान ‘true’ है। जब GenerateSymbol() कॉल किया जाता है, यदि कोई तर्क निर्दिष्ट नहीं किया जाता है, तो रूट प्रतीक उत्पन्न होगा।
  • nonrecursive - जनरेटर को संकेत देता है कि इस नियम में पुनरावृत्ति लूप नहीं हैं और इसका उपयोग अनंत पुनरावृत्तियों को रोकने के लिए किया जाता है। एकमात्र समर्थित मान ‘true’ है।
  • new - प्रोग्रामिंग भाषाएँ उत्पन्न करते समय यह दर्शाने के लिए उपयोग किया जाता है कि प्रतीक को सामान्य रूप से विस्तारित करने के बजाय यहाँ एक नया चर बनाया गया है। एकमात्र समर्थित मान ‘true’ है।
  • from, symbol - अन्य व्याकरणों से प्रतीकों को आयात करते समय उपयोग किया जाता है, ‘बाहरी व्याकरणों को शामिल करना’ अनुभाग देखें।
  • count - बनाई जाने वाली पंक्तियों की संख्या निर्दिष्ट करने के लिए lines प्रतीक में उपयोग किया जाता है।
  • id - यह चिह्नित करने के लिए उपयोग किया जाता है कि कई प्रतीकों को समान मान साझा करना चाहिए। उदाहरण के लिए नियम ‘doSomething(<int id=1>, <int id=1>)’ में दोनों ints का मान समान होगा। केवल पहला उदाहरण वास्तव में विस्तारित होता है, दूसरा केवल पहले से कॉपी किया जाता है।
  • min, max - संख्यात्मक प्रकारों के जनरेशन में न्यूनतम और अधिकतम मान निर्दिष्ट करने के लिए उपयोग किया जाता है। स्ट्रिंग्स में उत्पन्न वर्णों के समूह को सीमित करने के लिए भी उपयोग किया जाता है।
  • b, be - संख्यात्मक प्रकारों में बाइनरी लिटिल-एंडियन (‘b’) या बिग-एंडियन (‘be’) आउटपुट निर्दिष्ट करने के लिए उपयोग किया जाता है।
  • code - char प्रतीक में उसके कोड द्वारा आउटपुट किए जाने वाले सटीक वर्ण को निर्दिष्ट करने के लिए उपयोग किया जाता है।
  • minlength, maxlength - स्ट्रिंग्स उत्पन्न करते समय न्यूनतम और अधिकतम लंबाई निर्दिष्ट करने के लिए उपयोग किया जाता है।
  • up - hex प्रतीक में अपरकेस आउटपुट निर्दिष्ट करने के लिए उपयोग किया जाता है (लोअरकेस डिफ़ॉल्ट है)।
  • function - <call> प्रतीक में उपयोग किया जाता है, अधिक जानकारी के लिए ‘Python कोड शामिल करना’ अनुभाग देखें।
  • beforeoutput - उपयोगकर्ता-निर्दिष्ट फ़ंक्शनों को कॉल करने के लिए उपयोग किया जाता है, ‘Python कोड शामिल करना’ देखें।

बग शोकेस

Domato के साथ पाए गए कुछ बग:

  • Apple Safari: CVE-2017-2369, CVE-2017-2373, CVE-2017-2362, CVE-2017-2454, CVE-2017-2455, CVE-2017-2459, CVE-2017-2460, CVE-2017-2466, CVE-2017-2471, CVE-2017-2476, CVE-2017-7039, CVE-2017-7040, CVE-2017-7041, CVE-2017-7042, CVE-2017-7043, CVE-2017-7046, CVE-2017-7048, CVE-2017-7049, CVE-2017-13796, CVE-2017-13792, CVE-2017-13797, CVE-2017-13795, CVE-2017-13785, CVE-2017-13784, CVE-2017-13783, CVE-2017-13802, CVE-2017-13794, CVE-2017-13798, CVE-2017-13791, CVE-2018-4089, CVE-2018-4200, CVE-2018-4197, CVE-2018-4318, CVE-2018-4317, CVE-2018-4314, CVE-2018-4306, CVE-2018-4312, CVE-2018-4315, CVE-2018-4323, CVE-2018-4328
  • Google Chrome: मुद्दे 666246 और 671328
  • Microsoft Internet Explorer 11: CVE-2017-0037, CVE-2017-0059, CVE-2017-0202, CVE-2017-8594, CVE-2018-0866
  • Microsoft Edge: CVE-2017-0037, CVE-2017-8496, CVE-2017-8652, CVE-2017-8644
  • Microsoft JScript: CVE-2017-11903, CVE-2017-11855, CVE-2017-11793, CVE-2017-11906, CVE-2017-11907, CVE-2018-0935, CVE-2018-8353, CVE-2018-8631
  • Microsoft VBScript: CVE-2018-8544, CVE-2018-8552, CVE-2018-8625
  • Mozilla Firefox: CVE-2017-5404, CVE-2017-5447, CVE-2017-5465

अस्वीकरण

यह एक आधिकारिक Google उत्पाद नहीं है।

टूल डाउनलोड करें
<int16>
<uint16>
<int32>
<uint32>
<int64>
<uint64>
  • <float>, <double> - एक यादृच्छिक फ्लोटिंग-पॉइंट संख्या उत्पन्न करता है। ‘min’ और ‘max’ गुण का समर्थन करता है (निर्दिष्ट न होने पर 0 और 1)। ‘b’ गुण का समर्थन करता है जो आउटपुट को बाइनरी बनाता है।
  • <string> - एक यादृच्छिक स्ट्रिंग उत्पन्न करता है। ‘min’ और ‘max’ गुणों का समर्थन करता है जो उत्पन्न न्यूनतम और अधिकतम कैरेक्टर-कोड (charcode) को नियंत्रित करते हैं, साथ ही ‘minlength’ और ‘maxlength’ गुण जो स्ट्रिंग की लंबाई को नियंत्रित करते हैं।
  • <htmlsafestring> - <string> के समान, सिवाय इसके कि HTML मेटा-कैरेक्टर एस्केप किए जाएँगे, जिससे स्ट्रिंग को HTML टेक्स्ट या एट्रिब्यूट मानों के भाग के रूप में एम्बेड करना सुरक्षित हो जाता है।
  • <lines> - ‘count’ गुण के माध्यम से दी गई संख्या में कोड की पंक्तियाँ आउटपुट करता है। उदाहरण के लिए प्रोग्रामिंग भाषा कोड उत्पन्न करने वाला अनुभाग देखें।
  • <import> - किसी अन्य व्याकरण से एक प्रतीक आयात करता है, विवरण के लिए बाहरी व्याकरणों को शामिल करने वाला अनुभाग देखें।
  • <call> - function गुण के अनुरूप एक उपयोगकर्ता-परिभाषित फ़ंक्शन को कॉल करता है। अधिक जानकारी के लिए व्याकरण में Python कोड शामिल करने वाला अनुभाग देखें।