Pagi ini dimulai dengan sebuah keisengan yang menghasilkan. Kenapa? Saya membaca sebuah artikel terkait metode stress test dan load test terhadap sebuah aplikasi. Selama ini kita hanya berkutat di aplikasi hanya soal keamanan aplikasi, efisien dan efektif dari aplikasi, dan cepatnya akses aplikasi. Seharusnya selama ini kita harus bisa juga menggaransi bahwa aplikasi jangan sampai tumbang dengan serangan yang terus menerus, seakan-akan sebagai sebuah permintaan dari pengguna. Tetapi itu adalah sebuah serangan untuk menumbangkan layanan sebuah website.
Disclaimer
Disini saya tidak bermaksud untuk mengajarkan hal-hal yang tidak baik, tetapi memberikan sebuah informasi bahwasanya pengetahuan ini bermanfaat untuk hal yang positif.
Prolog
SlowHTTPtest adalah alat yang sangat dapat dikonfigurasi untuk mensimulasikan beberapa serangan Application Layer Denial of Service dengan memperpanjang koneksi HTTP dengan cara yang berbeda.
Dapat digunakan menguji server web untuk mengetahui kerentanan DoS, atau hanya untuk mengetahui berapa banyak koneksi bersamaan yang dapat ditangani. SlowHTTPtest bekerja pada sebagian besar platform Linux, OS X dan Cygwin - lingkungan mirip Unix dan antarmuka baris perintah untuk Microsoft Windows, dan dilengkapi dengan Dockerfile untuk membuat segalanya lebih mudah.
InstalasiCPU 2vcpu
RAM 8 Gb
HDD 80 Gb
OS Parrot security OS 6.1
Karena sudah ada di aplikasi Parrot OS ini kita dapat menggunakan perintah sebagai berikut:
slowhttptest -c 10000 -H -g -o slowhttp -i 10 -r 200 -t GET -u https://domain.tujuan.anda
untuk maksud perintah diatas dapat dilihat pada manual sebagai berikut
slowhttptest, a tool to test for slow HTTP DoS vulnerabilities - version 1.8.2
Usage: slowhttptest [options ...]
Test modes:
-H slow headers a.k.a. Slowloris (default)
-B slow body a.k.a R-U-Dead-Yet
-R range attack a.k.a Apache killer
-X slow read a.k.a Slow Read
Reporting options:
-g generate statistics with socket state changes (off)
-o file_prefix save statistics output in file.html and file.csv (-g required)
-v level verbosity level 0-4: Fatal, Info, Error, Warning, Debug
General options:
-c connections target number of connections (50)
-i seconds interval between followup data in seconds (10)
-l seconds target test length in seconds (240)
-r rate connections per seconds (50)
-s bytes value of Content-Length header if needed (4096)
-t verb verb to use in request, default to GET for
slow headers and response and to POST for slow body
-u URL absolute URL of target (http://localhost/)
-x bytes max length of each randomized name/value pair of
followup data per tick, e.g. -x 2 generates
X-xx: xx for header or &xx=xx for body, where x
is random character (32)
-f content-type value of Content-type header (application/x-www-form-urlencoded)
-m accept absolute URL of target (http://localhost/)
Probe/Proxy options:
-d host:port all traffic directed through HTTP proxy at host:port (off)
-e host:port probe traffic directed through HTTP proxy at host:port (off)
-p seconds timeout to wait for HTTP response on probe connection,
after which server is considered inaccessible (5)
-j cookies value of Cookie header (ex.: -j "user_id=1001; timeout=9000")
Range attack specific options:
-a start left boundary of range in range header (5)
-b bytes limit for range header right boundary values (2000)
Slow read specific options:
-k num number of times to repeat same request in the connection. Use to
multiply response size if server supports persistent connections (1)
-n seconds interval between read operations from recv buffer in seconds (1)
-w bytes start of the range advertised window size would be picked from (1)
-y bytes end of the range advertised window size would be picked from (512)
-z bytes bytes to slow read from receive buffer with single read() call (5)
Hasil dari pengujian diatas sebenarnya ada bentuk report yaitu dalam format csv dan html
Cukup sekian keisengan saat ini
Tidak ada komentar:
Posting Komentar