Tải bản đầy đủ (.docx) (80 trang)

Tìm hiểu và cài Đặt các giải pháp Để Đảm bảo an toàn bảo mật một website

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.16 MB, 80 trang )

<span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Để hoàn thành bài báo cáo mơn học An tồn thơng tin với đề tài “Tìm hiểu và cài đặt các giải pháp để đảm bảo an toàn bảo mật một Website”, em xin chân thành cảm ơn và biết ơn sâu sắc đến Tiến sĩ Trương Thành Cơng – Giảng viên Bộ mơn An tồn thơng tin đã tận tình hướng dẫn, chỉ bảo và giúp đỡ em trong quá trình thực hiện bài báo cáo này.

Tuy nhiên, do sự hiểu biết cũng như kinh nghiệm của em còn hạn chế. Em rất mong sẽ được thầy quan tâm và đóng góp ý kiến để em hoàn thiện tốt hơn cho các bài báo cáo, đồ án và nghiên cứu tiếp theo của mình.

Em xin kính chúc Giảng viên phụ trách học phần – Tiến sĩ Trương Thành Công, cùng với giảng viên tham gia chấm điểm bài báo cáo này lời chúc sức khỏe và hạnh phúc nhất.

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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Công nghệ thông tin Thương mại điện tử

Structured Query Language Uniform Resource Locator Secure sockets layer

HyperText Transfer Protocol Denial of Service

Distributed Denial of service Chứng minh nhân dân

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Tập lệnh trang web chéo

Tệp được trang web người dùng truy cập tạo ra

Hệ thống mã nguồn để xuất bản Website Tên mặc định mô tả đọa chỉ máy tính

Phần mềm cho phép giả lập môi trường server

Máy chủ web Apache Tạo cơ sở dữ liệu

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Quet trang web

Là giao thức mã háo dữ liệu

Cho phép tự động sao lưu nhiều dịch vụ lưu trữ Tải về máy tính của bạn

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

WPS Hide plugin Login url

Redirection url

Quyền đối với mật khẩu

Là plugin giúp dổi đường dẫn wp admin Đăng nhập url

Chuyển hướng url

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Hình 3.4. Bitnami for XAMPP...15

Hình 3.5. Completing the XAMPP Setup Wizard...15

Hình 3.6. Bảng điều khiển XAMPP...16

Hình 3.7. Khởi động Webserver Apache và MySQL Server...16

Hình 3.8. Trang giới thiệu XAMPP...17

Hình 3.9. Tạo một thư mục tên “thutrang”...17

Hình 3.10. Thư mục sau khi giải nén mã nguồn...18

Hình 3.11. Các tập tin và thư mục mã nguồn của WordPress...18

Hình 3.12. Copy tồn bộ file và thư mục mã nguồn...19

Hình 3.13. phpMyAdmin...20

Hình 3.14. Nhập tên database...20

Hình 3.15. Menu bên trái...21

Hình 3.16. Chọn ngơn ngữ khi cài đặt WordPress...22

Hình 3.17. Giao diện nhắc nhở...22

Hình 3.18. Nhập thơng tin database...23

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Hình 3.20. Information needed...24

Hình 3.21. Success!...25

Hình 3.22. Trang quản trị của WordPress sau khi cài đặt...25

Hình 3.23. Trang chủ website sau khi cài WordPress...26

Hình 3.24. Website security check & malware scanner...26

Hình 3.25. Website khơng nhiễm virus...27

Hình 3.26. “Profile” tại mục Users...27

Hình 3.27. Nhập mật khẩu cần thay đổi...28

Hình 3.38. Login LockDown Options...33

Hình 3.39. Cập nhật cài đặt “Update Settings”...33

Hình 3.40. Cài đặt UpdraftPlus...34

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Hình 3.47. Quá trình backup file...38

Hình 3.48. Màn hình hồn tất backup file...38

Hình 3.49. 5 phần có thể tải xuống riêng lẻ...38

Hình 3.50. Download Backup file...39

Hình 3.51. Hướng dẫn tải plugin Really Simple SSL...40

Hình 3.52. Nhấn “Activate”...40

Hình 3.53. Chọn Setting tại phần plugin Really Simple SSL để cài plugin...41

Hình 3.54. Kích hoạt plugin cho web bằng cách bấm nút Active SSL...41

Hình 3.55. Chọn các nút như hình để hồn tất q trình cài đặt...42

Hình 3.56. Giao diện file wp-config.php...43

Hình 3.57. Cài đặt iThemes Security...44

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Hình 3.64. Password Protected Settings...48

Hình 3.65. Yêu cầu nhập mật khẩu...48

Hình 3.66. Cài đặt WPS Hide Plugin...49

Hình 3.67. Nhấn nút “Active”...49

Hình 3.68. Truy cập WPS Hide Plugin...50

Hình 3.69. Thiết lập WPS Hide Plugin...50

Hình 3.75. Thiết lập Web Application Firewall Status...54

Hình 3.76. Thiết lập Firewall Protection...55

Hình 3.77. Lựa chọn cấu hình server...55

Hình 3.78. Download .htaccess...56

Hình 3.79. Thơng báo hồn tất các thiết lập...56

Hình 3.80. Extended Protection...56

Hình 3.81. Nhấn “Save changes”...57

Hình 3.82. "Firewall" của Wordfence...57

Hình 3.83. Thiết lập Advanced Firewall Options...58

Hình 3.84. Thiết lập các rule...59

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Hình 3.86. "Firewall" của Wordfence...60 Hình 3.87. Thiết lập Brute Force Protection...61 Hình 3.88. Nhấn “Save changes”...61

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>LỜI CẢM ƠN...i</b>

<b>NHẬN XÉT CỦA GIẢNG VIÊN TRƯƠNG THÀNH CÔNG...ii</b>

<b>DANH MỤC TỪ VIẾT TẮT...iii</b>

<b>DANH MỤC THUẬT NGỮ ANH – VIỆT...iv</b>

<i>1.4Đối tượng nghiên cứu...2</i>

<i>1.5Phương pháp nghiên cứu...2</i>

2.2.1 Khái niệm về an toàn và an ninh mạng...7

2.2.2 Sự cần thiết phải bảo vệ thông tin...8

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

2.3.1 Tấn công từ chối dịch vụ (DOS)...8

2.3.2 SQL Injection...9

2.3.3 Local Attack...10

2.3.4 Cross Site Scripting (XSS)...10

<i>2.4Các thuật ngữ liên quan...11</i>

2.4.1 HTTP Header...11

2.4.2 Cookie...11

<b>CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU...13</b>

<i>3.1Tạo Website WordPress trên Localhost...13</i>

3.1.1 Cài đặt Localhost...13

3.1.2 Cài đặt Wordpress...18

<i>3.2Cách bảo mật an toàn Website WordPress...26</i>

3.2.1 Kiểm tra Website có đang nhiễm virus...26

3.2.7 Tắt chức năng sửa file plugin, theme trong admin...42

3.2.8 Vơ hiệu hóa XML-RPC...43

3.2.9 Cài đặt Password Protect...46

3.2.10 Đổi URL trang wp_admin...49

3.2.11 Kích hoạt tường lửa...51

<b>CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...62</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>4.2Điểm hạn chế...624.3Hướng phát triển...62</i>

<b>TÀI LIỆU THAM KHẢO...63</b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>CHƯƠNG 1: TỔNG QUAN</b>

<b>1.1Lý do chọn đề tài</b>

Ngày nay, đã có rất nhiều tiến bộ mạnh mẽ về công nghệ thông tin (CNTT) với sự bùng nổ của Internet, của thương mại điện tử (TMĐT) đã tạo ra những cơ hội lớn cũng như nguy cơ, rủi ro cho nền kinh tế và xã hội hiện đại. Các dịch vụ trên mạng đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các vấn đề truy cập bất hợp pháp, virus, rò rỉ thông tin, lổ hổng trên hệ thống… đã trở thành mối lo ngại cho các nhà quản lý điều hành ở mọi cấp ở bất kỳ quốc gia nào. Từ cấp độ cao nhất đến các doanh nghiệp cụ thể và các thể nhân cấu thành xã hội. Vấn đề bảo mật và an tồn thơng tin trở thành nhu cầu cấp thiết của mọi tầng lớp trong xã hội.

Thời gian gần đây, nước ta đã và đang ngày càng phát triển và nhất là về mặt công nghệ thông tin. Đặc biệt là về ứng dụng Website, chúng ta hầu như ai cũng từng nghe và làm việc trên ứng dụng Website. Website đã trở nên phổ biến và cũng trở thành một phần quan trọng của chúng ta và nhất là các doanh nghiệp, cơng ty. Do đó, an toàn bảo mật cho ứng dụng Website đã trở thành vấn đề cần nan giải của chúng ta.Việc đi sâu tìm hiểu về các dạng tấn cơng vào các Website sẽ giúp cho chúng ta hiểu hơn về những lổ hổng trong cơng tác quản lý Website, qua đó đưa ra những giải pháp giúp các nhà quản lý có những biện pháp khắc phục, ngăn chặn sự thâm nhập từ bên ngồi, cũng như vai trị quan trọng trong việc triển khai ứng dụng những công nghệ mới an tồn và bảo mật hơn.

<i><b>Vì vậy, em đã hướng đến đề tài bài báo cáo của mình là: “Tìm hiểu và cài đặt</b></i>

<i><b>các giải pháp để đảm bảo an toàn bảo mật một Website”. Em nghĩ đây là một đề tài</b></i>

mang tính thiết thực, nhằm giúp cho các nhà quản trị Website có thể làm tốt hơn cơng việc của mình, cũng như đảm bảo an tồn thơng tin cho doanh nghiệp, cơng ty. Ngồi ra, cũng giúp ích cho em rất nhiều trong các công việc sau này.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>1.2Mục tiêu nghiên cứu</b>

Mục tiêu nghiên cứu đề tài là tổng hợp các cơ sở lý luận cơ bản về an tồn và bảo mật thơng tin. Xem xét và đánh giá thực trạng vấn đề an tồn bảo mật thơng tin tại Website để đưa ra những ưu nhược điểm. Mục đích giúp chúng ta có thể hiểu hơn về các ứng dụng Website, các mối đe dọa về vấn đề an tồn thơng tin khi chúng ta làm việc trên ứng dụng Website hàng ngày, hiểu rõ hơn về các kỹ thuật tấn công và bảo mật Website.

<b>1.3Phạm vi của đề tài</b>

Là một đề tài nghiên cứu báo cáo môn học nên phạm vi nghiên cứu của đề tài chỉ mang tầm vi mô, giới hạn chỉ trong phạm vi nhỏ và trong giới hạn khoảng thời gian ngắn hạn (30/05/2022 đến 23/08/2022).

<b>1.4Đối tượng nghiên cứu</b>

- Tìm hiểu các cơ sở lý thuyết cơ bản về bảo mật an ninh mạng và Website, các kỹ thuật tấn công phổ biến như SQL Injection, Denial Of Service, Local Attack…

- Tìm hiểu, cài đặt một Website và đồng thời tìm hiểu các giải pháp an tồn bảo mật Website đó.

<b>1.5Phương pháp nghiên cứu</b>

 <i><b>Phương pháp nghiên c ứu t ài li ệu: </b></i>

- Dựa vào những tài liệu và thông tin thu thập trên các trang báo, trang web. - Tham khảo tài liệu về cách bảo mật thông tin các nội dung khác nhau để học hỏi

và phát triển nhằm đảm bảo an tồn bảo mật thơng tin Website.  <i><b>Phương pháp nghiên c ứu quan s át: </b></i>

- Quan sát việc bảo mật an tồn thơng tin tại Website thiết lập nói riêng, và một số Website đã được bảo mật khác nói chung, có thể tìm kiếm thông qua Internet hay các đường link quảng cáo.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

 <i><b>Phương pháp nghiên c ứu thực nghiệm:</b></i>

- Liên lạc lấy thông tin từ người dùng mạng xã hội chuyên làm về bảo mật thông tin để học hỏi kinh nghiệm.

<b>1.6Cấu trúc đề tài</b>

Nội dung chính của báo cáo gồm 4 chương: Chương 1: Tổng quát

Chương 2: Cơ sở lý thuyết Chương 3: Kết quả nghiên cứu

Chương 4: Kết luận và hướng phát triển

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT</b>

<b>2.1Tổng quan về ứng dụng Website</b>

<b>2.1.1 Khái niệm</b>

Website là một “trang web” trên mạng Internet, đây là nơi giới thiệu những thơng tin, hình ảnh về doanh nghiệp và sản phẩm, dịch vụ của doanh nghiệp (hay giới thiệu bất cứ thơng tin gì) để khách hàng có thể truy cập ở bất cứ nơi đâu, bất cứ lúc nào.

Website là tập hợp nhiều trang. Khi doanh nghiệp xây dựng Website nghĩa là đang xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ…Để tạo nên một Website cần phải có 3 yếu tố cơ bản:

+ Cần phải có tên miền (domain) + Nơi lưu trữ Website (hosting) + Nội dung các trang thơng tin

Ứng dụng web thường có kiến trúc gồm:

<i><b><small>Hình 2.1. Kiến trúc một Website</small></b></i>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

+ Hệ quản trị cơ sở dữ liệu: SQL Server, MySQL, DB2, Access…

Bên cạnh đó, một giải pháp dùng để bảo vệ một hệ thống mạng thường được sử dụng là bức tường lửa, nó có vai trị như là lớp rào chắn bên ngồi một hệ thống mạng, vì chức năng chính của Firewall là kiểm sốt luồng thơng tin giữa các máy tính. Có thể xem Firewall như một bộ lọc thơng tin, nó xác định và cho phép một máy tính này có đươc truy xuất đến một máy tính khác hay khơng, hay một mạng này có được truy xuất đến mạng kia hay không. Firewall thường được dùng cho mục đích:

+ Cho phép hoặc cấm những dịch vụ truy xuất ra ngoài.

+ Cho phép hoặc cấm những dịch vụ từ bên ngoài truy cập vào trong. + Kiểm soát địa chỉ truy cập, cấm địa chỉ truy cập.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Nhờ hoạt động dựa trên gói IP nên Firewall kiểm soát được việc truy cập của máy người sử dụng.

Đầu tiên trình duyệt sẽ gửi một u cầu (request) đến trình chủ Website thơng qua các lệnh cơ bản GET, POST…của giao thức HTTP, trình chủ lúc này cho thực thi một chương trình được xây dựng từ nhiều ngơn ngữ như C/C++, Perl…hoặc trình chủ yêu cầu bộ diễn dịch thực thi các trang ASP, JSP…theo yêu cầu của trình khách. Tùy theo các tác vụ của chương trình được cài đặt mà nó xử lý, tính tốn, kết nối đến cơ sở dữ liệu, lưu các thơng tin do trình khách gửi đến…và từ đó trả về cho trình khách 1 luồng dữ liệu có định dạng theo giao thức HTTP, gồm 2 phần:

+ Header: mơ tả các thơng tin về gói dữ liệu và các thuộc tính, trạng thái trao đổi giữa trình duyệt và WebServer.

+ Body: là phần nội dung dữ liệu mà Server gửi về Client, nó có thể là một file HTML, một hình ảnh, một đoạn phim hay một văn bản bất kỳ.

Theo mơ hình kiến trúc một ứng dụng Website, luồng thơng tin giữa trình chủ và trình khách của Firewall là luồng thông tin hợp lệ. Nếu hacker tìm thấy vài lỗ hổng trong ứng dụng Website thì Firewall khơng cịn hữu dụng trong việc ngăn chặn hacker. Do đó, các kỹ thuật tấn cơng vào một hệ thống ngày nay đang dần tập trung vào những sơ suất (lỗ hổng) trong quá trình tạo ứng dụng của những nhà phát triển Website hơn là tấn công trực tiếp vào hệ thống mạng, hệ điều hành. Tuy nhiên, hacker cũng có thể lợi dụng lỗ hổng Website để mở rộng sự tấn cơng của mình vào các hệ thống không liên quan khác.

<b>2.1.3 Các dịch vụ và ứng dụng trên nền tảng Website</b>

Với thời đại công nghệ ngày nay, Website không chỉ đơn giản là một trang tin cung cấp các tin bài đơn giản. Những ứng dụng viết trên nền Website không chỉ được gọi là một phần của Website nữa, giờ đây chúng được gọi là phần mềm viết trên nền Website. Có rất nhiều phần mềm chạy trên nền Website như Google Word (xử lý văn

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

bản), Google Sheets (xử lý bảng tính), Gmail…Những ưu điểm của ứng dụng, phần mềm chạy trên nền web như:

+ Phần mềm luôn luôn được cập nhật vì chúng chạy trên server.

+ Mọi người đều có trình duyệt và chúng ta chỉ cần trình duyệt để chạy phần

<b>2.2.1 Khái niệm về an toàn và an ninh mạng</b>

Trong quá khứ, an ninh thông tin là một thuật ngữ được sử dụng để mô tả các biện pháp bảo mật vật lý được sử dụng để giữ cho chính phủ hay doanh nghiệp những thơng tin quan trọng khỏi bị truy cập bởi công chúng và để bảo vệ nó chống lại thay đổi hoặc tiêu hủy. Những biện pháp này bao gồm lưu trữ tài liệu có giá trị trong tủ hồ sơ đã bị khóa hoặc két và hạn chế truy cập vật lý đến các khu vực nơi mà các tài liệu đã được lưu giữ. Với sự phổ biến của máy tính và các phương tiện truyền thông điện tử, cách truy cập dữ liệu cũ thay đổi. Khi công nghệ tiếp tục phát triển, hệ thống máy tính được kết nối với nhau để tạo thành mạng máy tính, cho phép các hệ thống chia sẻ tài nguyên, bao gồm cả dữ liệu.

Các mạng máy tính cuối cùng, mà hầu hết các liên kết nối mạng máy tính truy cập cơng cộng, là Internet. Mặc dù các phương pháp bảo vệ dữ liệu đã thay đổi đáng kể, khái niệm về an ninh mạng vẫn giống như là các thông tin bảo mật.

Bởi vì máy tính có thể thu hồi, và số tiền quá lớn của dữ liệu, chúng được sử dụng trong gần như mọi khía cạnh của cuộc sống. Máy vi tính, mạng, và Internet là một phần

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

không thể thiếu của nhiều doanh nghiệp. Sự phụ thuộc của chúng trên các máy tính tiếp tục tăng khi các doanh nghiệp và cá nhân trở nên thoải mái hơn với công nghệ và tiến bộ công nghệ như là làm cho hệ thống thân thiện với người dùng hơn và dễ dàng hơn để kết nối.

Một hệ thống máy tính duy nhất u cầu các cơng cụ tự động để bảo vệ dữ liệu trên hệ thống từ những người dùng có quyền truy cập hệ thống. Một hệ thống máy tính trên mạng (một hệ thống phân phối) đòi hỏi rằng dữ liệu vào hệ thống đó được bảo vệ khơng chỉ từ truy cập địa phương mà còn từ các truy cập từ xa trái phép và từ chặn hoặc thay đổi dữ liệu trong quá trình truyền giữa các hệ thống. An ninh mạng khơng phải là một sản phẩm, quy trình, hay chính sách mà là sự kết hợp của các sản phẩm và quy trình có hỗ trợ một chính sách quy định. Mạng lưới an ninh được thực hiện của các thiết bị an ninh, chính sách và quy trình để ngăn chặn truy cập trái phép vào tài nguyên mạng, thay đổi hoặc hủy hoại tài nguyên hoặc dữ liệu.

<b>2.2.2 Sự cần thiết phải bảo vệ thông tin</b>

Trong một doanh nghiệp hay một tổ chức nào đó, thì phải có các yếu tố cần được bảo vệ như: Dữ liệu; Tài nguyên: con người, hệ thống và đường truyền; Danh tiếng của cơng ty.

Nếu khơng đặt vấn đề an tồn thơng tin lên hàng đầu thì khi gặp phải sự cố thì tác hại đến doanh nghiệp khơng nhỏ như: Tốn kém chi phí và thời gian, ảnh hưởng đến tài nguyên hệ thống, ảnh hưởng đến danh dự, uy tín của doanh nghiệp, mất cơ hội kinh doanh.

<b>2.3Các hình thức tấn công </b>

<b>2.3.1 Tấn công từ chối dịch vụ (DOS)</b>

Tấn công kiểu DoS là kiểu tấn công làm cho các dịch vụ mạng bị tê liệt, khơng cịn khả năng đáp ứng được yêu cầu nữa. Loại tấn công này ảnh hưởng đến nhiều hệ thống, rất dễ thực hiện và lại rất khó bảo vệ hệ thống khỏi kiểu tấn công DoS. Thông

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

thường, kiểu tấn công DoS dựa trên những giao thức (protocol). Ví dụ với giao thức là ICMP, hacker có thể sử dụng bomb e-mail để gửi hàng ngàn thông điệp email với mục đích tiêu thụ băng thơng để làm hao hụt tài nguyên hệ thống trên mail server. Hoặc có thể dùng phần mềm gửi hàng loạt yêu cầu đến máy chủ khiến cho máy chủ không thể đáp ứng những yêu cầu chính đáng khác.

<i><b>Những khả năng bị tấn công bằng DOS:</b></i>

+ Tấn công trên SWAP SPACE: Hầu hết các hệ thống đều có vài trăm MB khơng gian chuyển đổi (swap space) để phục vụ cho những yêu cầu từ máy khách. Swap space thường dùng cho các tiến trình con có thời gian ngắn nên DoS có thể được dựa trên phương thức làm tràn đầy swap space.

+ Tấn công trên BANDWIDTH: Phần băng thông dành cho mỗi hệ thống là giới hạn, vì thế nếu hacker cùng lúc gửi nhiều yêu cầu đến hệ thống thì phần băng thơng khơng đủ đáp ứng cho một khối lượng dữ liệu lớn đó và dẫn đến hệ thống bị phá vỡ.

+ Tấn công vào RAM: Tấn công Dos chiếm 1 khoảng lớn của RAM cũng có thể gây ra các vấn đề phá hủy hệ thống. Kiểu tấn cơng BufferOverflow là một ví dụ cho cách phá hủy này.

+ Tấn công vào DISKS: Một kiểu tấn công cổ điển là làm đầy đĩa cứng. Đĩa cứng có thể bị tràn và không thể được sử dụng nữa.

<b>2.3.2 SQL Injection</b>

SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để “tiêm vào” (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn cơng có thể thực hiện các thao tác xóa, hiệu chỉnh,… do có tồn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy. Lỗi này

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase.

<b>2.3.3 Local Attack</b>

Local attack là một trong những kiểu hack rất phổ biến và có mức độ nguy hiểm rất cao. Đối một web server thông thường khi bạn đăng ký một tài khoản trên server nào đó bạn sẽ được cấp một tài khoản trên server đó và một thư mục để quản lý site của mình. Ví dụ: tenserver/tentaikhoancuaban. Và như vậy cũng có một tài khoản của người dùng khác tương tự như: tenserver/taikhoan1. Giả sử tài khoản 1 bị hacker chiếm được thì hacker có thể dùng các thủ thuật, các đoạn scrip, các đoạn mã lệnh để truy cập sang thư mục chứa site của bạn là tenserver/taikhoancuaban. Và cũng theo cách này hacker có thể tấn cơng sang các site của người dùng khác và có thể lấy thông tin admin, database, các thông tin bảo mật khác hoặc chèn các đoạn mã độc vào trang index của site bạn. Dạng tấn công trên gọi là Local Attack.

Thông thường nhất, Local Attack được sử dụng để đọc lấy thơng tin config từ victim, sau đó dựa vào thơng tin ở config và mục đích của hacker để phá hoại Website.

<b>2.3.4 Cross Site Scripting (XSS)</b>

Phương pháp Cross Site Scripting (được viết tắt là XSS) là phương pháp tấn công bằng cách chèn thêm những đoạn mã có khả năng đánh cắp hay thiết lập được những thông tin quan trọng như cookies, mật khẩu,… vào mã nguồn ứng dụng web để từ đó chúng được chạy như là một phần của ứng dụng web và có chức năng cung cấp hoặc thực hiện những những điều hacker muốn.

Phương pháp này không nhằm vào máy chủ hệ thống mà chủ yếu tấn cơng trên chính máy người sử dụng. Hacker sẽ lợi dụng sự kiểm tra lỏng lẻo từ ứng dụng và hiểu biết hạn chế của người dùng cũng như biết đánh vào sự tò mò của họ dẫn đến người dùng bị mất thông tin một cách dễ dàng.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Thông thường hacker lợi dụng địa chỉ URL để đưa ra những liên kết là tác nhân kích hoạt những đoạn chương trình được viết bằng ngôn ngữ máy khách như VBScript, JavaScript…được thực thi trên chính trình duyệt của nạn nhân.

<b>2.4Các thuật ngữ liên quan2.4.1 HTTP Header</b>

HTTP header là phần đầu (header) của thông tin mà trình khách và trình chủ gửi cho nhau. Những thơng tin trình khách gửi cho trình chủ được gọi là HTTP requests (u cầu) cịn trình chủ gửi cho trình khách là HTTP responses (trả lời). Thơng thường, một HTTP header gồm nhiều dòng, mỗi dòng chứa tên tham số và giá trị. Một số tham số có thể được dùng trong cả header yêu cầu và header trả lời, cịn số khác thì chỉ được dùng riêng trong từng loại.

<b>2.4.2 Cookie</b>

Cookie là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa trình chủ và trình duyệt của người dùng. Các cookie được lưu trữ dưới những file dữ liệu nhỏ dạng text, được ứng dụng tạo ra để lưu trữ, truy tìm, nhận biết các thông tin về người dùng đã ghé thăm trang Web và những vùng mà họ đi qua trong trang. Những thơng tin này có thể bao gồm tên, định danh người dùng, mật khẩu, sở thích, thói quen...cookie được trình duyệt của người dùng chấp nhận lưu trên đĩa cứng của máy mình, tuy nhiên khơng phải lúc nào trình duyệt cũng hỗ trợ cookie, mà còn tùy thuộc vào người dùng có chấp nhận chuyện lưu trữ đó hay khơng.

Ở những lần truy cập sau đến trang Website đó, ứng dụng có thể dùng lại những thong tin trong cookie (như thông tin liên quan đến việc đăng nhập vào Yahoo Messenger!...) mà người dùng không phải làm lại thao tác đăng nhập hay phải cũng cấp lại các thông tin khác.

Cookie được phân làm 2 loại secure/non-secure và persistent/non-persistent do đó ta sẽ có 4 kiểu cookie là:

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

+ Persistent cookies được lưu trữ dưới dạng tập tin .txt (ví dụ trình duyệt Netscape Navigator sẽ lưu các cookie thành một tập tin cookie.txt còn Internet Explorer sẽ lưu thành nhiều tập tin *.txt trong đó mỗi tập tin là một cookie) trên máy khách trong một khoảng thời gian xác định.

+ Non-persistent cookie thì được lưu trữ trên bộ nhớ RAM của máy khách và sẽ bị hủy khi đóng trang web hay nhận được lệnh hủy từ trang web.

+ Secure cookies chỉ có thể được gửi thơng qua HTTPS (SSL).

+ Non-Secure cookie có thể được gửi bằng cả hai giao thức HTTPS hay HTTP.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU</b>

<b>3.1Tạo Website WordPress trên Localhost</b>

<b>3.1.1 Cài đặt Localhost</b>

Để cài đặt WordPress vào Localhost, chúng ta cần cài đặt một Localhost hồn chỉnh. Có rất nhiều cách để cài Localhost, tuy nhiên chúng ta sẽ dùng phần mềm XAMPP để cài Localhost vì XAMPP là phần mềm được sử dụng hồn tồn miễn phí và dễ sử dụng.

Để tải XAMPP, ta truy cập vào và chọn phiên bản XAMPP phù hợp với hệ điều hành của máy tính đang sử dụng.

<i><b><small>Hình 3.3. Phiên bản tải XAMPP</small></b></i>

Sau khi tải file cài đặt về xong, ta cho chạy file đó, sau đó chọn “Next”.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<i><b><small>Hình 3.4. Setup XAMPP</small></b></i>

Ở phần “Select a folder”, hãy chọn đường dẫn cần lưu cài đặt của XAMPP. Lưu ý rằng đường dẫn này ta cần phải nhớ vì khi cài đặt Website lên Localhost, ta phải truy cập vào thư mục này. Lời khuyên ta nên để mặc định là c:\xampp. Tiếp tục ấn “Next”.

<i><b><small>Hình 3.5. Installation folder</small></b></i>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Ở trang kế tiếp, ta bỏ chọn phần “Learn more about Bitnami for XAMPP”. Và ấn “Next” 2 lần nữa để bắt đầu quá trình cài đặt XAMPP.

<i><b><small>Hình 3.6. Bitnami for XAMPP</small></b></i>

Sau khi cài xong, ấn nút “Finish” để kết thúc cài đặt và mở bảng điều khiển của XAMPP. Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng khơng khởi động được Localhost.

<i><b><small>Hình 3.7. Completing the XAMPP Setup Wizard</small></b></i>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

 <b>Khởi động Localhost</b>

Vào thư mục “c:\xampp” và mở file “xampp-panel.exe” lên để bật bảng điều khiển của XAMPP.

<i><b><small>Hình 3.8. Bảng điều khiển XAMPP</small></b></i>

Ta để ý sẽ thấy hai ứng dụng Apache và MySQL có nút “Start”, đó là dấu hiệu bảo 2 ứng dụng này chưa được khởi động, hãy ấn vào nút “Start” của từng ứng dụng để khởi động Webserver Apache và MySQL Server lên thì mới chạy được Localhost.

Nếu cả hai ứng dụng chuyển sang màu xanh như hình dưới là đã khởi động thành cơng.

<i><b><small>Hình 3.9. Khởi động Webserver Apache và MySQL Server</small></b></i>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Sau khi khởi động xong, tiếp tục truy cập vào Website với địa chỉ là “http://localhost” sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới.

<i><b><small>Hình 3.10. Trang giới thiệu XAMPP</small></b></i>

 <b>Thao tác trên Localhost</b>

<i>+ Làm việc với thư mục và tập tin : </i>

Vào thư mục C:\xampp\htdocs\ và tạo một thư mục tên “thutrang”, thư mục này sẽ chứa Website.

<i><b><small>Hình 3.11. Tạo một thư mục tên “thutrang”</small></b></i>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Người dùng có thể sử dụng đường dẫn http://localhost/thutrang để chạy. Có thể nói, thư mục “C:\xampp\htdocs\thutrang” chính là thư mục gốc của tên miền http://localhost/thutrang

<b>3.1.2 Cài đặt Wordpress </b>

Bước 1: Tải mã nguồn từ Website Wordpress.org

Trước tiên, người dùng hãy tải mã nguồn WordPress tại địa chỉ Sau đó, giải nén ra sẽ có được một thư mục có tên “wordpress” như hình dưới.

<i><b><small>Hình 3.12. Thư mục sau khi giải nén mã nguồn</small></b></i>

Tiếp theo, truy cập vào thư mục “wordpress”, ta sẽ thấy có một số thư mục tên là wp-admin, wp-includes, wp-content và một số tập tin tên là index.php, wp-config-sample.php,…Tất cả tập tin và thư mục này được gọi là mã nguồn WordPress.

<i><b><small>Hình 3.13. Các tập tin và thư mục mã nguồn của WordPress</small></b></i>

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Bước 2: Copy mã nguồn WordPress vào Localhost

Ta copy toàn bộ file và thư mục mã nguồn phía trên vào thư mục Website trong Localhost (Ví dụ: C:\xampp\htdocs\thutrang).

<i><b><small>Hình 3.14. Copy tồn bộ file và thư mục mã nguồn</small></b></i>

Bước 3: Tạo cơ sở dữ liệu MySQL

Truy cập vào localhost với đường dẫn http://localhost/phpmyadmin. Sau đó nhấp vào menu “Databases” như hình dưới.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

<i><b><small>Hình 3.15. phpMyAdmin</small></b></i>

Sau đó ở phần “Create databsae”, nhập tên database cần tạo vào ô Database name, phần Collation hãy chọn là “utf8_unicode_ci” như hình dưới rồi ấn nút Create kế bên.

<i><b><small>Hình 3.16. Nhập tên database</small></b></i>

Tạo xong hãy nhìn bên menu tay trái, nếu nó xuất hiện tên database vừa tạo là thành cơng.

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<i><b><small>Hình 3.17. Menu bên trái</small></b></i>

Vậy bây giờ, chúng ta sẽ tạm có một databse với các thông tin như sau: + Database Host: localhost

+ Database user: root

+ Database password: trống + Database name: thutrang Bước 4: Chạy Website để cài đặt

Sau khi copy xong, hãy mở bảng điều khiển XAMPP lên và khởi động Apache và MySQL. Sau đó truy cập vào website với đường dẫn http://localhost/thutrang. Lúc này, hiện ra bảng chọn ngôn ngữ cần cài đặt cho WordPress, chọn vào “English” và nhấn “Continue”.

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<i><b><small>Hình 3.18. Chọn ngơn ngữ khi cài đặt WordPress</small></b></i>

Ở bước tiếp theo, giao diện nhắc nhở ta là chưa tiến hành đổi file “wp-config-sample.php” thành “wp-config.php” và khai báo thông tin database vào đó. Nhấn “Let’s Go” để hệ thống tiến hành cài đặt.

<i><b><small>Hình 3.19. Giao diện nhắc nhở</small></b></i>

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

Bây giờ, chúng ta tiến hành nhập thông tin database. Username của database là “root”, mật khẩu để trống (có thể thiết lập những không cần thiết) và Database Host là Localhost. Table Prefix nghĩa là tiền tố của database chưa dữ liệu WordPress, mặc định nó sẽ là “wp_”, chúng ta có thể đổi thành bất cứ tên gì những phải có dấu “_” đằng sau cùng.

<i><b><small>Hình 3.20. Nhập thơng tin database</small></b></i>

Khi nhập xong thông tin database, hãy ấn nút “Submit” để làm bước kế tiếp. Nếu bước kế tiếp hiện ra như hình phía dưới nghĩa là ta đã nhập thơng tin database chính xác, nhấn vào “Run the installation” để bắt đầu cài đặt.

<i><b><small>Hình 3.21. Run the installation</small></b></i>

</div>

×