Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
wpBullet | Kitploit
أدوات/GitHubGitHub/owasp/wpbullet
ماسحات الثغرات الأمنيةتحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةتحليل الكودأمن الويباختبار الاختراق
GitHubowasp/wpbullet

wpBullet

عرض المستودع
627منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

alt text

wpBullet Build Status Python 2.x|3.x License

تحليل برمجي ثابت (Static Code Analysis) لإضافات/قوالب ووردبريس (ولغة PHP)

التثبيت

ما عليك سوى استنساخ المستودع وتثبيت المتطلبات وتشغيل السكربت:

  • $ git clone https://github.com/webarx-security/wpbullet wpbullet
  • $ cd wpbullet
  • $ pip install -r requirements.txt
  • $ python wpbullet.py

الاستخدام

الخيارات المتاحة:

root@kitploit:~
--path (required) System path or download URL 
Examples:
--path="/path/to/plugin"
--path="https://wordpress.org/plugins/example-plugin"
--path="https://downloads.wordpress.org/plugin/example-plugin.1.5.zip"

--enabled (optional) Check only for given modules, ex. --enabled="SQLInjection,CrossSiteScripting"
--disabled (optional) Don't check for given modules, ex. --disabled="SQLInjection,CrossSiteScripting"
--cleanup (optional) Automatically remove content of .temp folder after scanning remotely downloaded plugin (boolean)
--report (optional) Saves result inside reports/ directory in JSON format (boolean)

$ python wpbullet.py --path="/var/www/wp-content/plugins/plugin-name"

إنشاء الوحدات

إنشاء وحدة أمر مرن ويتيح تجاوز دوال BaseClass لكل وحدة بالإضافة إلى إنشاء دوال خاصة بها.

كل وحدة في مجلد Modules تنفّذ الخصائص والدوال من core.modules.BaseClass، وبالتالي فإن المعامل المطلوب لكل وحدة هو BaseClass.

بمجرد إنشاء الوحدة، يجب استيرادها في modules/__init__.py. يجب أن يكون اسم الوحدة واسم الكلاس متطابقين حتى يتم تحميل الوحدة.

إذا كنت تفتح طلب سحب (Pull Request) لإضافة وحدة جديدة، فيرجى توفير اختبارات وحدة لوحدتك أيضًا.

قالب الوحدة

Modules/ExampleVulnerability.py

root@kitploit:~
from core.modules import BaseClass


class ExampleVulnerability(object):

    # Vulnerability name
    name = "Cross-site Scripting"

    # Vulnerability severity
    severity = "Low-Medium"

    # Functions causing vulnerability
    functions = [
        "print"
        "echo"
    ]

    # Functions/regex that prevent exploitation
    blacklist = [
        "htmlspecialchars",
        "esc_attr"
    ]

تجاوز نمط مطابقة regex

يتم إنشاء نمط regex في core.modules.BaseClass.build_pattern، وبالتالي يمكن تجاوزه في كل كلاس وحدة.

Modules/ExampleVulnerability.py

root@kitploit:~
import copy


...
# Build dynamic regex pattern to locate vulnerabilities in given content
def build_pattern(self, content, file):
    user_input = copy.deepcopy(self.user_input)

    variables = self.get_input_variables(self, content)

    if variables:
        user_input.extend(variables)

    if self.blacklist:
        blacklist_pattern = r"(?!(\s?)+(.*(" + '|'.join(self.blacklist) + ")))"
    else:
        blacklist_pattern = ""

    self.functions = [self.functions_prefix + x for x in self.functions]

    pattern = r"((" + '|'.join(self.functions) + ")\s{0,}\(?\s{0,1}" + blacklist_pattern + ".*(" + '|'.join(user_input) + ").*)"
    return pattern

الاختبار

تشغيل اختبارات الوحدة: $ python3 -m unittest

تنزيل الأداة