Tấn công Http Slowloris

kaitoukid

Wh------
18/07/2014
26
31 bài viết
Tấn công Http Slowloris
Loạt bài viết chủ đề về tấn công khuếch đại, chúng ta thấy được kẻ tấn công đã lợi dụng các lỗ hổng của các giao thức cơ bản như SNMP, NTP, hay như việc thay đổi bảng ghi DNS để gây những cuộc tấn công DrDoS với băng thông cực lớn gây tê liệt dịch vụ. Tuy nhiên, việc làm cho một website bị DoS nhiều khi không cần phải tấn công với băng thông lớn như vậy, mà chỉ cần những kĩ thuật khai thác giao thức http cũng có thể làm được điều đó. Một trong những cách đó sẽ được tôi trình bày ở bài viết này đó là: tấn công bằng cách sử dụng kĩ thuật Http Slowloris.

Anh-whitehat-vn.png

Slowloris là gì?

Được phát triển bởi Robert “Rsnake” Hansen, với một máy tính tấn công với kiểu Http Slowloris có thể làm một trang web bị từ chối dịch vụ. Nó chỉ đòi hỏi băng thông tối thiểu để thực hiện việc đó và ảnh hưởng đến mỗi webserver, còn lại hầu như không có tác dụng với các dịch vụ khác. Slowloris không phải là một kiểu tấn công phản ánh, cũng không liên quan đến việc giả mạo.
Slowloris đạt hiệu quả cao đối vơi nhiều loại phần mềm webserver nổi tiếng như Apache 1.x và 2.x, dhttpd, GoAhead WebServer, Flask.

Một số loại gần như không bị ảnh hưởng như: IIS6.0, IIS7.0, lighttpd, Squid, nginx.

Cách tấn công slowloris

Kẻ tấn công sẽ gửi đến webserver nhiều yêu cầu http request không hoàn chỉnh và cố gắng duy trì tối đa số kết nối có thể đạt được. Cho đến số kết nối của webserver đạt ngưỡng, nó bắt đầu từ chối những kết nối request gửi đến bao gồm cả request của người dùng. Mỗi kết nối sẽ được duy trì đến khi time-out thì sẽ cắt kết nối đó, và trả lại tài nguyên để webserver sẵn sàng nhận kết nối mới. Tuy nhiên, khi mà kẻ tấn công vẫn đang dùng Http Slowloris thì webserver sẽ liên tục bị đầy kết nối, từ đó gây ra hiện tựơng từ chối dịch vụ webserver.

Ví dụ về một request slowloris:

14908932021.jpg


Các trường trong http request, các bạn có thể tham khảo theo tại đây. Kết thúc mỗi trường được kết thúc bằng kí tự kết thúc tức [CRLF], và một http request kết thúc khi gặp 2 kí tự [CRLF].

Ta thấy, như hình trên4 trường đầu tiên của http request vẫn hợp lệ, sau đó, kẻ tấn công gửi đến webserver với nội dung “X-a: b [CRLF]” thể hiện việc request vẫn còn và webserver vẫn phải duy trì kết nối để cố gắng nhận hết toàn bộ request do nó vẫn chưa nhận được 2 kí tự [CRLF] thông báo kết thúc request để đóng kết nối.

Tài liệu tham khảo
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
http slowloris
Bên trên