graffiti sends ASCII-art texts to remote webserver logs using consecutive 404 errors
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Dockerfile
Makefile
README.md
banner.go
main.go

README.md

graffiti

graffiti sends ASCII-art texts to remote webserver logs using consecutive 404 errors.

Don't use this software to abuse other people's systems, this is not a DOS tool and it's not optimized for that use case.

Example

From your computer:

~ $ graffiti -t "hello world" -d www.example.com
Text: "hello world"
Destination: http://www.example.com/
User Agent: graffiti
 ** Use -v to switch verbose mode on **

From the remote server:

# tail -f /var/log/nginx/access.log
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------------------N HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------------------N------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------------------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------------------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNN--------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /--------------NNNNN----------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NNNNNNNNNNN-------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------NNNNNNNNNNNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NN-----N-----NN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N------N-------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N------N-------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N------N------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------N-----NNNNNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NN---NNNNNN-------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------------NNN----------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------------------N HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------------------N HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /--------------NNNNN----------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NNNNNNNNNNN-------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------NNNNNNNNNNNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NN-----------NN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N--------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N--------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNN-------NNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NNNNNNNNNNNN------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------NNNNNNNN--------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------------------NNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------NNNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------------NNNNNNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------NNNNNNNNNN---------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNN------------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------NNN-------------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------NNNNNNNNNN---------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNN------------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------NNN-------------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------------NNNN---N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------------------NNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /--------------NNNNN----------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NNNNNNNNNNN-------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------NNNNNNNNNNNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NN-----------NN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N--------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N--------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNN-------NNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NNNNNNNNNNNN------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------NNNNNNNN--------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N--------------N----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------------------NN------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------------------NN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /--------------------NNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------------NNNNNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------------NNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------------------N HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-------------NNNNNNN---------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /-----------NNNNNNNNNNNN------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNN------------ HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NN-----------NNN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------NN----------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /----------NN----------N------------N HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------NNNNNNNNNNNNNNNNNNNNNNNNNNN HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /---------N-------------------------- HTTP/1.1" 404 168 "-" "graffiti"
1.2.3.4 - - [20/Sep/2015:14:03:36 +0200] "GET /------------------------------------ HTTP/1.1" 404 168 "-" "graffiti"

Additional Configuration

  -a string
        User Agent (default "graffiti")
  -bg string
        Background (default "-")
  -d string
        Destination (ie: www.example.com)
  -fg string
        Foreground (default "N")
  -n    Dry Run
  -r int
        Number of times to execute (default 1)
  -s    Silent or quiet mode
  -t string
        Text to send to the remote server
  -v    Verbose output