1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng lập trình web asp net với c chương 9 th s phạm đào minh vũ

55 6 0

Đ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 đề Bảo Mật Và Quản Trị Website
Tác giả Phạm Đào Minh Vũ
Người hướng dẫn Th.S Phạm Đào Minh Vũ
Trường học Trường CĐ CNTT TpHCM
Chuyên ngành CNTT
Thể loại bài giảng
Thành phố TP.HCM
Định dạng
Số trang 55
Dung lượng 10,79 MB

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

Nội dung

9.1.1 Giới thiệu chung trọng vào giao diện, tính ứng dụng, tốc độ bao gồm tốc độ xử lý và băng thông, … mà quên mất rằng độ bảo mật của ứng dụng và web server mới là điều quan trọng mang

Trang 1

Giảng Viên: Th.S Phạm Đào Minh Vũ Email: phamdaominhvu@yahoo.com

1

LẬP TRÌNH WEB ASP.NET VỚI C#

Trang 2

Chương 9 Bảo mật và Quản Trị Website

1 Bảo mật Website

2 Quản trị Website

Trang 3

389

9.1 BẢO MẬT WEB

Khoa CNTT Trường CĐ CNTT TP.HCM Written by: Phạm Đào Minh Vũ

Bảo mật ứng dụng Web

Bảo mật Web Server

Trang 4

9.1.1 Giới thiệu chung

trọng vào giao diện, tính ứng dụng, tốc độ (bao gồm tốc độ xử lý và băng thông), … mà quên mất rằng độ bảo mật của ứng dụng và web server mới là điều quan trọng mang tính sống còn đối với 1 doanh nghiệp

năng xuất hiện lỗi và bị tấn công càng cao

 Các cuộc tấn công mang nhiều mục đích khác nhau,

có thể là đánh cắp thông tin, phá hoại hoặc đôi khi chỉ

là đùa giỡn

Trang 5

391

 Khi nói đến vấn đề bảo mật, các chuyên gia đều chú trọng đến sự an toàn của hệ thống mạng và hệ điều hành Tuy nhiên, theo thống kê thì hơn 70% các cuộc tấn công là thông qua Internet (lợi dụng lỗ hổng bảo mật) và giá trị thiệt hải ước tính hàng tỷ USD mỗi năm

của phần cứng lẫn phần mềm, cài đặt virus, worm, trojan, lỗi nghiệp vụ của lập trình viên, … để thực hiện các cuộc tấn công

Khoa CNTT Trường CĐ CNTT TP.HCM

Trang 7

393

9.1 BẢO MẬT ỨNG DỤNG WEB

Khoa CNTT Trường CĐ CNTT TP.HCM Written by: Phạm Đào Minh Vũ

Là 1 dạng tấn công phá hoại, mục tiêu là các ứng dụng Web trên Server

Mục đích của việc tấn công có thể là do phá hoại, đánh cắp thông tin, thay đổi nội dung website, …

Trang 9

395

1 SQL-INJECTION

đoạn mã SQL cho phép khai thác lỗ hổng bảo mật tồn tại trong cơ sở dữ liệu của một ứng dụng

trojan, backdoor, DDoS, Proxy …

Khoa CNTT Trường CĐ CNTT TP.HCM

Trang 10

2.1 SQL-INJECTION – Các dạng tấn công

1 By pass : bằng pass

Code: trang Login.aspx.cs

String vUsrName, vPassword;

vUsrName = Request.Form("fUSRNAME")

vPassword = Request.Form("fPASSWORD")

strSQL = "SELECT * FROM T_USERS WHERE

USR_NAME=' " & vUsrName & _ " ' and USR_PASSWORD=' " & vPassword & " ' "

Trang 11

397

1 SQL-INJECTION

Khoa CNTT Trường CĐ CNTT TP.HCM

User: admin & Pass: 123

User: abc ‟ or 1=1 or 1=„ ‟&

Luôn luôn đăng nhập được

Trang 12

2.1 SQL-INJECTION – Các dạng tấn công

Các dạng truy vấn:

' or 1=1 ' or 1=1#

' or 1=1/*

') or '1'='1 ') or ('1'='1

' or 1=1

" or 1=1

or 1=1 ' or 'a'='a

" or "a"="a ') or ('a'='a

Trang 13

399

2.1 SQL-INJECTION – Các dạng tấn công

2 Sử dụng câu lệnh SELECT

Kẻ tấn công phải có khả năng hiểu và lợi dụng

sơ hở trong các thông báo lỗi từ hệ thống để

Trang 14

2.1 SQL-INJECTION – Các dạng tấn công

3 Sử dụng câu lệnh UNION

AUTHOR_NAME =' " & _ vAuthorName & " ' "

Nhập vào :

' UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ' '='

Nếu hệ thống báo : invalid object name

“OtherTable” thì có nghĩa câu truy vấn union đã được thực hiện Việc còn lại là tìm table tương ứng để tấn công:

' UNION SELECT name FROM sysobjects WHERE xtype = 'U' => trả về tất cả các table

Trang 15

SELECT * FROM users WHERE username = „

„; Insert into users (id, username, password)

values (NULL,„firewall‟,‟hacker‟) ; SELECT *

FROM DATA WHERE „1' = „1‟;

Khoa CNTT Trường CĐ CNTT TP.HCM

Trang 16

2.1 SQL-INJECTION – Các dạng tấn công

4 Sử dụng Store Procedure

Dạng tấn công sử dụng stored-procedures

master xp_cmdshell to perform remote

a„;exec master xp_cmdshell “đặt lệnh vào đây” –

Trang 18

2.1 SQL-INJECTION – Cách Phòng Chống

4 Cập nhật công nghệ:

asp, aspx sql2000 > sql2005 Nâng cấp: IIS, PHP, Apache, Mysql, Mssql

Trang 19

405

3 HTTP RESPONSE SPLITTING

 Lỗi HTTP Response Splitting tấn công vào ứng

dụng web và diễn ra khi nó không thể xử lý đúng các thông tin đầu vào người dùng nhập

 Kẻ tấn công từ xa có thể gửi một yêu cầu HTTP

đặc biệt làm cho máy chủ web định dạng yêu cầu nhầm tưởng rằng nó chứa 2 yêu cầu HTTP chứ không phải một

 Chỉ yêu cầu thứ nhất được xử lý bởi người sử

dụng HTTP Response Splitting cho phép tiến hành một lượng lớn các cuộc tấn công kiểu như web cache poisioning, deface, “cross-user

defacement”, chặn và ăn cắp thông tin người dùng và Cross site Scritpting

Khoa CNTT Trường CĐ CNTT TP.HCM

Trang 20

4 DIRECTORY TRAVERSAL

 Directory traversal hay còn được biết với một số tên khác

như “dot-dot-slash”, “Path Traversal”,”directory clumbing” và

“backtracking” là hình thức tấn công truy cập đến những file

và thư mục mà được lưu bên ngoài thư mục webroot

 Hình thức tấn công này không cần sử dụng một công cụ

nào mà chỉ đơn thuần thao tác các biến với / (dot-dot-slash)

để truy cập đến file, thư mục, bao gồm cả source code,

những file hệ thống, …

 Những hàm của những ngôn ngữ lập trình Web có khả năng

gây lỗi Path Traversal như sau:

• PHP: include(), include_once(), require(),

require_once(), fopen(), readfile(),

• JSP/Servlet: java.io.File(), java.io.FileReader(),

• ASP: include file, include virtual ,

Trang 21

407

5 CROSS SITE SCRIPTING

 Cross-Site Scripting hay còn được gọi tắt là XSS

(thay vì gọi tắt là CSS để tránh nhầm lẫn với Cascading Style Sheet của HTML) là một kỹ thuật tấn công bằng cách chèn vào các website động

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

 Nguyên nhân: cho phép người sử dụng đăng thông

tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm

 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

Khoa CNTT Trường CĐ CNTT TP.HCM

Trang 22

6 FILE INCLUSION

require,… để gọi đến một file khác Và sơ ý để người dùng có thể thay đổi file cần gọi đến Như vậy website đó đang đứng trước nguy cơ bị tấn công File Inclusion

 Nguyên nhân: include, require, require _ once,

include _ once cho phép file hiện tại gọi đến một file khác

 Tùy vào mức độ bảo mật của Server, hacker có thể

include đến file trên Server( local include) đó hoặc include đến file trên Server khác( remote include) Với từng mức độ hacker có thể có nhiều cách để up

Trang 24

7 Acunetix Web Vulnerability Scanner

Trang 25

411

7 Acunetix Web Vulnerability Scanner

• Acunetix WVS tự động kiểm tra ứng dụng web, tìm các lỗi XSS, SQL Injection,…

• Tường lửa, SSL và locked-down server đều không hiệu quả đối với việc hack ứng dụng web

• Acunetix sẽ kiểm tra ứng dụng web, tìm lỗi code dẫn đến lỗi XSS

• Acunetix cũng kiểm tra các lỗi khác trong những ứng dụng web phổ biến như joomla, PHPbb

• Acunetix giúp xác định file có lỗi XSS, cho phép bạn

• Ngoài ra, một số tính năng mới kiểm tra mức độ bảo mật của website như tự động truy cập và quét SVN, cải tiến khả năng kiểm tra Cross-site scripting (XSS) và sửa các lỗi khác

Khoa CNTT Trường CĐ CNTT TP.HCM

Trang 26

9.2.2 Lỗ hổng bảo mật Web Server

Trang 28

2 Local Attack

 Là dạng tấn công nội bộ từ bên trong của Webserver

 Một Webserver sẽ chứa nhiều websites Nếu website

mục tiêu khó tấn công, hacker sẽ lợi dụng 1 website khác nằm cùng webserver có độ bảo mật thấp hơn để tấn công

Trang 29

Các bước thực hiện:

1 Xác định các website cần tấn công

2 Xác định các website đặt cùng server với mục tiêu

3 Tìm cách khai thác một trong các website đặt chung server

với mục tiêu Khai thác được 1 trong số các website đó Tìm cách upload webshell hoặc thực thi shell code

4 Thành công có webshell, kiểm tra quyền của user hiện tại

5 Nếu quyền hiện tại đủ để tấn công mục tiêu Sang bước

6 Nếu quyền hiện tại không đủ tấn công, tìm cách leo thang

Trang 30

Phòng chống

•safe mode: off -> on

•Disable functions:

system, exec, shell_exec, passthru, pcntl_exec, putenv,

proc_close, proc_get_status, proc_nice, proc_open,

proc_terminate, popen, pclose, set_time_limit, ini_alter, virtual, openlog, escapeshellcmd, escapeshellarg, dl, curl_exec,

Trang 32

3 Dos-Ddos – Tấn Công Từ Chối Dịch Vụ

 Có năm kiểu tấn công cơ bản sau đây:

 Nhằm tiêu tốn tài nguyên tính toán như băng thông, dung lượng đĩa cứng hoặc thời gian xử lý

 Phá vỡ các thông tin cấu hình như thông tin định tuyến

 Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP

 Phá vỡ các thành phần vật lý của mạng máy tính

 Làm tắc nghẽn thông tin liên lạc có chủ đích giữa các người dùng và nạn nhân dẫn đến việc liên lạc giữa hai bên không được thông suốt

Trang 33

Biểu đồ tấn công từ chối dịch vụ

Trang 34

Phòng chống

 Phòng ngừa các điểm yếu của ứng dụng

 Phòng ngừa việc tuyển mộ zombie

 Ngăn ngừa kênh phát động tấn công sử dụng công cụ

 Ngăn chặn tấn công trên băng thông

 Ngăn chặn tấn công qua syn

Trang 36

 Virus CTB Locker (đòi tiền chuộc)

 Gứi email có chứa file exe đến người dùng

 Âm thầm tiến hành mã hóa các file dữ liệu trong máy tính như: doc, pdf, xls, jpg, zip… bằng công nghệ “public-key”

 Gửi bảng thông báo, yêu cầu chuyển tiền để được giải mã

Trang 37

4 HACKER

Trang 38

Web Server

5 Giải pháp cần thiết bảo mật Webserver

Trang 39

425

9.2 QUẢN TRỊ WEB

Khoa CNTT Trường CĐ CNTT TP.HCM Written by: Phạm Đào Minh Vũ

 Domain Name & Hosting

Triển khai Website

Trang 40

1 DomainName & Hosting

1.1 Khái niệm 1.2 Đăng ký và sử dụng 1.3 Quản trị

Trang 41

427

1.1 Khái niệm

Trường CĐ CNTT TpHCM

một địa chỉ của một máy tính hay một hệ thống máy tính nào đó trên Internet (vd : www abc.com )

• Tên miền được dùng thay cho địa chỉ IP của máy tính Mỗi tên miền

là duy nhất và quản lý bởi tổ chức ICANN

• Tại Việt Nam, ta có thể mua các tên miền qua những nhà cung cấp đại diện

không gian lưu trữ trên một server và cho phép khách hàng lưu trữ website của họ để mọi người có thể truy xuất đến

• Khi đăng ký hosting, ta cũng phải cung cấp một Domain Name để server phân giải Domain Name với địa chỉ của website

Trang 42

• Địa chỉ trang quản trị host

• Địa chỉ truy cập host bằng ftp

• Tài toản quản trị host trên website

• Tài khoản quản trị host trên ftp

Trang 43

429

1.2 Đăng ký và sử dụng (tt)

Trường CĐ CNTT TpHCM

• Ví dụ :

• Domain name : www.saoviet.edu.vn

• Địa chỉ trang quản trị host : http://saoviet.edu.vn:2082

• Địa chỉ truy cập host bằng ftp : ftp.saoviet.edu.vn

• Tài toản quản trị host trên website :

Trang 44

1.3 Quản trị

• Trang quản trị host : (trang quản trị host của PA VietNam)

Trang 45

431

1.3 Quản trị (tt)

Trường CĐ CNTT TpHCM

• Quản trị Host bằng FTP (với Total Commander) :

Tạo kết nối với Server bằng FTP trong Total

Commander

Trang 46

1.3 Quản trị (tt)

• Quản trị Host bằng FTP (với Total Commander) :

Các thư mục trên Host

Thư mục www

chứa website

(hoặc httpdoc)

Trang 47

433

2 Triển khai Website

Trường CĐ CNTT TpHCM

• Gồm 3 bước:

• Tạo CSDL cho Website

• Chỉnh sửa chuổi kết nối CSDL trong file Webconfig của Website

• Upload Website lên Web Server

Trang 48

2.1 Tạo CSDL

• Tạo CSDL cho website:

• Vào trang quản trị host, đến mục quản lý Database

• Chọn loại Database muốn tạo (MySQL, SQL Server…)

• Nhập tên CSDL

Trang 49

435

Trường CĐ CNTT TpHCM

• Tạo tài khoản cho CSDL

Trang 50

• Kết nối đến CSDL bằng SQL Server Management Studio

Trang 51

437

Trường CĐ CNTT TpHCM

• Chạy các script để tạo Table, Store Procedure, Primary key, …

Trang 52

• Upload website lên Host

• Mở file web.config và chỉnh lại chuỗi kết nối

2.2 Chỉnh sửa chuỗi kết nối

Trang 53

439

Trường CĐ CNTT TpHCM

• Upload website lên Host

• Mở Total Commander (hoặc một chương trình bất kì có thể kết nối đến host bằng ftp như FTP Cute, FTP Professional,…)

• Mở kết đến Host, và mở thư mục www (hoặc httpdoc)

• Copy toàn bộ website từ thư mục trên máy lên host

2.3 Upload toàn bộ Website

Trang 55

441

Trường CĐ CNTT TpHCM

• Chạy Website

Ngày đăng: 11/10/2022, 21:39

HÌNH ẢNH LIÊN QUAN

 Tấn cơng SQL injection là hình thức tấn cơng chèn các đoạn mã SQL cho phép khai thác lỗ hổng bảo mật tồn  tại trong cơ sở dữ liệu của một ứng dụng - Bài giảng lập trình web asp net với c chương 9   th s phạm đào minh vũ
n cơng SQL injection là hình thức tấn cơng chèn các đoạn mã SQL cho phép khai thác lỗ hổng bảo mật tồn tại trong cơ sở dữ liệu của một ứng dụng (Trang 9)
 Hình thức tấn cơng này không cần sử dụng một công cụ - Bài giảng lập trình web asp net với c chương 9   th s phạm đào minh vũ
Hình th ức tấn cơng này không cần sử dụng một công cụ (Trang 20)
 Tấn công từ chối dịch vụ là một loại hình tấn cơng nhằm ngăn chặn những người dùng hợp lệ được sử  dụng một dịch vụ nào đó - Bài giảng lập trình web asp net với c chương 9   th s phạm đào minh vũ
n công từ chối dịch vụ là một loại hình tấn cơng nhằm ngăn chặn những người dùng hợp lệ được sử dụng một dịch vụ nào đó (Trang 31)
 Gửi bảng thông báo, yêu cầu chuyển tiền để được giải mã giải mã - Bài giảng lập trình web asp net với c chương 9   th s phạm đào minh vũ
i bảng thông báo, yêu cầu chuyển tiền để được giải mã giải mã (Trang 36)
 Virus CTB Locker (đòi tiền chuộc) - Bài giảng lập trình web asp net với c chương 9   th s phạm đào minh vũ
irus CTB Locker (đòi tiền chuộc) (Trang 36)

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