8.5 KiB
प्रॉक्सी / WAF सुरक्षा बायपास
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- 💬 Discord group में शामिल हों या telegram group में या Twitter पर 🐦 @carlospolopm को फॉलो करें।
- अपनी हैकिंग ट्रिक्स साझा करें, HackTricks के github repos और HackTricks Cloud में PRs सबमिट करके।
Nginx ACL नियमों को बायपास करना
Nginx प्रतिबंध उदाहरण:
location = /admin {
deny all;
}
location = /admin/ {
deny all;
}
NodeJS
- Nginx
\xa0
वर्ण को पथनाम का हिस्सा मानता है, इसलिए/admin
URI के लिए ACL नियम सक्रिय नहीं होगा। नतीजतन, Nginx HTTP संदेश को बैकएंड को अग्रेषित करेगा; - जब Node.js सर्वर को
/admin\x0a
URI प्राप्त होता है, तो\xa0
वर्ण हटा दिया जाएगा, जिससे/admin
एंडपॉइंट की सफल प्राप्ति होगी।
Nginx संस्करण | Node.js बायपास वर्ण |
---|---|
1.22.0 | \xA0 |
1.21.6 | \xA0 |
1.20.2 | \xA0 , \x09 , \x0C |
1.18.0 | \xA0 , \x09 , \x0C |
1.16.1 | \xA0 , \x09 , \x0C |
Flask
Flask URL पथ से \x85
, \xA0
, \x1F
, \x1E
, \x1D
, \x1C
, \x0C
, \x0B
, और \x09
वर्णों को हटा देता है, लेकिन NGINX नहीं करता।
Nginx संस्करण | Flask बायपास वर्ण |
---|---|
1.22.0 | \x85 , \xA0 |
1.21.6 | \x85 , \xA0 |
1.20.2 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
1.18.0 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
1.16.1 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
Spring Boot
नीचे, आप देखेंगे कि कैसे ACL सुरक्षा को पथनाम के अंत में \x09
या वर्ण जोड़कर दरकिनार किया जा सकता है:
Nginx संस्करण | Spring Boot बायपास वर्ण |
---|---|
1.22.0 | ; |
1.21.6 | ; |
1.20.2 | \x09 , ; |
1.18.0 | \x09 , ; |
1.16.1 | \x09 , ; |
PHP-FPM
निम्नलिखित Nginx FPM कॉन्फ़िगरेशन पर विचार करें:
location = /admin.php {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
इसे /admin.php/index.php
तक पहुँचकर बायपास किया जा सकता है:
रोकथाम कैसे करें
इन समस्याओं को रोकने के लिए, आपको Nginx ACL नियमों में =
अभिव्यक्ति के बजाय ~
अभिव्यक्ति का उपयोग करना चाहिए, उदाहरण के लिए:
COPYCOPY
location ~* ^/admin {
deny all;
}
AWS WAF ACL को Line Folding के साथ बायपास करना
HTTP हेडर में AWS WAF सुरक्षा को निम्नलिखित सिंटैक्स का उपयोग करके बायपास करना संभव है जहां AWS WAF समझ नहीं पाएगा कि X-Query हेडर में sql इंजेक्शन पेलोड होता है जबकि पीछे का नोड सर्वर समझेगा:
GET / HTTP/1.1\r\n
Host: target.com\r\n
X-Query: Value\r\n
\t' or '1'='1' -- \r\n
Connection: close\r\n
\r\n
संदर्भ
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा संग्रह विशेष NFTs
- 💬 Discord group में शामिल हों या telegram group या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- HackTricks और HackTricks Cloud github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें.