XÂY DỰNG CHƢƠNG TRÌNH

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Xây dựng công cụ đánh giá an toàn website (Trang 94 - 99)

5.1. Xây dựng cơ sở dữ liệu

Từ những kiến thức đƣợc học và kết quả nghiên cứu lý thuyết, tác giả đã xây dựng một cơ sở dữ liệu về các lỗ hổng bảo mật, để làm cơ sở dò tìm và đánh giá website, các lỗ hổng bảo mật này chủ yếu dựa trên tiêu chuẩn OWASP (Open Web Application Security Project).

OWASP là một cộng đồng quốc tế mở tập trung vào cải thiện bảo mật ứng dụng phần mềm. Mục tiêu của OWASP là làm cho an ninh ứng dụng “hiện rõ”, giúp cho mọi ngƣời và các tổ chức có thể đƣa ra những quyết định về rủi ro an ninh ứng dụng. Ai cũng đƣợc quyền tham gia OWASP một cách miễn phí và tất cả các tài liệu của OWASP đều là tài liệu mở và miễn phí. [3]

Đối với từng loại lỗ hổng bảo mật thì tác giả đã tìm hiểu và đƣa ra những lời khuyên để ngƣời sử dụng sửa chữa website của mình. Các lời khuyên này chỉ mang tính tham khảo, không nhất thiết phải thực hiện theo những lời khuyên này.

Vì khối lƣợng dữ liệu không nhiều và để thuận tiện cho việc lập trình, tác giả đã cài đặt dữ liệu trên cơ sở dữ liệu Access. Trong cơ sở dữ liệu này có chứa bảng DM_Loi, chứa thông tin chi tiết về các lỗ hổng bảo mật, căn cứ vào bảng này chƣơng trình sẽ dò tìm lỗi trên website và đƣa ra cảnh báo tƣơng ứng.

Hình 4.8: Cấu trúc bảng DM_Loi

5.2. Một số hàm chính đƣợc sử dụng trong chƣơng trình

Để sử dụng đƣợc W3af để đánh giá website thì chƣơng trình bắt buộc phải gọi một số hàm chính nhƣ sau:

Bên cạnh đó, để đọc dữ liệu đầu ra thì chƣơng trình sử dụng hàm sau để phân tích cấu trúc file XML:

‘Quét nội dung website:

discovery (serverHeader, dotNetErrors, webSpider) ‘Đánh giá nội dung thu thập được:

audit (LDAPi, eval, frontpage, generic, globalRedirect,

phishingVector, responseSplitting, sqli, xpath, xsrf, xss, xst)

‘Phân tích cấu trúc file XML:

Dim strTam String = File.ReadAllText("KetQuaReport.xml") strTam = Regex.Replace(strTam, "\p{C}+", "")

Dim Doc as XmlDocument = New XmlDocument() Doc.LoadXml(strTam)

Để lấy dữ liệu từ file Access ra, chƣơng trình sử dụng những hàm sau:

Để dò tìm file bị lỗi trong source chƣơng trình sử dụng thủ tục sau:

5.3. Mô tả chƣơng trình và cách sử dụng

5.3.1. Màn hình chương trình

‘Đọc cơ sở dữ liệu Access:

Dim Str As String = "Provider= Microsoft.Jet.OLEDB.4.0; Data Source = " & strPath & "DataBase_Loi.mdb"

Dim cnn As OleDbConnection

Dim da As OleDbDataAdapter

Dim dr As DataRow

Dim table As New DataTable cnn = New OleDbConnection(Str) cnn.Open()

da = New OleDbDataAdapter("SELECT * FROM dm_loi", cnn) da.Fill(table)

‘Tìm kiếm file trong đường dẫn:

Dim drInfo As DirectoryInfo = New DirectoryInfo(txtPathMaNguon.Text)

Dim folderInfo() As DirectoryInfo = drInfo.GetDirectories(strTenThuMuc, SearchOption.AllDirectories)

For Each folder As DirectoryInfo In folderInfo

Dim fileinfoKQ() As FileInfo = folder.GetFiles(strTenFile, SearchOption.TopDirectoryOnly)

If fileinfoKQ.Length > 0 Then

strPathKQ = folder.FullName & "\" & strTenFile i += 1

End If Next ‘Mở file: Try

Process.Start("notepad", strPathKQ)

Catch ex As Exception

MsgBox("Lỗi mở file: " & strPathKQ)

Hình 4.9: Giao diện của chƣơng trình Giao diện của chƣơng trình gồm có 2 phần chính:

- Phần nhập thông tin đầu vào: Bao gồm một ô nhập địa chỉ website cần đánh giá, phần chọn phạm vi đánh giá và một ô cho phép nhập đƣờng dẫn source code của trang web (nếu đƣợc ngƣời dùng cung cấp).

- Phần hiển thị kết quả: Hiển thị danh sách lỗ hổng phát hiện đƣợc, bao gồm những thông tin chi tiết sau: Tên lỗ hổng, mức độ nguy hiểm, lời khuyên để sửa chữa lỗi và vị trí của file bị lỗi.

5.3.2. Cách sử dụng

Chƣơng trình đƣợc xây dựng với tính đơn giản và dễ sử dụng nhất. Ngƣời dùng chỉ cần nhập địa chỉ website cần đánh giá và nhấn nút “Đánh giá”. Một thanh trạng thái đƣợc hiển thị để báo hiệu chƣơng trình đang thực hiện đánh giá website. Khi chƣơng trình chạy xong sẽ hiện thị danh sách các lỗ hổng ở mục kết quả.

Ngƣời dùng có thể nhấn vào tên lỗ hổng để xem chi tiết thông tin của lỗ hổng bảo mật. Nếu đƣợc cung cấp source code của website thì hãy nhập vào đƣờng dẫn nơi lƣu source code để có thể nhấn vào ô vị trí lỗi, chƣơng trình sẽ tìm kiếm trong đƣờng dẫn đƣợc cung cấp và mở ra file bị lỗi, giúp ngƣời dùng có thể sửa lỗi trực tiếp.

CHƢƠNG V: KẾT QUẢ ĐẠT ĐƢỢC VÀ ĐÁNH GIÁ

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Xây dựng công cụ đánh giá an toàn website (Trang 94 - 99)

Tải bản đầy đủ (PDF)

(103 trang)