Special HTTP headers
Last updated
Last updated
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
IP स्रोत को फिर से लिखें:
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
Via: 1.0 fred, 1.1 127.0.0.1
Connection: close, X-Forwarded-For
(हॉप-बाय-हॉप हेडर की जांच करें)
स्थान को फिर से लिखें:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
एक हॉप-बाय-हॉप हेडर एक हेडर है जिसे वर्तमान में अनुरोध को संभालने वाले प्रॉक्सी द्वारा संसाधित और उपभोग करने के लिए डिज़ाइन किया गया है, न कि एक एंड-टू-एंड हेडर।
Connection: close, X-Forwarded-For
Content-Length: 30
Transfer-Encoding: chunked
सर्वर कैश हेडर:
X-Cache
में प्रतिक्रिया का मान miss
हो सकता है जब अनुरोध कैश नहीं किया गया था और मान hit
हो सकता है जब इसे कैश किया गया है
हेडर Cf-Cache-Status
में समान व्यवहार
Cache-Control
यह संकेत करता है कि क्या एक संसाधन कैश किया जा रहा है और अगली बार कब संसाधन फिर से कैश किया जाएगा: Cache-Control: public, max-age=1800
Vary
अक्सर प्रतिक्रिया में अतिरिक्त हेडर को कैश कुंजी का हिस्सा के रूप में इंगित करने के लिए उपयोग किया जाता है, भले ही वे सामान्यतः अनकीड हों।
Age
उस समय को परिभाषित करता है जो सेकंड में वस्तु प्रॉक्सी कैश में रही है।
Server-Timing: cdn-cache; desc=HIT
यह भी इंगित करता है कि एक संसाधन कैश किया गया था
स्थानीय कैश हेडर:
Clear-Site-Data
: हेडर जो यह इंगित करता है कि कैश को हटाया जाना चाहिए: Clear-Site-Data: "cache", "cookies"
Expires
: उस दिनांक/समय को शामिल करता है जब प्रतिक्रिया समाप्त होनी चाहिए: Expires: Wed, 21 Oct 2015 07:28:00 GMT
Pragma: no-cache
Cache-Control: no-cache
के समान
Warning
: सामान्य HTTP हेडर Warning
संदेश की स्थिति के साथ संभावित समस्याओं के बारे में जानकारी प्रदान करता है। एक प्रतिक्रिया में एक से अधिक Warning
हेडर दिखाई दे सकते हैं। Warning: 110 anderson/1.3.37 "Response is stale"
इन हेडरों का उपयोग करने वाले अनुरोध: If-Modified-Since
और If-Unmodified-Since
केवल तब डेटा के साथ उत्तर दिया जाएगा जब प्रतिक्रिया हेडर**Last-Modified
** में एक अलग समय हो।
If-Match
और If-None-Match
का उपयोग करने वाले शर्तीय अनुरोध एक Etag मान का उपयोग करते हैं ताकि वेब सर्वर प्रतिक्रिया की सामग्री भेजे यदि डेटा (Etag) बदल गया है। Etag
HTTP प्रतिक्रिया से लिया जाता है।
Etag मान आमतौर पर प्रतिक्रिया की सामग्री के आधार पर गणना की जाती है। उदाहरण के लिए, ETag: W/"37-eL2g8DEyqntYlaLp5XLInBWsjWI"
इंगित करता है कि Etag
37 बाइट्स का Sha1 है।
Accept-Ranges
: इंगित करता है कि क्या सर्वर रेंज अनुरोधों का समर्थन करता है, और यदि हां, तो रेंज को किस इकाई में व्यक्त किया जा सकता है। Accept-Ranges: <range-unit>
Range
: इंगित करता है कि सर्वर को दस्तावेज़ का कौन सा भाग लौटाना चाहिए।
If-Range
: एक शर्तीय रेंज अनुरोध बनाता है जो केवल तब पूरा होता है जब दिया गया etag या तिथि दूरस्थ संसाधन से मेल खाती है। इसका उपयोग संसाधन के असंगत संस्करणों से दो रेंज डाउनलोड करने से रोकने के लिए किया जाता है।
Content-Range
: इंगित करता है कि एक पूर्ण शरीर संदेश में एक आंशिक संदेश कहाँ संबंधित है।
Content-Length
: संसाधन का आकार, दशमलव संख्या में बाइट्स।
Content-Type
: संसाधन के मीडिया प्रकार को इंगित करता है
Content-Encoding
: संकुचन एल्गोरिदम को निर्दिष्ट करने के लिए उपयोग किया जाता है।
Content-Language
: दर्शकों के लिए लक्षित मानव भाषा(ओं) का वर्णन करता है, ताकि यह उपयोगकर्ता को उनके अपने पसंदीदा भाषा के अनुसार भेद करने की अनुमति देता है।
Content-Location
: लौटाए गए डेटा के लिए एक वैकल्पिक स्थान को इंगित करता है।
पेंटेस्ट के दृष्टिकोण से यह जानकारी आमतौर पर "व्यर्थ" होती है, लेकिन यदि संसाधन 401 या 403 द्वारा संरक्षित है और आप इस जानकारी को प्राप्त करने का कोई तरीका ढूंढ सकते हैं, तो यह दिलचस्प हो सकता है।
उदाहरण के लिए, एक HEAD अनुरोध में Range
और Etag
का संयोजन पृष्ठ की सामग्री को HEAD अनुरोधों के माध्यम से लीक कर सकता है:
Range: bytes=20-20
हेडर के साथ एक अनुरोध और एक प्रतिक्रिया जिसमें ETag: W/"1-eoGvPlkaxxP4HqHv6T3PNhV9g3Y"
शामिल है, यह लीक कर रहा है कि बाइट 20 का SHA1 है ETag: eoGvPlkaxxP4HqHv6T3PNhV9g3Y
Server: Apache/2.4.1 (Unix)
X-Powered-By: PHP/5.3.3
Allow
: यह हेडर यह संप्रेषित करने के लिए उपयोग किया जाता है कि एक संसाधन कौन से HTTP विधियों को संभाल सकता है। उदाहरण के लिए, इसे इस प्रकार निर्दिष्ट किया जा सकता है Allow: GET, POST, HEAD
, यह इंगित करता है कि संसाधन इन विधियों का समर्थन करता है।
Expect
: क्लाइंट द्वारा उपयोग किया जाता है ताकि यह संप्रेषित किया जा सके कि सर्वर को अनुरोध को सफलतापूर्वक संसाधित करने के लिए किन अपेक्षाओं को पूरा करना चाहिए। एक सामान्य उपयोग मामला Expect: 100-continue
हेडर से संबंधित है, जो संकेत करता है कि क्लाइंट एक बड़ा डेटा पेलोड भेजने का इरादा रखता है। क्लाइंट प्रसारण के साथ आगे बढ़ने से पहले 100 (Continue)
प्रतिक्रिया की तलाश करता है। यह तंत्र नेटवर्क उपयोग को अनुकूलित करने में मदद करता है क्योंकि यह सर्वर की पुष्टि की प्रतीक्षा करता है।
HTTP प्रतिक्रियाओं में Content-Disposition
हेडर यह निर्देशित करता है कि क्या एक फ़ाइल को inline (वेबपृष्ठ के भीतर) प्रदर्शित किया जाना चाहिए या एक संलग्नक (डाउनलोड किया गया) के रूप में माना जाना चाहिए। उदाहरण के लिए:
यह मतलब है कि "filename.jpg" नामक फ़ाइल को डाउनलोड और सहेजने के लिए बनाया गया है।
CSP के माध्यम से विश्वसनीय प्रकारों को लागू करके, अनुप्रयोगों को DOM XSS हमलों से सुरक्षित रखा जा सकता है। विश्वसनीय प्रकार यह सुनिश्चित करते हैं कि केवल विशेष रूप से तैयार किए गए ऑब्जेक्ट्स, जो स्थापित सुरक्षा नीतियों के अनुरूप हैं, खतरनाक वेब API कॉल में उपयोग किए जा सकते हैं, इस प्रकार डिफ़ॉल्ट रूप से JavaScript कोड को सुरक्षित करते हैं।
यह हेडर MIME प्रकार की स्निफ़िंग को रोकता है, एक प्रथा जो XSS कमजोरियों का कारण बन सकती है। यह सुनिश्चित करता है कि ब्राउज़र सर्वर द्वारा निर्दिष्ट MIME प्रकारों का सम्मान करें।
क्लिकजैकिंग से लड़ने के लिए, यह हेडर यह सीमित करता है कि दस्तावेज़ <frame>
, <iframe>
, <embed>
, या <object>
टैग में कैसे एम्बेड किए जा सकते हैं, सभी दस्तावेज़ों को उनकी एम्बेडिंग अनुमतियों को स्पष्ट रूप से निर्दिष्ट करने की सिफारिश करता है।
CORP यह निर्दिष्ट करने के लिए महत्वपूर्ण है कि कौन से संसाधन वेबसाइटों द्वारा लोड किए जा सकते हैं, क्रॉस-साइट लीक को कम करते हुए। दूसरी ओर, CORS एक अधिक लचीला क्रॉस-ओरिजिन रिसोर्स शेयरिंग तंत्र की अनुमति देता है, कुछ शर्तों के तहत समान-उत्पत्ति नीति को ढीला करते हुए।
COEP और COOP क्रॉस-ओरिजिन आइसोलेशन को सक्षम करने के लिए आवश्यक हैं, जो स्पेक्ट्रे-जैसे हमलों के जोखिम को काफी कम करते हैं। वे क्रमशः क्रॉस-ओरिजिन संसाधनों के लोडिंग और क्रॉस-ओरिजिन विंडोज के साथ इंटरैक्शन को नियंत्रित करते हैं।
अंत में, HSTS एक सुरक्षा विशेषता है जो ब्राउज़रों को केवल सुरक्षित HTTPS कनेक्शनों के माध्यम से सर्वरों के साथ संवाद करने के लिए मजबूर करती है, इस प्रकार गोपनीयता और सुरक्षा को बढ़ाती है।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)