CHUONG 1: TONG QUAN DE TAI 1.1 Tong quan vé van dé duoc nghién ciru 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ữ l
Trang 1
DAI HOC THU DAU MOT
VIEN KY THUAT — CÔNG NGHỆ
DALI Ja Cc JE
THU DAU MOT
2009 THU DAU MOT UNIVERSITY
DO AN CUOI Ki
AN TOAN BAO MAT THONG TIN
DE TAI
KHAI THAC LO HONG XSS TREN 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: DI8HTO1
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 2LOI CAM ON
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
on dén thay 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 tườ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 3DO AN ĐƯỢC HOÀN THÀNH TẠI TRUONG DH THU DAU MOT
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
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội
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 4MUC LUC
ĐỎ ÁN ĐƯỢC HỒN THẢNH TAI TRUONG DH THU DAU MOT 2
1.2.1 Các bước thực hiện khai thác lỗi XSS 6
2.1 An toan théng tin 6 Viet Nam hién nay 8
2.3 Téng quan vé bao mat web (web security) 10 2.3.1 nã" 6 n6 số 6 .“-4äŒÄäAäA, HDHHHH , 10 2.3.2 Phân loại lỗ hỗng bảo mật -. - 52 S22 2H 1211222 22 1 1E re 10 2.3.3 Cách tấn cơng websife -. ch n2 g1 H1 ye 11 P00) nh ố a 11 2.3.5 Cross-Site Request Forgery (CSRE) LH HH HH HH Hà TH ki 11 2.3.6 Cross-Site Scripting (XSS) HH HH HH HH TH Hà TH Tà Hà HT TH hư 11 2.3.7 Tan cong từ chối dịch vụ (DDOS) 0 c2 HH1 212 1 eerve 12 2.3.8 Tan cong từ chối dịch vụ (DDOS) 0 S102 2 1 eerve 12
2.3.10 Command ÏInje€CfÏOII - nh TT TT Thu TT Thu HT TH TH TT HT Ti Hà tk 13 2.4 Cơng cụ triển khai các dạng tấn cơng web - 0c 22t t1 1221211222 1111 re 13 CHUONG 3: THUC NGHIEM 080808 15
kŠXÃ 2.08 15 0010019))0018.400000/0 0° ”444 ,ƠỊ 19 4.1 Đã đạt được LH HH Hà HH HH Hà KH tà TL Tà kh Tà Tà TH Tà TH HT TH 19 4.2 Chưa đạt được LH HH HH HH Hà Hà Làn Hà TT Hà TT TH HT TH Tà TH Hy
TÀI LIỆU THAM THẢO
Trang 5CHUONG 1: TONG QUAN DE TAI
1.1 Tong quan vé van dé duoc nghién ciru
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, IScript, 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 dé an cap 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ẻ <seript></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 dung dé 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 thi 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ị tan 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 6là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:
"Your search for ‘XSS' did not find any items”
"Your search for 'XSS' returned the following results"
"User 'XSS' is not valid"
‘ "Thvalid login 'X$S""
Hoặc là cai đó mà có dính tới chữ "XSS" mà nhập vào ban đầu thì rat có thé "Alert" nay bi 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:
<script>alert('XSS')</script>
<i*g csstest=javascript:alert('XSS')>
&{alert('XSS')};
Trang 7Bước 4: Chèn code thực sw vao noi bi 16i:
Chèn <script>alert(XSS'</script> vào ô ban nãy và nhân SUBMIT Nếu sau đó nhận duoc 1 popup c6 chit "XSS" thi "Alert" nay 100% bi dinh XSS Nhung xin chú ý, thỉnh thoảng van 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 sourees nhớ kiểm tra dòng này <seript>alert(*'XSS')</seript>, 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ư:
"aacscriptisealert(docunent cookie)A3c/scripti3e
")<ScRiPtyalert (document cookie)</ScRiPt)
"<script dalert{docunent cookie)</script ›
1.2 Danh muc cac hinh
1.2.1 Các bước thực hiện khai thác lỗi XSS
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ơ
Trang 8Cô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 I: 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 I 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 I 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 cap vao | tap tin
Bước 5: Sau khi nhận được thông tin cần thiết, hacker co thé sử dụng đề thâm nhập vào tài khoản của người dùng
1.2.2 Nhiệm vụ của tiểu luận
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 tra vé dé xem co 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 lai trong phan header thì kiểm tra các lỗi liên quan đến HTTP Header Injection
Trang 9CHUONG 2: CO SO LY THUYET
2.1 An toàn thông tin ở Việt Nam hiện nay
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 dat ra trong bao dam 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 Ga 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ố, tai 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 10tượ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 phat thong tin gia,
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 Khái niệm về bảo mật
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ậi:
« _ 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
«_ IETE 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ê đẫ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é dang bị tan công và ngay cả các quan 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- L6héng loai 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
Các dạng tân công cơ bản
Các dạng tắn công web phố biến
2.3.5 Cross-Site Request Forgery (CSRF)
Cross-site Request Forgery (CSRF) 1a 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 đó