Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ariary/httpecho
Golang HTTP echo server (real raw request echoed)
https://github.com/ariary/httpecho
echo-server golang http-request-smuggling http-server
Last synced: about 2 months ago
JSON representation
Golang HTTP echo server (real raw request echoed)
- Host: GitHub
- URL: https://github.com/ariary/httpecho
- Owner: ariary
- License: unlicense
- Created: 2022-02-03T15:46:59.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-03T11:08:45.000Z (over 2 years ago)
- Last Synced: 2024-06-20T13:38:53.649Z (7 months ago)
- Topics: echo-server, golang, http-request-smuggling, http-server
- Language: Go
- Homepage:
- Size: 239 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# httpecho
The same thing as [`jmalloc/echo-server`](https://github.com/jmalloc/echo-server) **but HTTP requests are echoed as they are received**.
*Particularly useful for [http request smuggling vulnerability research](https://github.com/ariary/HTTPCustomHouse), malformed HTTP requests etc*
```shell
$ httpecho# On another shell
$ curl -d "param1=value1¶m2=value2" -X POST http://localhost:8888/ -H "Transfer-Encoding: chunked" -H "Content-Length: 8"
POST / HTTP/1.1
Host: localhost:8888
User-Agent: curl/7.58.0
Accept: */*
Transfer-Encoding: chunked
Content-Length: 8
Content-Type: application/x-www-form-urlencoded1b
param1=value1¶m2=value2
0
```## Usage
```shell
Usage of httpecho: echo server accepting malformed HTTP request
-s, --serve serve continuously (default: wait for 1 request)
-t, --timeout timeout to close connection in millisecond. Needed for closing http request. (default: 500)
-d, --dump dump incoming request to a file (default: only print to stdout)
-p, --port listening on specific port (default: 8888)
-v, --verbose display request with special characters
--tls use TLS encryption for communication
-h, --help help information
```## Install
```shell
curl -lO -L https://github.com/ariary/httpecho/releases/latest/download/httpecho
#or
go install github.com/ariary/httpecho
```