Image Cover
Avatar

Viblo Security

@security

Báo cáo

Bài viết được ghim

IV. Phân tích và khai thác các lỗ hổng Web cache poisoning

  1. Ví dụ về tìm kiếm unkeyed values

Như ở bài viết trước đã đề cập, việc tìm kiếm các giá trị unkeyed đóng vai trò quan trọng trong tấn công web cache poisoning. Trong bài lab Web cache poisoning with an unkeyed header, chúng ta sẽ sử dụng một extension "đắc lực" trong công cụ Burp Suite để tìm kiếm các giá trị unkeyed.

Quan sát resp...

176
2
0 0

Tất cả bài viết

Thumbnail Image
192
1
0 0
Avatar Viblo Security Mar 28th, 2023 3:43 a.m.
8 phút đọc

XXE injection vulnerabilities - Lỗ hổng XML (Phần 5)

II. Phân tích và khai thác các lỗ hổng XXE injection (tiếp)

  1. Khai thác lỗ hổng XXE qua error message

Trong một số trường hợp khi chúng ta sử dụng sai cú pháp XML dẫn đến quá trình phân tích cú pháp dữ liệu gặp lỗi, lúc này hệ thống thường trả về các đoạn thông báo lỗi (error message), chúng có thể chứa một số thông tin nhạy cảm.

Bằng cách đưa luồng xử lý hệ thống đi vào trường hợp error, c...

Thumbnail Image
241
1
0 2
Avatar Viblo Security Mar 28th, 2023 3:43 a.m.
6 phút đọc

XXE injection vulnerabilities - Lỗ hổng XML (Phần 4)

II. Phân tích và khai thác các lỗ hổng XXE injection (tiếp)

  1. Khai thác lỗ hổng Blind XXE injection bằng phương pháp truy xuất dữ liệu out-of-band

Ở các mục trước chúng ta đã được giới thiệu và nhận biết lỗ hổng Blind XXE injection. Tất nhiên kẻ tấn công sẽ không muốn chỉ dừng lại ở mức kiểm tra được vị trí xảy ra lỗ hổng XXE dạng blind. Họ luôn tìm kiếm cách truy xuất các dữ liệu nhạy cảm. ...

Thumbnail Image
247
1
0 0
Avatar Viblo Security Mar 28th, 2023 3:43 a.m.
3 phút đọc

XXE injection vulnerabilities - Lỗ hổng XML (Phần 3)

II. Phân tích và khai thác các lỗ hổng XXE injection (tiếp)

  1. Lỗ hổng XXE injection dạng Blind và cách nhận biết

Cũng giống như các lỗ hổng khác, nhiều trường hợp trang web chứa quá trình phân tích cú pháp XML nhưng không trả về kết quả trong giao diện ứng dụng. Khi đó lỗ hổng XXE vẫn có thể xảy ra nhưng ở dạng blind, hay còn được gọi là Blind XXE injection.

Ví dụ đoạn code PHP sau:

<?php ...
Thumbnail Image
290
1
0 0
Avatar Viblo Security Mar 28th, 2023 3:42 a.m.
5 phút đọc

XXE injection vulnerabilities - Lỗ hổng XML (Phần 2)

II. Phân tích và khai thác các lỗ hổng XXE injection (tiếp)

  1. Khai thác lỗ hổng XXE injection kết hợp lỗ hổng SSRF

Chúng ta đã biết về lỗ hổng SSRF giúp kẻ tấn công có thể truy xuất các dữ liệu nội bộ phía server. Trong một số trường hợp, ứng dụng chứa lỗ hổng XXE có thể kết hợp với phương pháp tấn công SSRF nhằm mở rộng phạm vi tấn công, khiến sự ảnh hưởng và mức độ tổn hại phía server tăng...

Thumbnail Image
1.2K
1
0 0
Avatar Viblo Security Mar 28th, 2023 3:41 a.m.
4 phút đọc

XXE injection vulnerabilities - Lỗ hổng XML (Phần 1)

I. Đặt vấn đề

  1. Các khái niệm cơ bản

a. XML là gì?

XML là viết tắt của eXtensible Markup Language. Khá giống với ngôn ngữ HTML, chúng ta có thể hiểu XML là một dạng ngôn ngữ đánh dấu, được tổ chức W3C phát triển với mục đích lưu trữ và vận chuyển dữ liệu.

Tuy nhiên, chúng ta cũng cần phân biệt giữa hai ngôn ngữ HTML và XML, với các tiêu chí chủ yếu sau:

Chúng ta cùng xét một ví dụ về ngôn...

Thumbnail Image
485
2
0 0
Avatar Viblo Security Mar 16th, 2023 9:58 a.m.
7 phút đọc

Server side request forgery vulnerabilities (SSRF) - Các lỗ hổng giả mạo yêu cầu phía máy chủ (Phần 6)

II. Phân tích và khai thác các lỗ hổng Server-side request forgery (tiếp)

  1. Lỗ hổng SSRF trong open redirection (chuyển hướng)

Trong một số trường hợp các chức năng chuyển hướng cũng có thể gây ra lỗ hổng SSRF. Chẳng hạn ứng dụng web gọi tới API thực hiện chuyển hướng người dùng tới một trang web khác, có URL như sau:

/product/nextProduct?currentProductId=6&path=http://evil-user.net

Trang ...

Thumbnail Image
346
4
0 0
Avatar Viblo Security Mar 16th, 2023 9:58 a.m.
7 phút đọc

Server side request forgery vulnerabilities (SSRF) - Các lỗ hổng giả mạo yêu cầu phía máy chủ (Phần 5)

II. Phân tích và khai thác các lỗ hổng Server-side request forgery (tiếp)

  1. Lỗ hổng SSRF dạng Blind

Cũng giống với các dạng lỗ hổng blind khác, lỗ hổng Blind SSRF xảy ra khi giao diện không trả về bất kỳ thông tin nào về kết quả cuộc tấn công SSRF, nhưng payload của chúng ta vẫn được thực thi trong server back-end. Trong trường hợp giao diện trang web không trả về kết quả, cách thông dụng nh...

Thumbnail Image
409
2
0 0
Avatar Viblo Security Mar 16th, 2023 9:58 a.m.
6 phút đọc

Server side request forgery vulnerabilities (SSRF) - Các lỗ hổng giả mạo yêu cầu phía máy chủ (Phần 4)

II. Phân tích và khai thác các lỗ hổng Server-side request forgery (tiếp)

  1. SSRF và bypass white-based input filters (tiếp)

6.2. Cài đặt cơ chế ngăn chặn white list dựa theo host (tiếp)

Cuối cùng, chúng ta hãy cùng đào sâu hơn một cách bypass cơ chế filter bằng cách kết hợp các kỹ thuật trên qua bài lab sau:

Phân tích lab SSRF with whitelist-based input filter

Miêu tả: Chức năng stock che...

Thumbnail Image
459
3
0 0
Avatar Viblo Security Mar 16th, 2023 9:58 a.m.
7 phút đọc

Server side request forgery vulnerabilities (SSRF) - Các lỗ hổng giả mạo yêu cầu phía máy chủ (Phần 3)

II. Phân tích và khai thác các lỗ hổng Server-side request forgery (tiếp)

  1. Kiểm tra lỗ hổng SSRF

SSRF thường xuất hiện ở các chức năng có quá trình trao đổi dữ liệu với một trang web khác. Và chúng ta cũng cần có một phương pháp để kiểm tra khả năng xảy ra của lỗ hổng SSRF. Một trong những phương pháp kiểm tra phổ biến và đơn giản nhất chính là kỹ thuật out-of-band (OAST). Trong bài viết nà...

Thumbnail Image
500
3
0 0
Avatar Viblo Security Mar 16th, 2023 9:58 a.m.
5 phút đọc

Server side request forgery vulnerabilities (SSRF) - Các lỗ hổng giả mạo yêu cầu phía máy chủ (Phần 2)

II. Phân tích và khai thác các lỗ hổng Server-side request forgery (tiếp)

  1. Lỗ hổng SSRF truy cập hệ thống back-end khác

Bên cạnh việc tận dụng lỗ hổng SSRF truy cập vào server local, chúng ta cũng có thể truy cập vào các hệ thống back-end khác. Các hệ thống này thường không thể truy cập trực tiếp từ public server, để tấn công được các server này chúng ta cần biết chính xác domain hoặc địa c...

Thumbnail Image
963
5
0 0
Avatar Viblo Security Mar 16th, 2023 9:58 a.m.
5 phút đọc

Server side request forgery vulnerabilities (SSRF) - Các lỗ hổng giả mạo yêu cầu phía máy chủ (Phần 1)

I. Đặt vấn đề

  1. Giới thiệu

Server-side request forgery (thường được gọi là SSRF) là một dạng tấn công trong đó kẻ tấn công lợi dụng một tính năng của server public nhằm truy xuất trái phép dữ liệu từ một trang web chỉ định khác, thường là các trang web back-end ở chính server đó. Để các bạn có thể hình dung rõ hơn về dạng lỗ hổng này, chúng ta cùng xét ví dụ sau:

Trong quá trình trao đổi dữ...

Thumbnail Image
968
1
0 0
Avatar Viblo Security Mar 6th, 2023 7:47 a.m.
3 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 11)

VI. Demo ngăn chặn lỗ hổng SQL injection

  1. Ngôn ngữ PHP

Xem xét đoạn code PHP với cơ sở dữ liệu MySQL xử lý input chứa lỗ hổng SQL injection sau:

_POST['username']; _POST['password'];

username' AND password='$password'";

mysql_query($query);

  • Sử dụng hàm htmlspecialchars()

Hàm htmlspecialchars() sẽ chuyển các ký tự đặc biệt như &, <, >, ", ', và / thành các ký tự HTML. Cài đặt như sau:...

Thumbnail Image
293
4
0 0
Avatar Viblo Security Mar 6th, 2023 7:47 a.m.
5 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 10)

IV. Tối ưu hóa Blind SQL injection

Trong các phương pháp khai thác lỗ hổng Blind SQL injection đã xét ở trên, chúng ta cần kiểm tra rất nhiều trường hợp (hầu như là cần thử qua hết tất cả trường hợp về ký tự) để xác định chính xác từng ký tự của dữ liệu cần truy xuất, làm mất rất nhiều thời gian cũng như lãng phí tài nguyên. Hơn nữa, việc gửi liên tục nhiều request cùng lúc tới hệ thống có thể...

Thumbnail Image
382
1
0 0
Avatar Viblo Security Mar 6th, 2023 7:47 a.m.
8 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 9)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Second-order SQL injection

Các trường hợp ở trên chúng ta đang xét có thể được chia thành dạng First-order SQL injection - nghĩa là hệ thống sẽ trực tiếp thực thi script của chúng ta dẫn tới hậu quả dò rỉ dữ liệu ngay lập tức sau đó (trả về dữ liệu nhạy cảm trong giao diện, kẻ tấn công có thể phán đoán chính xác các ký tự của dữ l...

Thumbnail Image
870
1
0 0
Avatar Viblo Security Mar 6th, 2023 7:47 a.m.
8 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 8)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Blind SQL injection (tiếp)

6.4. Khai thác lỗ hổng Blind SQL injection bằng out-of-band (OAST) techniques

Phương pháp tấn công lỗ hổng Blind SQL injection bằng kỹ thuật Out-of-band có thể còn xa lạ với nhiều bạn. Trước hết các bạn cần hiểu về dịch vụ phân giải tên miền DNS (có thể đọc lại các bài viết về chủ đề OS command injectio...

Thumbnail Image
418
1
0 0
Avatar Viblo Security Mar 6th, 2023 7:46 a.m.
8 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 7)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Blind SQL injection (tiếp)

6.3. Khai thác lỗ hổng Blind SQL injection bằng cách kích hoạt độ trễ thời gian (time delays triggering)

Phương pháp khai thác trong mục 6.21/06.21/0 nhằm tạo ra lỗi thực thi trong câu truy vấn, dẫn tới trang web trả về response error. Đặt ra giả thiết rằng, nhóm phát triển sản phẩm đã nghĩ tới trường hợp t...

Thumbnail Image
413
1
0 0
Avatar Viblo Security Mar 6th, 2023 7:46 a.m.
6 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 6)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Blind SQL injection (tiếp)

6.2. Kích hoạt điều kiện lỗi truy vấn trong khai thác lỗ hổng Blind SQL injection

Với các ví dụ ở mục 6.126.12 câu truy vấn sau:

(SELECT CASE WHEN (1=1) THEN 1/0 ELSE 'a' END)='a' (SELECT CASE WHEN (1=2) THEN 1/0 ELSE 'a' END)='a'

Từ khóa CASE có thể được hiểu giống như cấu trúc rẽ nhánh switch-case: Kh...

Thumbnail Image
595
3
0 0
Avatar Viblo Security Feb 6th, 2023 6:04 a.m.
10 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 5)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Khai thác lỗ hổng SQL injection - Truy xuất dữ liệu trong các bảng (database tables) (tiếp)

5.3. Khai thác dữ liệu từ các bảng với cột hiển thị hạn chế

Từ các ví dụ trên chúng ta thấy lượng thông tin chúng ta cần khai thác thường gồm nhiều trường, và trên thực tế số lượng đó sẽ còn lớn hơn. Có thể một trường hợp xấu xảy ra, là số...

Thumbnail Image
508
1
0 0
Avatar Viblo Security Feb 6th, 2023 6:04 a.m.
10 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 4)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Khai thác lỗ hổng SQL injection - Truy xuất dữ liệu trong các bảng (database tables) (tiếp)

5.2. Khai thác dữ liệu từ các bảng

Sau khi đã tìm được thông tin về loại hệ quản trị cơ sở dữ liệu được sử dụng cũng như kiểm tra các thông tin phụ như phiên bản hiện hành, chúng ta có thể sử dụng các cú pháp truy vấn tương ứng để khai thá...

Thumbnail Image
758
2
0 0
Avatar Viblo Security Feb 6th, 2023 6:04 a.m.
8 phút đọc

SQL injection vulnerabilities - Lỗ hổng SQL injection (Phần 3)

II. Phân tích và khai thác các lỗ hổng SQL Injection (tiếp)

  1. Khai thác lỗ hổng SQL injection - Thu thập thông tin câu truy vấn (tiếp)

4.2. Xác định cột dữ liệu tương thích với kiểu dữ liệu cần truy xuất

Sau khi xác định được số cột dữ liệu trả về, chúng ta cần tiếp tục tìm kiểm cột dữ liệu có thể được khai thác để hiển thị (trả về) kết quả thông tin truy xuất cụ thể. Thông thường kiểu dữ l...

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí