1. Trang chủ
  2. » Tất cả

Đồ án cuối kì an toàn bảo mật thông tin đề tài khai thác lỗ hổng xss trên dvwa

25 149 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ Án Cuối Kỳ An Toàn Bảo Mật Thông Tin Đề Tài Khai Thác Lỗ Hổng XSS Trên DVWA
Tác giả Nguyễn Hoàng Bảo, Nguyễn Hoàng Phúc, Lê Văn Bình
Người hướng dẫn Ths. Lê Từ Minh Trí
Trường học Trường Đại học Thủ Dầu Một
Chuyên ngành An toàn Thông Tin
Thể loại đồ án cuối kỳ
Năm xuất bản 2021
Thành phố Thủ Dầu Một
Định dạng
Số trang 25
Dung lượng 1,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 T ổng quan về vấn đề được nghiên cứu1.1.1 Tổng quan về lỗi bảo mật XSS: Lỗi XSS rất phổ biến trong các ứng dụng web, xuất hiện khi ứng dụng nhận kèm dữ li

Trang 1

ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT – CÔNG NGHỆ

ĐỒ ÁN CUỐI KÌ

AN TOÀN BẢO MẬT THÔNG TIN

ĐỀ TÀI KHAI THÁC LỖ HỔNG XSS TRÊN DVWA

Sinh viên thực hiện: NGUYỄN HOÀNG BẢO - 1824801040023

NGUYỄN HOÀNG PHÚC - 1824801040038

LÊ VĂN BÌNH - 1824801040054 Lớp: D18HT01

Giảng viên hướng dẫn: Ths LÊ TỪ MINH TRÍ

Bình Dương, ngày 10 tháng 06 năm 2022

Trang 2

L ỜI CẢM ƠN

Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết

ơn đến thầy cô đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốt quá trình học tập và nghiên cứu đề tài này Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, em đã nhận được rất nhiều

sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè

Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô viện kỹ thuật công nghệ – Trường Đại học Thủ Dầu Một đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên đề tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp

Một lần nữa, em xin chân thành cảm ơn thầy Lê Từ Minh Trí.– người đã trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt bài báo cáo này trong thời gian qua

Bài báo cáo thực tập thực hiện trong khoảng thời gian cuối khóa học môn của thầy Bước đầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô để kiến thức của em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổ sung, nâng cao ý thức của mình

Em xin chân thành cảm ơn!

Trang 3

ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐH THỦ DẦU MỘT

Tôi xin cam đoan đây là sản phẩm đồ án của riêng tôi / chúng tôi và được sự hướng dẫn của thầy Lê Từ Minh Trí Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc

dung đồ án của mình Trường Đại học Thủ Dầu Một không liên quan đến những vi phạm tác

quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Th ủ Dầu Một, ngày 14 tháng 04 năm 2021

Trang 4

M ỤC LỤC

ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐH THỦ DẦU MỘT 2

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 4

1.1 T ổng quan về vấn đề được nghiên cứu 4

1.1.1 T ổng quan về lỗi bảo mật XSS: 4

1.2 Danh m ục các hình 6

1.2.1 Các bước thực hiện khai thác lỗi XSS 6

1.2.2 Nhi ệm vụ của tiểu luận 7

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8

2.1 An toàn thông tin ở Việt Nam hiện nay 8

2.2 Khái ni ệm về bảo mật 9

2.2.1 An toàn thông tin 9

2.2.2 Khái ni ệm lỗ hổng bảo mật 9

2.3 Tổng quan về bảo mật web (web security) 10

2.3.1 Lỗ hổng bảo mật 10

2.3.2 Phân lo ại lỗ hổng bảo mật 10

2.3.3 Cách t ấn công website 11

2.3.4 SQL Injection 11

2.3.5 Cross-Site Request Forgery (CSRF) 11

2.3.6 Cross-Site Scripting (XSS) 11

2.3.7 T ấn công từ chối dịch vụ (DDOS) 12

2.3.8 T ấn công từ chối dịch vụ (DDOS) 12

2.3.9 File Inclusion 12

2.3.10 Command Injection 13

2.4 Công c ụ triển khai các dạng tấn công web 13

CHƯƠNG 3: THỰC NGHIỆM 15

3.1 Mô tả yêu cầu 15

3.2 Th ực nghiệm 15

CHƯƠNG 4: KẾT LUẬN 19

4.1 Đã đạt được 19

4.2 Chưa đạt được 19

Trang 5

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 T ổng quan về vấn đề được nghiên cứu

1.1.1 Tổng quan về lỗi bảo mật XSS:

Lỗi XSS rất phổ biến trong các ứng dụng web, xuất hiện khi ứng dụng nhận kèm dữ liệu đầu vào từ người dùng qua trang web, rồi gửi đến người khác mà không thông qua kiểm tra và

xử lý Kẻ tấn công chèn vào các website động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác Trong đó,

những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML Từ đó, kẻ tấn công có thể thực thi được script trên trình duyệt của nạn nhân để ăn cắp hay giả mạo phiên làm việc, thêm vào nội dung xấu, chuyển kết nối, tấn công trình duyệt bằng phần mềm độc hại

Xác định lỗi XSS:

Tiến hành kiểm tra lỗi XSS với những điểm vào dự đoán từ trước như các thẻ input search, comment Thử truyền dữ liệu vào điểm vào ứng dụng, quan sát thông tin trả về để xem có mã nào gửi đi mà có xuất hiện trở lại Nếu như có xuất hiện trong phần body thì kiểm tra lỗi liên quan đến Reflected XSS Nếu xuất hiện lại trong phần header thì kiểm tra các lỗi liên quan đến HTTP Header Injection Trường hợp trong phần body xuất hiện giá trị mà đã gửi lên trong yêu cầu thì thử xem có thể thực thi được JavaScript bằng cách chèn các thẻ <script></script> Thử gửi lên một vài mã tấn công có nội dung khai thác lỗi XSS và quan sát sự phản hồi từ ứng dụng để xác định ứng dụng có áp dụng các phương thức lọc như thế nào và khả năng vượt qua Nếu như ứng dụng chặn nội dung liên quan đến các thẻ script thì thực hiện HTML- encoding để

thử xem có lọc trường hợp này hay không

Quan sát các điểm mà ứng dụng lưu trữ dữ liệu liên quan đến tài khoản người dùng Ví dụ như: phần comment, lưu thông tin như đổi tên thành viên, chữ ký

Nếu như việc lưu trữ mà không thực hiện lọc thì có thể thực hiện tấn công Store XSS Nếu như ứng dụng có lưu trữ dữ liệu do người dùng nhập vào và sử dụng kết quả hiển thị cho những lần sau thì thực hiện gửi các mã tấn công liên quan đến XSS để xem ứng dụng có bị tấn công Store XSS hay không

Các công cụ có thể phát hiện XSS một cách tự động Tuy nhiên, mỗi ứng dụng xây dựng khác nhau và sử dụng những nền tảng khác nhau như Javascript, ActiveX, Flash và Sliverlight,

Trang 6

làm cho việc phát hiện lỗi khó khắn hơn Cho nên, để đảm bảo đòi hỏi sự kết hợp giữa kiểm tra

mã nguồn, kiểm chứng lại bằng tay bên cạnh những cách thức tự động

Các bước để thực hiện xác định lỗi XSS:

Bước1: Mở website cần kiểm tra

Bước 2: Bắt đầu kiểm tra, định vị 1 ô tìm kiếm hoặc 1 login form và gửi thông tin đi (nhập thông tin và nhấn submit hay login hay ok gì đó), ví dụ nhập chữ "XSS" chẳng hạn hay chữ gì cũng được

Bước 3: Xác định khả năng site có bị lỗi XSS hay không bằng cách xem thông tin trả về:

Ví dụ thấy như thế này:

Hoặc là cái đó mà có dính tới chữ "XSS" mà nhập vào ban đầu thì rất có thể "Alert" này bị XSS Còn vài hình thức nữa:

Chú ý các ô input hay các biến ngay trên thanh address ( var=) thấy mấy cái này thì nhập dữ liệu vào Hãy thử với những script này:

Trang 7

Bước 4: Chèn code thực sự vào nơi bị lỗi:

Chèn <script>alert('XSS')</script> vào ô ban nãy và nhấn SUBMIT Nếu sau đó nhận được 1 popup có chữ "XSS" thì "Alert" này 100% bị dính XSS Nhưng xin chú ý, thỉnh thoảng vẫn có trường hợp website đó bị dính XSS nhưng vẫn không xuất hiện cái popup thì buộc lòng phải VIEW SOURCES (xem mã nguồn) nó ra để xem

Khi view sources nhớ kiểm tra dòng này <script>alert('XSS')</script>, nếu có thì hết chạy,XSS đây rồi

Vượt qua cơ chế XSS:

Trong một số trường hợp, dữ liệu trả về xuất hiện trong phần Attribute Value:

<input type="text" name="state" value="INPUT_FROM_USER">

Có thể sử dụng mã tấn công sau:

" onfocus="alert(document.cookie)

Trường hợp có sử dụng lọc, sử dụng cú pháp khác hoặc cơ chế encoding như:

Khác với các lỗi khác là gây hại trực tiếp lên hệ thống chứa web site, còn XSS lại không gây hại đến hệ thống của sever mà đối tượng tấn công chủ yếu của XSS lại là người dùng Ứng dụng Web thường lưu trữ thông tin quan trọng ở cookie Cookie là mẩu thông tin mà ứng dụng lưu trên đĩa cứng của người sử dụng Nhưng chỉ ứng dụng thiết lập ra cookie thì mới có thể đọc nó Do đó chỉ khi người dùng đang trong phiên làm việc của ứng dụng thì hacker mới có cơ hội đánh cắp cookie

Trang 8

Công việc đầu tiên của hacker là tìm trang đích để dụ người dùng đăng nhậpsau khi đã tìm ra lỗ hổng trên ứng dụng đó

Sau đây là các bước thực hiện khai thác lỗi XSS:

Bước 1: Hacker biết được người dùng đang sử dụng một ứng dụng Web có lỗ hỏng XSS Bước 2: Người dùng nhận được 1 liên kết thông qua email hay trên chính trang Web (như trên guestbook, banner dễ dàng thêm 1 liên kết do chính hacker tạo ra ) Thông thường hacker khiến người dùng chú ý bằng những câu kích thích sự tò mò của người dùng như “ Kiểm tra tài khoản”,

“Một phần thưởng hấp dẫn đang chờ ”

Bước 3: Chuyển nội dung thông tin (cookie, tên, mật khẩu ) về máy chủ của hacker

Bước 4: Hacker tạo một chương trình hoặc một trang Web để ghi nhận những thông tin đã đánh cắp vào 1 tập tin

Bước 5: Sau khi nhận được thông tin cần thiết, hacker có thể sử dụng để thâm nhập vào tài khoản của người dùng

Tiến hành kiểm tra lỗi XSS với những điểm vào dự đoán từ trước như các thẻ input search, comment Thử truyền dữ liệu vào điểm vào ứng dụng, quan sát thông tin trả về để xem có mã nào gửi đi mà có xuất hiện trở lại Nếu như có xuất hiện trong phần body thì kiểm tra lỗi liên quan đến Reflected XSS Nếu xuất hiện lại trong phần header thì kiểm tra các lỗi liên quan đến HTTP Header Injection

Trang 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Ngày nay, an ninh thông tin đã và đang đi vào mọi ngõ ngách của đời sống xã hội và dần trở thành một bộ phận quan trọng của an ninh quốc gia Nguy cơ gây mất an ninh thông tin là mối đe dọa lớn và ngày càng gia tăng đối với an ninh quốc gia Bài viết tập trung phân tích, làm

rõ tình hình an ninh thông tin ở Việt Nam trong điều kiện hiện nay, chỉ rõ những vấn đề đang đặt ra trong bảo đảm an ninh thông tin và các giải pháp trọng tâm nhằm nâng cao hiệu quả bảo đảm an ninh thông tin của Việt Nam thời gian tới Trải qua 35 năm đổi mới, hệ thống thông tin của Việt Nam có sự phát triển mạnh mẽ, phục vụ đắc lực sự lãnh đạo, quản lý, điều hành của Đảng, Nhà nước, đáp ứng nhu cầu thông tin của xã hội, góp phần đảm bảo quốc phòng, an ninh của đất nước Lĩnh vực viễn thông, Internet, tần số vô tuyến điện có sự phát triển mạnh mẽ, đạt được mục tiêu số hóa hoàn toàn mạng lưới, phát triển nhiều dịch vụ mới, phạm vi phục vụ được

mở rộng, bước đầu hình thành những doanh nghiệp mạnh, có khả năng vươn tầm khu vực, quốc

tế Hệ thống bưu chính chuyển phát, báo chí, xuất bản phát triển nhanh cả về số lượng, chất lượng và kỹ thuật nghiệp vụ, có đóng góp quan trọng cho sự phát triển kinh tế - xã hội; đảm bảo

quốc phòng, an ninh, đối ngoại của đất nước Tuy nhiên, tình hình an ninh thông tin ở Việt Nam

đã và đang có những diễn biến phức tạp Các cơ quan đặc biệt nước ngoài, các thế lực thù địch, phản động tăng cường hoạt động tình báo, gián điệp, khủng bố, phá hoại hệ thống thông tin; tán phát thông tin xấu, độc hại nhằm tác động chính trị nội bộ, can thiệp, hướng lái chính sách, pháp luật của Việt Nam Gia tăng hoạt động tấn công mạng nhằm vào hệ thống thông tin quan trọng quốc gia, hệ thống thông tin quan trọng về an ninh quốc gia Hệ thống thông tin của Việt Nam còn tồn tại nhiều điểm yếu, lỗ hổng bảo mật dễ bị khai thác, tấn công, xâm nhập; tình trạng lộ, mất bí mật nhà nước qua hệ thống thông tin gia tăng đột biến; hiện tượng khai thác, sử dụng trái phép cơ sở dữ liệu, tài nguyên thông tin quốc gia, dữ liệu cá nhân người dùng diễn biến phức tạp

Thực tế nêu trên đã làm xuất hiện nhiều nguy cơ đe dọa đến an ninh thông tin của Việt Nam ở cả bên trong và bên ngoài Ở trong nước, trước hết là nguy cơ tụt hậu về công nghệ, lệ thuộc vào công nghệ của nước ngoài, nhất là hệ thống mạng lõi; phần mềm hệ thống, dịch vụ thông tin của nước ngoài (nhất là dịch vụ mạng xã hội) dẫn tới mất chủ quyền nội dung số, tài nguyên thông tin về các công ty công nghệ nước ngoài ngày càng nghiêm trọng hơn; các đối

Trang 10

tượng cơ hội, chống đối chính trị trong nước, triệt để sử dụng mạng xã hội tán phát thông tin giả, thông tin xấu, độc nhằm gây rối nội bộ, kích động biểu tình, bạo loạn

2.2.1 An toàn thông tin

An toàn thông tin là ngành đảm nhiệm vai trò bảo vệ hệ thống thông tin, dữ liệu tránh khỏi sự tấn công của các virus, mã độc, chống lại các hành động truy cập, sửa đổi, phát tán, phá hoại dữ liệu bất hợp pháp nhằm đảm bảo cho các hệ thống thông tin thực hiện đúng chức năng, phục vụ đúng đối tượng một cách chính xác

An toàn thông tin là hành động ngăn cản, phòng ngừa sự sử dụng, truy cập, tiết lộ, chia

sẻ, phát tán, ghi lại hoặc phá hủy thông tin chưa có sự cho phép Ngày nay vấn đề an toàn thông tin được xem là một trong những quan tâm hàng đầu của xã hội, có ảnh hưởng rất nhiều đến hầu hết các ngành

2.2.2 Khái niệm lỗ hổng bảo mật

Lỗ hổng bảo mật (tiếng Anh: vulnerability) là một khái niệm phổ biến trong giới an toàn thông

tin Có rất nhiều định nghĩa khác nhau về lỗ hổng, nhưng tất cả đều có điểm chung là ám chỉ một điểm yếu (kỹ thuật hoặc phi kỹ thuật) của một phần mềm, phần cứng, giao thức, hay một hệ thống thông tin

Dưới đây là một số định nghĩa về lỗ hổng bảo mật:

Vi ện Tiêu chuẩn và Công nghệ Quốc gia (NIST): Điểm yếu trong hệ thống thông

tin, quy trình bảo mật hệ thống, kiểm soát nội bộ hoặc công tác triển khai có thể bị khai thác bởi tác nhân gây hại

ISO 27005: Điểm yếu của một tài sản hoặc nhóm tài sản có thể bị khai thác bởi một hoặc nhiều mối đe dọa trên mạng, trong đó tài sản là bất cứ thứ gì có giá trị đối với tổ chức, hoạt động kinh doanh của tổ chức và tính liên tục của những hoạt động đó, bao gồm các tài nguyên thông tin hỗ trợ sứ mệnh của tổ chức

IETF RFC 4949: Một lỗ hổng hoặc điểm yếu trong thiết kế, triển khai hoặc vận hành

và quản lý của hệ thống có thể bị khai thác để vi phạm chính sách bảo mật của hệ thống

Trang 11

ENISA: Sự tồn tại của một điểm yếu, thiết kế hoặc lỗi triển khai có thể dẫn đến một

sự cố không mong muốn làm tổn hại đến bảo mật của hệ thống máy tính, mạng, ứng dụng hoặc giao thức liên quan

The Open Group: Xác suất khả năng của mối đe dọa vượt quá khả năng chống lại mối đe dọa đó

Phân tích nhân t ố về rủi ro thông tin: Xác suất một tài sản sẽ không thể chống lại

hành động của một tác nhân đe dọa

ISACA: Một điểm yếu trong thiết kế, triển khai, vận hành hoặc kiểm soát nội bộ

2.3 Tổng quan về bảo mật web (web security)

Hiện nay, bảo mật thông tin đang là thách thức rất lớn đối với các nhà nghiên cứu chuyên gia trong ngành, bởi các lỗ hổng và phương thức khai thác lỗ hổng ngày càng phức tạp và tinh

vi Phần lớn (hơn 70%) các website dễ dàng bị tấn công và ngay cả các quản trị viên cũng không biết trang web mình đã bị tổn thương hay nắm các phương pháp kiểm tra, dò quét thích hợp nhằm tìm ra các điểm yếu bảo mật, những lỗ hổng để có thể vá lại Nhiều lỗi đã tồn tại lâu dài đến cả chục năm vẫn chưa được vá Điển hình các vụ như các trang web của Bộ Giáo Dục bị hacker thay bằng hình ảnh trái phép, hoặc hacker tấn công dữ liệu mạng Đại học Y Dược Cần Thơ, Hacker tấn công vào website sân bay Tân Sơn Nhất Ngày càng nhiều trang web bị hacker tấn công thay đổi nội dung (deface), chèn mã độc hay làm ảnh hưởng đến uy tín , hình ảnh của doanh nghiệp

2.3.1 Lỗ hổng bảo mật

Lỗ hổng bảo mật là các điểm yếu trên website, có thể gây ra do: lỗi cấu hình, phân quyền cho website, lỗi lập trình của người lập trình, lỗi nằm trong các hệ thống, thành phần tích hợp Tin tặc có thể lợi dụng các lỗ hổng này để khai thác và tấn công phá hoại website

2.3.2 Phân loại lỗ hổng bảo mật

Có ba loại lỗ hổng bảo mật:

- Lỗ hổng loại C: cho phép thực hiện tấn công kiểu DoS (Denial of Services – từ chối dịch vụ) làm ảnh hưởng tới chất lượng dịch vụ, ngưng trệ, gián đoạn hệ thống, nhưng không phá hỏng dữ liệu hoặc đạt được quyền truy cập hệ thống

- Lỗ hổng loại B: lỗ hổng cho phép người sử dụng có thêm các quyền truy cập hệ thống

mà không cần kiểm tra tính hợp lệ dẫn đến lộ, lọt thông tin

Trang 12

- Lỗ hổng loại A: cho phép người ngoài hệ thống có thể truy cập bất hợp pháp vào hệ thống,

có thể phá hủy toàn bộ hệ thống

2.3.3 Cách tấn công website

Tùy vào mỗi dạng tấn công web khác nhau mà quá trình tấn công sẽ có các bước cụ thể khác nhau Tuy nhiên nhìn chung, quá trình tấn công một mục tiêu thường được khái quát qua 3 giai đoạn:

 Giai đoạn 1: Thu thập thông tin

 Giai đoạn 2: Phân tích và hành động

 Giai đoạn 3: Dừng và xóa dấu vết

2.3.5 Cross-Site Request Forgery (CSRF)

Cross-site Request Forgery (CSRF) là kiểu tấn công lừa người sử dụng thực hiện một hành động

mà họ không mong muốn lên ứng dụng web, bằng chính quyền của người dùng đó Sử dụng một

số thủ thuật social engineering đơn giản (như gửi link qua email, chát), hacker có thể lừa người dùng thực hiện một số tác vụ lên ứng dụng web bị lỗi CSRF như: xóa bài, thêm người dùng, thay đổi email, thay đổi mật khẩu của victim Nếu người bị lừa là Admin, thì hacker hoàn toàn

có thể chiếm quyền điều khiển ứng dụng web đó

2.3.6 Cross-Site Scripting (XSS)

XSS một kỹ thuật tấn công bằng cách chèn vào những website động (ASP, PHP,CGI,…) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây hại cho những người sử dụng khác Trong đó những đoạn mà nguy hiểm thường được viết bằng các Client Site Script như:

Ngày đăng: 31/01/2023, 18:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w