
वेब अनुप्रयोगों के फ़ज़िंग में सहायता के लिए एक Python3 मॉड्यूल
Python3 मॉड्यूल संगत
pywebfuzz पर आधारित, Py3webfuzz एक Python3 मॉड्यूल है जो वेब अनुप्रयोगों, वेब सेवाओं में ब्रूट फोर्स, फज़िंग और विश्लेषण के माध्यम से कमजोरियों की पहचान करने में सहायता करता है। मॉड्यूल सामान्य परीक्षण मान, जनरेटर और अन्य उपयोगिताओं प्रदान करके ऐसा करता है जो वेब अनुप्रयोगों, API एंडपॉइंट्स को फज़ करने और वेब एक्सप्लॉइट विकसित करने में सहायक होते हैं।
py3webfuzz में fuzzdb और कुछ अन्य विविध स्रोतों को Python कक्षाओं, विधियों और फंक्शनों में उपयोग में आसानी के लिए लागू किया गया है। fuzzdb प्रोजेक्ट परीक्षण के लिए मानों का एक संग्रह मात्र है। इसका उद्देश्य fuzzdb प्रोजेक्ट और कुछ अन्य स्रोतों से मानों का एक अच्छा चयन प्रदान करना है, जो साफ किए गए हैं और Python3 कक्षाओं, विधियों और नामस्थानों के माध्यम से उपलब्ध हैं। यह तब आसान और सुविधाजनक बनाता है जब आप अपने स्वयं के एक्सप्लॉइट और PoC में इन मानों का उपयोग करने का समय आता है।
नामों को नवीनतम fuzzdb प्रोजेक्ट के फ़ोल्डरों और मानों से मिलान करने का प्रयास किया गया था। यह प्रयास कभी-कभी कुछ बदसूरत दिखने वाले नामस्थान बना सकता है। यह संतुलन इसलिए साधा गया ताकि fuzzdb प्रोजेक्ट से परिचितता Python कोड में आ जाए। अपवाद हाइफ़न को अंडरस्कोर से बदलने के साथ आते हैं।
स्थापना कुछ तरीकों से की जा सकती है। यदि आप वर्चुअल एनवायरनमेंट का उपयोग करना चाहते हैं
$ git clone https://github.com/jangelesg/py3webfuzz.git
$ cd py3webfuzz/
आप प्रदान की गई setup.py को install कमांड के साथ चला सकते हैं
$ python setup.py install
आप easy_install का भी उपयोग कर सकते हैं यदि आप अपने स्थापित पैकेजों का प्रबंधन इसी तरह करते हैं
$ easy_install py3webfuzz_VERSION.tar.gz
आप उस स्थान पर भी इंगित कर सकते हैं जहाँ tar.gz वेब पर रहता है
$ easy_install URL_package
आपको आगे बढ़ने में सक्षम होना चाहिए।
# Accessing SQLi values and encode them for further use
# Import Library
from py3webfuzz import fuzzdb
from py3webfuzz import utils, encoderFuncs
# Instantiate a Class Object that give you access to a set of SQLi values
sqli_detect_payload = fuzzdb.Attack.AttackPayloads.SQLi.Detect()
# Getting Access to those values through a list
for index, payload in enumerate(sqli_detect_payload.Generic_SQLI):
print(f"Payload: {index} Value: {payload}")
# Using encoderFuncs you can get different handy encodings to develop exploits
print(f"SQLi Char Encode: {encoderFuncs.sqlchar_encode(payload)}")
# Send HTTP request to your target
# Import Library
from py3webfuzz import utils
# Custome your target and Headers
location = "http://127.0.0.1:8080/WebGoat/start.mvc#lesson/WebGoatIntroduction.lesson"
headers = {"Host": "ssl.scroogle.org", "User-Agent": \
"Mozilla/4.0 (compatible; MSIE 4.01; AOL 4.0; Mac_68K)",
"Content-Type": "application/x-www-form-urlencoded"}
# at this point you have a dic object with all the elements for your pentest
# "headers": response.headers, "content": response.content, "status_code": response.status_code,
# 'json': response.json, "text": response.text, "time": f"Total in seconds: {time}"
res = utils.make_request(location, headers=headers, method="get")
# print the response
print(res)

भविष्य