<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**टेलीग्राम समूह**](https://t.me/peass) में या **Twitter** 🐦 पर **मुझे फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **अपनी हैकिंग ट्रिक्स साझा करें, HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपोज में PRs सबमिट करके.
**`LIMIT`** ऑपरेटर **लागू नहीं किया गया है**। हालांकि, SELECT क्वेरी परिणामों को **पहले N टेबल पंक्तियों तक सीमित करना संभव है `TOP` ऑपरेटर का उपयोग करके**। `TOP` एक पूर्णांक को तर्क के रूप में स्वीकार करता है, जो लौटाए जाने वाले पंक्तियों की संख्या को दर्शाता है।
SQLi में आप आमतौर पर अन्य तालिकाओं से जानकारी निकालने के लिए एक नया प्रश्न निष्पादित करना चाहेंगे। MS Access हमेशा आवश्यकता होती है कि **उप प्रश्नों या अतिरिक्त प्रश्नों में एक `FROM` का संकेत दिया जाए**।\
इसलिए, यदि आप `UNION SELECT` या `UNION ALL SELECT` या एक शर्त में कोष्ठकों के बीच `SELECT` निष्पादित करना चाहते हैं, तो आपको हमेशा **एक मान्य तालिका नाम के साथ `FROM` का संकेत देना होगा**।\
इसलिए, आपको एक **मान्य तालिका नाम** जानना आवश्यक है।
**MS Access** जैसे **अजीब सिंटैक्स** की अनुमति देता है **`'1'=2='3'='asd'=false`**. आमतौर पर SQL इंजेक्शन **`WHERE`** क्लॉज के अंदर होगा और हम इसका दुरुपयोग कर सकते हैं।
कल्पना कीजिए कि आपके पास MS Access डेटाबेस में SQLi है और आप जानते हैं (या अनुमान लगाया है) कि एक **कॉलम का नाम username है**, और वही फील्ड है जिसे आप **निकालना** चाहते हैं। आप वेब ऐप की विभिन्न प्रतिक्रियाओं की जांच कर सकते हैं जब चेनिंग बराबर तकनीक का उपयोग किया जाता है और संभवतः **`Mid`** फंक्शन का उपयोग करके सबस्ट्रिंग प्राप्त करने के लिए **बूलियन इंजेक्शन** के साथ सामग्री निकाल सकते हैं।
यदि आप **टेबल का नाम** और **कॉलम** जानते हैं जिसे डंप करना है, तो आप `Mid`, `LAST` और `TOP` का संयोजन करके बूलियन SQLi के माध्यम से **सभी जानकारी लीक** कर सकते हैं:
हम पहले ही [**चेनिंग इक्वल्स तकनीक**](ms-access-sql-injection.md#chaining-equals-+-substring) **के बारे में चर्चा कर चुके हैं जिसका उपयोग वर्तमान और अन्य टेबल्स से डेटा डंप करने के लिए किया जाता है**। लेकिन अन्य तरीके भी हैं:
संक्षेप में, क्वेरी "यदि-तब" कथन का उपयोग करती है ताकि सफलता की स्थिति में "200 OK" ट्रिगर किया जा सके या अन्यथा "500 आंतरिक त्रुटि" हो। TOP 10 ऑपरेटर का लाभ उठाते हुए, पहले दस परिणामों का चयन संभव है। बाद में LAST का उपयोग करके केवल 10वें ट्यूपल पर विचार किया जा सकता है। ऐसे मूल्य पर, MID ऑपरेटर का उपयोग करके, एक सरल अक्षर तुलना की जा सकती है। MID और TOP के सूचकांक को उचित रूप से बदलकर, हम "username" फील्ड की सभी पंक्तियों की सामग्री को डंप कर सकते हैं।
[https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc512676(v=technet.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc512676\(v=technet.10\)?redirectedfrom=MSDN) पर जांचें
[**यहाँ**](https://dataedo.com/kb/query/access/list-of-tables-in-the-database) से आप डेटाबेस में टेबल्स के नाम प्राप्त करने के लिए क्वेरी देख सकते हैं:
**वेब रूट के पूर्ण पथ की जानकारी आगे के हमलों को सुगम बना सकती है**। यदि एप्लिकेशन त्रुटियां पूरी तरह से छिपी नहीं हैं, तो निर्मित नहीं किए गए डेटाबेस से डेटा चुनने की कोशिश करके डायरेक्टरी पथ का पता लगाया जा सकता है।
निम्नलिखित हमला वेक्टर का उपयोग **दूरस्थ फाइलसिस्टम पर एक फाइल के अस्तित्व का अनुमान लगाने के लिए किया जा सकता है**। यदि निर्दिष्ट फाइल मौजूद है, तो MS Access एक त्रुटि संदेश ट्रिगर करता है जो सूचित करता है कि डेटाबेस प्रारूप अमान्य है:
फाइलों को एन्यूमरेट करने का एक और तरीका **एक डेटाबेस.टेबल आइटम को निर्दिष्ट करने में होता है**। **यदि** निर्दिष्ट **फाइल मौजूद है**, MS Access एक **डेटाबेस प्रारूप त्रुटि संदेश प्रदर्शित करता है**।
जहां **name\[i] एक .mdb फाइलनाम है** और **realTable डेटाबेस के भीतर एक मौजूद टेबल है**। हालांकि MS Access हमेशा एक त्रुटि संदेश ट्रिगर करेगा, यह संभव है कि एक अमान्य फाइलनाम और एक मान्य .mdb फाइलनाम के बीच अंतर किया जा सके।
[**Access PassView**](https://www.nirsoft.net/utils/accesspv.html) एक मुफ्त उपयोगिता है जिसका उपयोग Microsoft Access 95/97/2000/XP या Jet Database Engine 3.0/4.0 के मुख्य डेटाबेस पासवर्ड को पुनः प्राप्त करने के लिए किया जा सकता है।
<summary><strong>Learn AWS hacking from zero to hero with</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में शामिल हों या मुझे **Twitter** 🐦 पर **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।