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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
padding-oracle-attacker — 🔓 أداة سطر أوامر ومكتبة لتنفيذ هجمات وسادة الأوراكل بسهولة، مع دعم الطلبات الشبكية المتزامنة وواجهة مستخدم أنيقة. | Kitploit
أدوات/GitHubGitHub/kishanbagaria/padding-oracle-attacker
أدوات التشفير/فك التشفيرالاستغلالاستغلال تطبيقات الويبالتشفير
GitHubkishanbagaria/padding-oracle-attacker

padding-oracle-attacker

🔓 أداة سطر أوامر ومكتبة لتنفيذ هجمات وسادة الأوراكل بسهولة، مع دعم الطلبات الشبكية المتزامنة وواجهة مستخدم أنيقة.

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
216323منذ 4 سنواتتمت المراجعة من قبل Kitploit

padding-oracle-attacker

أداة سطر أوامر ومكتبة لتنفيذ هجمات حشو الوسادة بسهولة، مع دعم الطلبات الشبكية المتزامنة وواجهة مستخدم أنيقة.

عرض توضيحي لفك التشفير بواسطة poattack

Build Status

التثبيت

تأكد من تثبيت Node.js، ثم قم بتشغيل

root@kitploit:~
$ npm install --global padding-oracle-attacker

أو

root@kitploit:~
$ yarn global add padding-oracle-attacker

استخدام سطر الأوامر

root@kitploit:~
Usage
  $ padding-oracle-attacker decrypt <url> hex:<ciphertext_hex> <block_size> <error> [options]
  $ padding-oracle-attacker decrypt <url> b64:<ciphertext_b64> <block_size> <error> [options]

  $ padding-oracle-attacker encrypt <url> <plaintext>          <block_size> <error> [options]
  $ padding-oracle-attacker encrypt <url> hex:<plaintext_hex>  <block_size> <error> [options]

  $ padding-oracle-attacker analyze <url> [<block_size>] [options]

الأوامر
  decrypt                  يعثر على النص العادي (foobar) للنص المشفر المعطى (hex:0123abcd)
  encrypt                  يعثر على النص المشفر (hex:abcd1234) للنص العادي المعطى (foo=bar)
  analyze                  يساعد في معرفة ما إذا كان الرابط (URL) معرضًا للخطر أم لا، وكيف
                           يختلف الرد عند حدوث خطأ في فك التشفير
                           (لوسيطة <error>)

الوسائط
  <url>                    الرابط المراد مهاجمته. سيتم إدراج الحمولة في النهاية افتراضيًا. لتحديد
                           نقطة إدخال مخصصة، قم بتضمين {POPAYLOAD} في ترويسة (-H)
                           أو نص الطلب (-d) أو الرابط
  <block_size>             حجم الكتلة المستخدمة بواسطة خوارزمية التشفير على الخادم
  <error>                  السلسلة النصية الموجودة في الرد عند فشل فك التشفير على الخادم.
                           حدد سلسلة نصية موجودة في نص الرد HTTP (مثل PaddingException)
                           أو رمز الحالة لرد HTTP (مثل 400)

الخيارات
  -c, --concurrency        الطلبات المرسلة بشكل متزامن                              [الافتراضي: 128]
      --disable-cache      تعطيل ذاكرة التخزين المؤقت للشبكة. يتم حفظها في              [الافتراضي: false]
                           poattack-cache.json.gz.txt افتراضيًا
  -X, --method             طريقة HTTP المستخدمة أثناء الطلب                            [الافتراضي: GET]
  -H, --header             التروسيسات المرسلة مع الطلب.
                             -H 'Cookie: cookie1' -H 'User-Agent: Googlebot/2.1'
  -d, --data               نص الطلب
                             سلسلة JSON: {"id": 101, "foo": "bar"}
                             مشفر بعنوان URL: id=101&foo=bar
                           تأكد من تحديد ترويسة Content-Type.

  -e, --payload-encoding   تشفير حمولة النص المشفر لـ {POPAYLOAD}                    [الافتراضي: hex]
                             base64          FooBar+/=
                             base64-urlsafe  FooBar-_
                             hex             deadbeef
                             hex-uppercase   DEADBEEF
                             base64(xyz)     Base64 مخصص ('xyz' تمثل الأحرف '+/=')

  --dont-urlencode-payload لا تقم بتشفير {POPAYLOAD} بعنوان URL                         [الافتراضي: false]

  --start-from-1st-block   ابدأ المعالجة من الكتلة الأولى بدلاً من                      [الافتراضي: false]
                           الأخيرة (يعمل فقط مع وضع فك التشفير)

أمثلة
  $ poattack decrypt http://localhost:2020/decrypt?ciphertext=
      hex:e3e70d8599206647dbc96952aaa209d75b4e3c494842aa1aa8931f51505df2a8a184e99501914312e2c50320835404e9
      16 400
  $ poattack encrypt http://localhost:2020/decrypt?ciphertext= "foo bar 🦄" 16 400
  $ poattack encrypt http://localhost:2020/decrypt?ciphertext= hex:666f6f2062617220f09fa684 16 400
  $ poattack analyze http://localhost:2020/decrypt?ciphertext=

الأسماء المستعارة
  poattack
  padding-oracle-attack

واجهة برمجة التطبيقات (API) للمكتبة

root@kitploit:~
const { decrypt, encrypt } = require('padding-oracle-attacker')
// or
import { decrypt, encrypt } from 'padding-oracle-attacker'

const { blockCount, totalSize, foundBytes, interBytes } = await decrypt(options)

const { blockCount, totalSize, foundBytes, interBytes, finalRequest } = await encrypt(options)

decrypt(options: Object): Promise

encrypt(options: Object): Promise

الخيارات المطلوبة
url: string

الرابط المراد مهاجمته. سيتم إلحاق الحمولة بنهاية الرابط افتراضيًا. لتحديد نقطة إدخال مخصصة، قم بتضمين {POPAYLOAD} في الرابط، أو ترويسة (requestOptions.headers) أو نص الطلب (requestOptions.data)

blockSize: number

حجم الكتلة المستخدمة بواسطة خوارزمية التشفير على الخادم.

isDecryptionSuccess: ({ statusCode, headers, body }) => boolean

دالة تُرجع true إذا كان رد الخادم يشير إلى نجاح فك التشفير.

ciphertext: Buffer (لـ decrypt فقط)

النص المشير المراد فك تشفيره.

plaintext: Buffer (لـ encrypt فقط)

النص العادي المراد تشفيره. سيتم إضافة الحشو تلقائيًا. مثال: Buffer.from('foo bar', 'utf8')


الخيارات الاختيارية
concurrency: number = 128

الطلبات الشبكية المرسلة بشكل متزامن.

isCacheEnabled: boolean = true

يتم تخزين الردود مؤقتًا افتراضيًا وحفظها في poattack-cache.json.gz.txt. اضبط على false لتعطيل التخزين المؤقت.

requestOptions: { method, headers, data }
requestOptions.method: string

طريقة HTTP المستخدمة أثناء الطلب. GET افتراضيًا. POST، PUT، DELETE هي بعض الخيارات الصالحة.

requestOptions.headers: { string: string }

الترويسات المرسلة مع الطلب. مثال: { 'Content-Type': 'application/x-www-form-urlencoded' }

requestOptions.body: string

نص الطلب. يمكن أن يكون سلسلة JSON، أو معاملات مشفرة بعنوان URL، إلخ. يجب تعيين ترويسة Content-Type يدويًا.

logMode: 'full'|'minimal'|'none' = 'full'

full: تسجيل كل شيء في وحدة التحكم (الافتراضي) minimal: تسجيل فقط بعد البداية والانتهاء في وحدة التحكم none: عدم تسجيل أي شيء في وحدة التحكم

transformPayload: (ciphertext: Buffer) => string

دالة لتحويل ciphertext إلى سلسلة عند إجراء طلب. افتراضيًا، يتم تشفير ciphertext بصيغة سداسية عشرية وإدراجها في نقطة الإدخال (نهاية الرابط ما لم يكن {POPAYLOAD} موجودًا).


الخيارات الاختيارية (لـ decrypt فقط)
alreadyFound: Buffer

بايتات النص العادي المعروفة بالفعل والتي يمكن تخطيها (من النهاية). إذا قدمت Buffer من عشرة بايتات، فسيتم تخطي العشرة بايتات الأخيرة.

initFirstPayloadBlockWithOrigBytes: boolean = false

تهيئة أول كتلة حمولة ببايتات ciphertext الأصلية بدلاً من الأصفار. مثال: abcdef12345678ff 1111111111111111 بدلاً من 00000000000000ff 1111111111111111

startFromFirstBlock: boolean = false

بدء المعالجة من الكتلة الأولى بدلاً من الأخيرة.

makeInitialRequest: boolean = true

إجراء طلب أولي باستخدام ciphertext الأصلي المقدم وتسجيل رد الخادم في وحدة التحكم للسماح للمستخدم بالتأكد من إرسال الطلبات الشبكية بشكل صحيح.


الخيارات الاختيارية (لـ encrypt فقط)
makeFinalRequest: boolean = true

بعد العثور على بايتات ciphertext للنص العادي الجديد، إجراء طلب نهائي بالبايتات التي تم العثور عليها وتسجيل رد الخادم في وحدة التحكم.

lastCiphertextBlock: Buffer

نص مشفر مخصص للكتلة الأخيرة. الكتلة الأخيرة تكون أصفارًا افتراضيًا (000000000000000).

التطوير

padding-oracle-attacker مكتوب بلغة TypeScript. إذا كنت ترغب في تعديل ملفات المصدر وتشغيلها، يمكنك إما تجميع الملفات إلى JS أولاً وتشغيلها باستخدام node، أو استخدام ts-node. مثال: yarn build ثم node dist/cli ... أو ببساطة ts-node src/cli ...

yarn build أو npm run build

يقوم ببناء ملفات TypeScript داخل الدليل src إلى ملفات JS ويخرجها إلى الدليل dist.

yarn clean أو npm run clean

يحذف الدليل dist.

yarn lint أو npm run lint

يفحص الملفات باستخدام eslint.

yarn test أو npm run test

يفحص ويشغل الاختبارات باستخدام ava.

node test/helpers/vulnerable-server.js

يشغل خادم الاختبار المعرض لهجمات حشو الوسادة على الرابط http://localhost:2020

أدوات مشابهة

  • PadBuster (بيرل)
  • Padding Oracle Attack (بايثون)
  • python-paddingoracle (بايثون)
  • Poracle (روبي)
  • GoPaddy (غو)
  • pax (غو)
  • padre (غو)
  • Padantic (راست)
  • Padoracle (جافا سكريبت)

الترخيص

MIT © Kishan Bagaria

تنزيل الأداة