Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-1094-PoC-Postgre-SQLi | Kitploit
उपकरण/GitHubGitHub/ishwardeepp/cve-2025-1094-poc-postgre-sqli
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाडेटाबेस सुरक्षालैब और अभ्यास

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
ishwardeepp/cve-2025-1094-poc-postgre-sqli

CVE-2025-1094-PoC-Postgre-SQLi

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

CVE-2025-1094 का विश्लेषण और इमुलेशन सेटअप

यह विस्तृत परीक्षा, जो 14 मार्च 2025 को आयोजित की गई थी, PostgreSQL में CVE-2025-1094, एक काल्पनिक उच्च-गंभीरता SQL इंजेक्शन भेद्यता, की पड़ताल करती है, जो प्रदान किए गए इमुलेशन सेटअप और प्रूफ-ऑफ-कॉन्सेप्ट (PoC) निष्पादन पर आधारित है। यह विश्लेषण भेद्यता के परिचय, मूल कारण, फ़ाइल योगदान, PoC चरणों और शमन उपायों को शामिल करता है, जिसमें इमुलेशन प्रक्रिया के सभी जटिल विवरण सम्मिलित हैं।

भेद्यता का परिचय

CVE-2025-1094 को PostgreSQL में एक गंभीर SQL इंजेक्शन दोष के रूप में वर्णित किया गया है, जो 17.3, 16.7, 15.11, 14.16, और 13.19 से पहले के संस्करणों को प्रभावित करता है, जिसका CVSS 3.1 आधार स्कोर 8.1 है, जो गोपनीयता, अखंडता और उपलब्धता पर महत्वपूर्ण प्रभाव दर्शाता है। यह हमलावरों को संवेदनशील डेटा तक पहुँचने या रिमोट कोड निष्पादन (RCE) करने में सक्षम बनाता है, और वास्तविक दुनिया के उल्लंघनों में इसका शोषण किया गया है, जैसे कि BeyondTrust घटना जिसने 17 उद्यम ग्राहकों को प्रभावित किया, जिसकी रिपोर्ट BleepingComputer पर दी गई है, और अमेरिकी ट्रेजरी विभाग का उल्लंघन, जिसका विवरण The Register पर उपलब्ध है। इमुलेशन, जो 14 मार्च 2025 को आयोजित किया गया था, ने server_encoding=EUC_TW और client_encoding=BIG5 के साथ एक Docker सेटअप का उपयोग किया, जो शोषण को ट्रिगर करने के लिए महत्वपूर्ण था। PoC में एक DO ब्लॉक इंजेक्ट करना शामिल था ताकि एक बड़ा ऑब्जेक्ट बनाया जा सके, pg_read_file के माध्यम से /etc/passwd पढ़ा जा सके, इसे lo_put के साथ बड़े ऑब्जेक्ट में लिखा जा सके, और lo_export का उपयोग करके इसे /tmp/payload में निर्यात किया जा सके, जो अनधिकृत फ़ाइल एक्सेस को सक्षम करने में एन्कोडिंग बेमेल की भूमिका की पुष्टि करता है।

मूल कारण विश्लेषण

मूल कारण को CWE-149: Quoting Syntax के अनुचित न्यूट्रलाइज़ेशन के अंतर्गत वर्गीकृत किया गया है, जिसमें PostgreSQL के libpq फ़ंक्शन—PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), और PQescapeStringConn()—में अनुचित हैंडलिंग शामिल है, जो कोटिंग सिंटैक्स को न्यूट्रलाइज़ करने में विफल रहते हैं जब परिणाम psql कमांड-लाइन टूल के लिए इनपुट बनाने में उपयोग किए जाते हैं। यह तब और बढ़ जाता है जब client_encoding को BIG5 और server_encoding को EUC_TW पर सेट किया जाता है, जैसा कि हमारे सेटअप में देखा गया है, जिससे SQL इंजेक्शन संभव होता है। इमुलेशन के लिए बेमेल बनाने हेतु EUC_TW और zh_TW.EUC_TW की आवश्यकता थी, जिसमें psycopg2 की EUC_TW समर्थन की कमी जैसी समस्याओं को UTF8 से कनेक्ट करके और फिर BIG5 पर स्विच करके हल किया गया। शोषण की सफलता subprocess.run(["psql", ...]) के माध्यम से रॉ SQL निष्पादित करने पर निर्भर थी, जो सुरक्षित क्वेरी हैंडलिंग को दरकिनार करती है, जैसा कि लॉग में विस्तृत है।

फ़ाइल विवरण और योगदान

सेटअप में प्रत्येक फ़ाइल CVE-2025-1094 के इमुलेशन में महत्वपूर्ण भूमिका निभाती है। नीचे सारणीबद्ध रूप में एक विस्तृत विवरण दिया गया है:

तालिका: फ़ाइल योगदान का सारांश

प्रूफ-ऑफ-कॉन्सेप्ट चरण

14 मार्च 2025 को निष्पादित PoC, निम्नलिखित चरणों के माध्यम से शोषण के प्रभाव को प्रदर्शित करता है, प्रत्येक चरण की विस्तृत व्याख्या के साथ:

  1. sudo docker compose up --build

    • यह क्या करता है: Docker Compose सेवाओं (db और app) को बनाता और प्रारंभ करता है, आवश्यकता पड़ने पर अद्यतन छवियों के साथ कंटेनर बनाता है, और उन्हें postgre_default नेटवर्क में लिंक करता है। सुनिश्चित करता है कि भेद्य वातावरण सेट है, जिसमें db EUC_TW एन्कोडिंग का उपयोग करता है और app पोर्ट 5000 पर /vuln-endpoint उजागर करता है, जो शोषण के एन्कोडिंग बेमेल और एंडपॉइंट एक्सेस के लिए महत्वपूर्ण है।
    • इसकी आवश्यकता क्यों है: शोषण के काम करने के लिए आवश्यक वातावरण स्थापित करता है, यह सुनिश्चित करता है कि सभी सेवाएँ चल रही हैं और सही ढंग से कॉन्फ़िगर की गई हैं।
  2. curl -X POST http://localhost:5000/vuln-endpoint -d "input=test"

    • यह क्या करता है: Flask ऐप के एंडपॉइंट पर input=test के साथ POST अनुरोध भेजता है, कनेक्टिविटी और बुनियादी कार्यक्षमता की पुष्टि करता है, "Executed" की अपेक्षा करता है। पुष्टि करता है कि ऐप चल रहा है और डेटाबेस से कनेक्ट हो सकता है, यह सुनिश्चित करता है कि सेटअप शोषण के लिए तैयार है।
    • इसकी आवश्यकता क्यों है: शोषण के साथ आगे बढ़ने से पहले एंडपॉइंट की पहुँच और कार्यक्षमता सुनिश्चित करता है, PoC सत्यापन चरणों के अनुरूप।
    • Checking Setup

प्रदर्शन वीडियो

Demonstration Video on Vimeo
PoC का प्रदर्शन देखने के लिए Vimeo पर क्लिक करें।

शमन उपाय

CVE-2025-1094 को कम करने के लिए, इमुलेशन अंतर्दृष्टि और उद्योग मार्गदर्शन के आधार पर निम्नलिखित उपाय अनुशंसित हैं:

  • पैच किए गए संस्करणों में अपग्रेड करें: PostgreSQL संस्करण 17.3, 16.7, 15.11, 14.16, या 13.19 में अपग्रेड करें, जो PostgreSQL Download Page पर उपलब्ध हैं।
  • इनपुट सत्यापन: इंजेक्शन को रोकने के लिए सभी उपयोगकर्ता इनपुट को UTF-8 एन्कोडिंग के लिए मान्य करें, जैसा कि Armosec Blog द्वारा सलाह दी गई है।
  • psql एक्सेस प्रतिबंधित करें: हमले की सतह को कम करते हुए, psql तक पहुँच को केवल विश्वसनीय उपयोगकर्ताओं तक सीमित करें।
  • पैरामीटराइज़्ड क्वेरी या ORM फ्रेमवर्क: SQL इंजेक्शन को रोकने के लिए पैरामीटराइज़्ड क्वेरी या ORM फ्रेमवर्क का उपयोग करें, सुरक्षा बढ़ाएँ।
  • मल्टी-फैक्टर प्रमाणीकरण (MFA) और रोल-आधारित एक्सेस नियंत्रण (RBAC): एक्सेस नियंत्रण बढ़ाने के लिए MFA और RBAC लागू करें, Ox Security Insights के अनुसार।
  • लॉग निगरानी: संभावित शोषण का जल्दी पता लगाने के लिए विसंगतियों या संदिग्ध गतिविधियों के लिए नियमित रूप से लॉग की निगरानी करें।
  • मजबूत बैकअप: संभावित उल्लंघनों से उबरने के लिए डेटाबेस के नियमित और मजबूत बैकअप बनाए रखें, डेटा अखंडता सुनिश्चित करें।
टूल डाउनलोड करें
Fileयह क्या करती हैPoC में योगदानइसकी आवश्यकता क्यों है
exploit.pyPOST अनुरोध में DO ब्लॉक के साथ /etc/passwd पढ़ने और एक बड़ा ऑब्जेक्ट बनाकर निर्यात करने हेतु भेजता है।SQL इंजेक्शन ट्रिगर करता है, मनमाना SQL कमांड निष्पादित करने के लिए एन्कोडिंग बेमेल का शोषण करता है।शोषण निष्पादन सक्षम करता है, PoC प्रभाव के लिए महत्वपूर्ण।
app.pyFlask ऐप /vuln-endpoint उजागर करता है, psql के माध्यम से रॉ SQL निष्पादित करता है।शोषण के लिए भेद्य एंडपॉइंट प्रदान करता है।शोषण के लिए प्रवेश बिंदु, भेद्यता प्रदर्शन के लिए आवश्यक।
init.sqlस्ट्रिंग इनपुट के लिए id VARCHAR(255) के साथ परीक्षण तालिका बनाता है।इंजेक्शन के लिए स्कीमा सेट करता है, प्रकार त्रुटियों के बिना पेलोड निष्पादन सुनिश्चित करता है।शोषण के लिए डेटाबेस सेटअप, SQL इंजेक्शन के लिए आवश्यक।
Dockerfileआवश्यक निर्भरताओं के साथ Flask ऐप कंटेनर बनाता है।एंडपॉइंट परिनियोजन के लिए पृथक ऐप सेवा बनाता है।भेद्य ऐप परिनियोजित करता है, PoC पुनरुत्पादकता के लिए महत्वपूर्ण।
docker-compose.ymlविशिष्ट कॉन्फ़िगरेशन के साथ db और app सेवाओं को परिभाषित और लिंक करता है।सेटअप को व्यवस्थित करता है, एन्कोडिंग बेमेल और सेवा निर्भरताएँ सुनिश्चित करता है।सेवाओं को लिंक करता है, पर्यावरण सेटअप और अलगाव के लिए आवश्यक।
Dockerfile.dbEUC_TW एन्कोडिंग के साथ PostgreSQL कंटेनर बनाता है।आवश्यक एन्कोडिंग के साथ भेद्य डेटाबेस बनाता है।आवश्यक एन्कोडिंग के साथ डेटाबेस सेट करता है, भेद्यता ट्रिगर के लिए महत्वपूर्ण।
python3 cve-2025-1094-exploit.py
  • यह क्या करता है: शोषण स्क्रिप्ट चलाता है, DO ब्लॉक के साथ POST अनुरोध भेजता है ताकि एक बड़ा ऑब्जेक्ट बनाया जा सके, /etc/passwd को उसमें लिखा जा सके, और /tmp/payload में निर्यात किया जा सके, निष्पादन स्थिति प्रिंट करता है। SQL इंजेक्शन को ट्रिगर करता है, /etc/passwd पढ़ने के लिए भेद्यता का शोषण करता है, जो CVE-2025-1094 के प्रभाव को प्रदर्शित करने के लिए महत्वपूर्ण है, जैसा कि सफल फ़ाइल निर्यात के साथ लॉग में देखा गया है।
  • इसकी आवश्यकता क्यों है: मुख्य शोषण निष्पादित करता है, दिखाता है कि हमलावर संवेदनशील डेटा तक कैसे पहुँच सकते हैं, PoC के वास्तविक दुनिया के हमलों का अनुकरण करने के लक्ष्य के अनुरूप।
  • Running Exploit
  • sudo docker ps

    • यह क्या करता है: चल रहे कंटेनरों की सूची दिखाता है, सत्यापित करता है कि postgre-app-1 और postgre-db-1 चालू हैं। शोषण चलाने से पहले सेटअप की पुष्टि करता है, यह सुनिश्चित करता है कि दोनों सेवाएँ सक्रिय हैं, PoC विश्वसनीयता के लिए महत्वपूर्ण। उपयोगकर्ता को कंटेनर ID प्रदान करता है, जो बाद के कमांडों में आवश्यक है।
    • इसकी आवश्यकता क्यों है: सभी आवश्यक सेवाओं के चलने को सुनिश्चित करता है, आगे के शोषण चरणों से पहले एक जाँच बिंदु प्रदान करता है।
  • sudo docker exec -it bash -c "LC_ALL=C ls -l /tmp/payload && LC_ALL=C cat /tmp/payload"

    • यह क्या करता है: postgre-db-1 कंटेनर में एक कमांड निष्पादित करता है, /tmp/payload को अंग्रेज़ी आउटपुट के साथ सूचीबद्ध और प्रदर्शित करता है, शोषण के परिणाम की पुष्टि करता है (इसमें /etc/passwd दिखना चाहिए)। फ़ाइल की जाँच करके शोषण की पुष्टि करता है, यह सुनिश्चित करता है कि /tmp/payload में संवेदनशील डेटा है, PoC सत्यापन के अनुरूप, और LC_ALL=C के साथ लोकेल गड़बड़ी से बचाता है।
    • इसकी आवश्यकता क्यों है: आउटपुट की जाँच करके शोषण की सफलता सत्यापित करता है, यह सुनिश्चित करता है कि संवेदनशील डेटा तक अपेक्षित रूप से पहुँचा गया।
    • Validating Exploit
  • sudo docker exec -it psql -U postgres -d postgres -c "SELECT * FROM test;"

    • यह क्या करता है: डेटाबेस कंटेनर में SQL क्वेरी चलाता है, test तालिका से सब कुछ चुनता है, शोषण से INSERT की पुष्टि करता है (इसमें "Exploit ran with loid ..." दिखना चाहिए)। शोषण के डेटाबेस संशोधन की पुष्टि करता है, यह सुनिश्चित करता है कि DO ब्लॉक निष्पादित हुआ, PoC सत्यापन के अनुरूप, और loid लॉगिंग को मान्य करता है।
    • इसकी आवश्यकता क्यों है: सुनिश्चित करता है कि डेटाबेस अपेक्षित रूप से संशोधित किया गया था, शोषण के प्रभाव का अतिरिक्त सत्यापन प्रदान करता है।
  • sudo docker compose down

    • यह क्या करता है: कंटेनरों, नेटवर्कों और वॉल्यूम को रोकता और हटाता है, वातावरण को साफ करता है। सुनिश्चित करता है कि संसाधन मुक्त हो जाएं, सिस्टम स्वच्छता बनाए रखता है, बिना अवशेष के दोहराए जाने योग्य PoC निष्पादन के लिए आवश्यक है।
    • इसकी आवश्यकता क्यों है: परीक्षण के बाद सफाई करता है, यह सुनिश्चित करता है कि कोई अवशिष्ट सेवाएँ या डेटा भविष्य के परीक्षणों को प्रभावित न करें, एक नियंत्रित वातावरण बनाए रखता है।