
وحدة Python3 للمساعدة في فازينغ تطبيقات الويب
متوافق مع وحدة بايثون 3
بناءً على pywebfuzz، فإن Py3webfuzz هي وحدة بايثون 3 للمساعدة في تحديد الثغرات الأمنية في تطبيقات الويب وخدمات الويب من خلال القوة العمياء والفحص والتحليل. تقوم الوحدة بذلك من خلال توفير قيم اختبار شائعة ومولدات وأدوات مساعدة أخرى تكون مفيدة عند فحص تطبيقات الويب ونقاط نهاية API وتطوير استغلالات الويب.
تحتوي py3webfuzz على fuzzdb وبعض المصادر المتنوعة الأخرى المطبقة في فئات وطرق ووظائف بايثون لسهولة الاستخدام. مشروع fuzzdb هو مجرد مجموعة من القيم للاختبار. الهدف هو توفير مجموعة جيدة من القيم من مشروع fuzzdb وبعض المصادر الأخرى، تم تنظيفها وإتاحتها من خلال فئات وطرق ومساحات أسماء بايثون 3. وهذا يجعل من السهل والمريح استخدام هذه القيم في استغلالاتك ونماذج الإثبات الخاصة بك.
تم بذل جهد لمطابقة الأسماء بشكل مشابه للمجلدات والقيم من أحدث مشروع fuzzdb. هذا الجهد قد ينتج عنه أحيانًا مساحات أسماء غير جميلة. تم تحقيق هذا التوازن بحيث تنتقل الألفة مع مشروع fuzzdb إلى كود بايثون. الاستثناءات تأتي مع استبدال الواصلات بشرطات سفلية.
يمكن التثبيت بعدة طرق. إذا كنت ترغب في استخدام بيئة افتراضية
http://pypi.python.org/pypi/setuptools
$ git clone https://github.com/jangelesg/py3webfuzz.git
$ cd py3webfuzz/
يمكنك تشغيل ملف setup.py المرفق مع أمر التثبيت
$ 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)
