Web API Pentesting

Support HackTricks

Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:

API Pentesting Methodology Summary

Pentesting APIs involves a structured approach to uncovering vulnerabilities. This guide encapsulates a comprehensive methodology, emphasizing practical techniques and tools.

Understanding API Types

  • SOAP/XML Web Services: WSDL प्रारूप का उपयोग करें, जो आमतौर पर ?wsdl पथों पर पाया जाता है। SOAPUI और WSDLer (Burp Suite Extension) जैसे उपकरण अनुरोधों को पार्स और उत्पन्न करने में सहायक होते हैं। उदाहरण दस्तावेज़ DNE Online पर उपलब्ध है।

  • REST APIs (JSON): दस्तावेज़ अक्सर WADL फ़ाइलों में आता है, फिर भी Swagger UI जैसे उपकरण इंटरैक्शन के लिए अधिक उपयोगकर्ता-अनुकूल इंटरफ़ेस प्रदान करते हैं। Postman उदाहरण अनुरोध बनाने और प्रबंधित करने के लिए एक मूल्यवान उपकरण है।

  • GraphQL: APIs के लिए एक क्वेरी भाषा जो आपके API में डेटा का एक संपूर्ण और समझने योग्य विवरण प्रदान करती है।

Practice Labs

  • VAmPI: एक जानबूझकर कमजोर API जो व्यावहारिक अभ्यास के लिए है, OWASP शीर्ष 10 API कमजोरियों को कवर करता है।

Effective Tricks for API Pentesting

  • SOAP/XML Vulnerabilities: XXE कमजोरियों का अन्वेषण करें, हालांकि DTD घोषणाएँ अक्सर प्रतिबंधित होती हैं। यदि XML मान्य रहता है तो CDATA टैग पेलोड सम्मिलन की अनुमति दे सकते हैं।

  • Privilege Escalation: अनधिकृत पहुंच की संभावनाओं की पहचान के लिए विभिन्न विशेषाधिकार स्तरों के साथ एंडपॉइंट्स का परीक्षण करें।

  • CORS Misconfigurations: प्रमाणित सत्रों से CSRF हमलों के माध्यम से संभावित शोषण के लिए CORS सेटिंग्स की जांच करें।

  • Endpoint Discovery: छिपे हुए एंडपॉइंट्स की खोज के लिए API पैटर्न का लाभ उठाएं। फज़र्स जैसे उपकरण इस प्रक्रिया को स्वचालित कर सकते हैं।

  • Parameter Tampering: अनधिकृत डेटा या कार्यक्षमताओं तक पहुंचने के लिए अनुरोधों में पैरामीटर जोड़ने या बदलने का प्रयोग करें।

  • HTTP Method Testing: अप्रत्याशित व्यवहार या जानकारी के खुलासे को उजागर करने के लिए अनुरोध विधियों (GET, POST, PUT, DELETE, PATCH) में भिन्नता लाएं।

  • Content-Type Manipulation: पार्सिंग समस्याओं या कमजोरियों का परीक्षण करने के लिए विभिन्न सामग्री प्रकारों (x-www-form-urlencoded, application/xml, application/json) के बीच स्विच करें।

  • Advanced Parameter Techniques: JSON पेलोड में अप्रत्याशित डेटा प्रकारों के साथ परीक्षण करें या XXE इंजेक्शन के लिए XML डेटा के साथ खेलें। व्यापक परीक्षण के लिए पैरामीटर प्रदूषण और वाइल्डकार्ड वर्णों का भी प्रयास करें।

  • Version Testing: पुराने API संस्करण हमलों के प्रति अधिक संवेदनशील हो सकते हैं। हमेशा कई API संस्करणों के खिलाफ जांचें और परीक्षण करें।

Tools and Resources for API Pentesting

  • kiterunner: API एंडपॉइंट्स की खोज के लिए उत्कृष्ट। लक्षित APIs के खिलाफ पथों और पैरामीटर को स्कैन और ब्रूट फोर्स करने के लिए इसका उपयोग करें।

kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
  • अतिरिक्त उपकरण जैसे automatic-api-attack-tool, Astra, और restler-fuzzer API सुरक्षा परीक्षण के लिए अनुकूलित कार्यक्षमताएँ प्रदान करते हैं, जो हमले के अनुकरण से लेकर फज़िंग और कमजोरियों की स्कैनिंग तक हैं।

  • Cherrybomb: यह एक API सुरक्षा उपकरण है जो आपके API का ऑडिट OAS फ़ाइल के आधार पर करता है (यह उपकरण रस्ट में लिखा गया है)।

सीखने और अभ्यास के संसाधन

  • OWASP API सुरक्षा शीर्ष 10: सामान्य API कमजोरियों को समझने के लिए आवश्यक पढ़ाई (OWASP Top 10).

  • API सुरक्षा चेकलिस्ट: APIs को सुरक्षित करने के लिए एक व्यापक चेकलिस्ट (GitHub लिंक).

  • Logger++ फ़िल्टर: API कमजोरियों की खोज के लिए, Logger++ उपयोगी फ़िल्टर प्रदान करता है (GitHub लिंक).

  • API एंडपॉइंट्स सूची: परीक्षण उद्देश्यों के लिए संभावित API एंडपॉइंट्स की एक क्यूरेटेड सूची (GitHub गिस्ट).

संदर्भ

Trickest का उपयोग करें ताकि आप दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित कार्यप्रवाहों को आसानी से बना और स्वचालित कर सकें। आज ही एक्सेस प्राप्त करें:

HackTricks का समर्थन करें

Last updated