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...

252
2
0 0

Tất cả bài viết

Thumbnail Image
608
3
0 0
Avatar Viblo Security thg 3 16, 2023 9:58 SA
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
670
3
0 0
Avatar Viblo Security thg 3 16, 2023 9:58 SA
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
1.3K
5
0 0
Avatar Viblo Security thg 3 16, 2023 9:58 SA
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
1.2K
1
0 0
Avatar Viblo Security thg 3 6, 2023 7:47 SA
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
374
4
0 0
Avatar Viblo Security thg 3 6, 2023 7:47 SA
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
491
1
0 0
Avatar Viblo Security thg 3 6, 2023 7:47 SA
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
1.1K
1
1 0
Avatar Viblo Security thg 3 6, 2023 7:47 SA
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
547
1
0 0
Avatar Viblo Security thg 3 6, 2023 7:46 SA
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
522
1
0 0
Avatar Viblo Security thg 3 6, 2023 7:46 SA
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
711
3
0 0
Avatar Viblo Security thg 2 6, 2023 6:04 SA
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
652
1
0 0
Avatar Viblo Security thg 2 6, 2023 6:04 SA
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
967
2
0 0
Avatar Viblo Security thg 2 6, 2023 6:04 SA
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...

Thumbnail Image
1.0K
1
0 0
Avatar Viblo Security thg 2 6, 2023 6:04 SA
8 phút đọc

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

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

  1. Phá vỡ logic ứng dụng

Xét một chức năng đăng nhập:

Khi người dùng thực hiện đăng nhập, hai tham số username và password được truyền tới hệ thống, sau đó được "ghép" trực tiếp vào câu lệnh SQL. Ví dụ câu lệnh kiểm tra thông tin đăng nhập của người dùng trong ngôn ngữ php như sau:

_POST['username']; _POST['password']; username . "...

Thumbnail Image
2.1K
6
6 0
Avatar Viblo Security thg 2 6, 2023 6:04 SA
11 phút đọc

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

I. Đặt vấn đề

  1. Giới thiệu

Một vấn đề lớn mà mỗi một hệ thống cần phải đối mặt đó chính là làm sao để lưu trữ các thông tin một cách hiệu quả và khi cần sử dụng có thể truy xuất nhanh chóng và chính xác. Từ đó, cơ sở dữ liệu (Database) ra đời, nó là một hệ thống bao gồm rất nhiều thông tin, dữ liệu được xây dựng theo một cấu trúc nhất định nhằm đáp ứng nhu cầu khai thác, sử dụng đồng thời của...

Thumbnail Image
1.7K
2
0 0
Avatar Viblo Security thg 2 1, 2023 3:17 SA
7 phút đọc

File upload vulnerabilities - Các lỗ hổng upload tệp tin (Phần 3)

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

  1. Bypass bằng cách chèn metadata trong file ảnh

Song song với cách bypass thông qua file signature đã được nhắc tới trong mục 3, chúng ta cũng có thể chèn một đoạn mã độc hại trong nội dung file ảnh. Cách làm này thường mang lại hiểu quả tốt hơn do có thể vượt qua khá nhiều cơ chế ngăn chặn thông thường từ hệ thống.

Phân tích lab Rem...

Thumbnail Image
1.3K
2
0 0
Avatar Viblo Security thg 2 1, 2023 3:14 SA
5 phút đọc

File upload vulnerabilities - Các lỗ hổng upload tệp tin (Phần 2)

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

  1. Kết hợp kỹ thuật path traversal

Đôi khi, hệ thống cài đặt thư mục lưu trữ các tệp do người dùng tải lên không có quyền thực thi. Đây là một cách ngăn chặn tốt, tuy nhiên, kẻ tấn công vẫn có thể tìm kiếm sự "may mắn" ở các thư mục khác bằng cách kết hợp với kỹ thuật path traversal.

Phân tích lab Web shell upload via path traversal ...

Thumbnail Image
2.7K
4
0 0
Avatar Viblo Security thg 2 1, 2023 3:12 SA
5 phút đọc

File upload vulnerabilities - Các lỗ hổng upload tệp tin (Phần 1)

I. Đặt vấn đề

  1. Giới thiệu lỗ hổng File upload

Chắc hẳn các bạn đều đã quen thuộc với các tính năng thay đổi ảnh đại diện, ảnh bìa trong quá trình hoàn thành hồ sơ cá nhân. Quá trình tải lên một ảnh đại diện chính là đang thực hiện hành động upload file, cụ thể tệp tải lên ở đây là tệp tin dạng hình ảnh.

Giống với các chức năng khác, hành động upload file cũng ẩn chứa những mối nguy tới hệ t...

Thumbnail Image
682
2
0 0
Avatar Viblo Security thg 1 16, 2023 8:52 SA
9 phút đọc

OS command injection vulnerabilities - Các lỗ hổng command injection (Phần 3)

II. Phân tích và khai thác lỗ hổng OS command injection (tiếp) 6. Kiểm tra lỗ hổng Blind OS command injection bằng kỹ thuật out-of-band (OAST)

Với phương pháp sử dụng time delay phía trên có thể xảy ra sự sai sót và không rõ ràng bởi nó có thể bị ảnh hưởng bởi nhiều yếu tố như tốc độ đường truyền, tình trạng phản hồi hệ thống không đồng bộ. Chúng ta cần tìm kiếm một phương pháp "chắc chắn" hơn...

Thumbnail Image
403
1
0 0
Avatar Viblo Security thg 1 16, 2023 8:52 SA
8 phút đọc

OS command injection vulnerabilities - Các lỗ hổng command injection (Phần 2)

II. Phân tích và khai thác lỗ hổng OS command injection (tiếp) 3. Lỗ hổng OS command injection thông thường

Xét một trang web mua sắm gồm chức năng kiểm tra số lượng sản phẩm còn lại trong kho với URL như sau:

https://insecure-website.com/stockStatus?productID=381&storeID=29

Trong đó, trang web sử dụng các tham số productID và storeID truyền vào trong câu lệnh shell như sau:

stockreport.pl ...

Thumbnail Image
1.2K
2
1 0
Avatar Viblo Security thg 1 16, 2023 8:52 SA
6 phút đọc

OS command injection vulnerabilities - Các lỗ hổng command injection (Phần 1)

I. Đặt vấn đề

  1. Giới thiệu

OS command injection vulnerabilities chỉ loại lỗ hổng cho phép kẻ tấn công "inject" và thực thi tùy ý các câu lệnh tương ứng với hệ điều hành (OS) đang vận hành của hệ thống. Bởi vậy kiểu tấn công này còn có một tên gọi khác là Shell injection. Đây là một trong những lỗ hổng nguy hiểm nhất, thường được đánh giá trong khoảng 9.010.09.0 - 10.0 trong điểm CVSS. Vì khi kẻ tấ...

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í