Các hàm cơ bản (Knowledge base functions)

Một phần của tài liệu Tìm hiểu xây dựng Plugin cho Nessus sử dụng NASL (Trang 29 - 30)

Các hàm này được dùng cho các plugin tương tác.

set_kb_item tạo danh mục mới trong KB (Knowledge base). Nó nhận 2 chuỗi đối số: tên và giá trị.

Thực hiện khoản mục vài lần tạo ra một danh sách.

get_kb_item nhận khoản mục từ KB.

Nó nhận đối số không được định tên (tên của khoản mục KB).

Nếu khoản mục là một danh sách, plugin sẽ chia nhỏ cho các tiến trình con, và sử dụng giá trị khác. Nessus sẽ ghi nhớ tiến trình con nhận giá trị nào: đọc một khoản mục trùng tên, nó sẽ không chia nhỏ lần nữa.

Ta không nên sử dụng hàm này khi có vài kết nối đang mở, tránh diễn ra tình trạng có nhiều tiến trình cùng cố gắng đọc ghi vào cùng một socket.

get_kb_list nhận nhiều khoản mục từ KB. Nó nhận đối số không được định danh, có thể tên danh mục KB hoặc mặt nạ. Giá trị trả về là một kết quả tóm lược, ví dụ một mảng với khả năng có 2 chỉ số, vì vậy ta cần chuyển đổi nó với make_list() hoặc sử dụng foreach để truy cập mỗi phần tử (hàm make_array cho phép tạo ra những bảng băm như vậy).

Ví dụ sử dụng hàm get_kb_list: # Retrieves the list of all the web servers webservers = get_kb_list("Services/www"); # Retrieves the list of all the services

services = get_kb_list("Services/*"); # Retrieves the whole KB

services = get_kb_list("*");

replace_kb_item thêm khoản mục mới vào trong KB hoặc thay thế giá trị cũ.

Nó nhận 2 đối số được định danh: tên và giá trị.

Thực hiện khoản mục một vài lần không tạo ra danh sách, nó chỉ ghi đè giá trị cũ.

Hàm này không được định nghĩa lại trong mọi phiên bản của Nessus, để an toàn ta cần kiểm tra giá trị đã được định nghĩa trước đó bằng cách gọi đến hàm này hoặc sử dụng hàm replace_or_set_kb_item của NASL.

Một phần của tài liệu Tìm hiểu xây dựng Plugin cho Nessus sử dụng NASL (Trang 29 - 30)