Bảo mật ứng dụng web trên internet - Pdf 11

Khoa CNTT
B GIÁO DC VÀ ÀO TO
TRNG I HC KHOA HC T NHIÊN TP.HCM
KHOA CÔNG NGH THÔNG TIN
B MÔN MNG MÁY TÍNH
cd
LUN VN TT NGHIP
 TÀI:
NGHIÊN CU MT S VN  V BO MT
NG DNG WEB TRÊN INTERNET
GVHD: Th.S. MAI VN CNG
SVTH : NGUYN DUY THNG - 9912074
NGUYN MINH THU - 9912156
KHÓA HC: 1999-2003
Khoa CNTT
Li cm n
Sau gn 6 tháng n lc thc hin, lun vn nghiên cu “Các k thut tn công và
bo mt ng dng Web trên Internet” đã phn nào hoàn thành. Ngoài s c gng
ht mình ca bn thân, chúng em đã nhn đc s khích l rt nhiu t phía nhà
trng, thy cô, gia đình và bn bè.
Trc ht chúng con xin cám n ba m đã luôn đng viên và to mi điu kin
tt đ chúng con hc tp và hoàn thành lun vn tt nghip này.
Chúng em xin cám n thy cô trng i Hc Khoa Hc T Nhiên đã truyn đt
nhng kin thc quý báu cho chúng em trong sut quá trình hc tp. c bit,
chúng em xin bày t lòng chân thành sâu sc đn thy Mai Vn Cng, ngi đã
tn tình hng dn và giúp đ chúng em trong quá trình làm lun vn tt nghip.
Xin cám n tt c bn bè đã và đang đng viên, giúp đ chúng tôi trong quá trình
hc tp và hoàn thành tt lun vn tt nghip này.
Khoa CNTT
Li nhn xét
……………………………………………………………………………………………

I. HACKER………………………………………………………………………………
II. HTTP HEADER……………………………………………………………………
III. SESSION…………………………….………………………………………………
IV. COOKIE……………………………………………………………………………
V. PROXY……………………………………………………………………………….
Chng 3: Gii thiu s lc v các k thut tn công ng dng Web…………………
I. KIM SOÁT TRUY CP WEB………………………………………………………
I.1. Thâm nhp h thng qua ca sau…………………………………………………
II. CHIM HU PHIÊN LÀM VIC…………………………………………………
II.1. n đnh phiên làm vic……………………………………………………………
II.2. ánh cp phiên làm vic………………………………………………………….
III. LI DNG CÁC THIU SÓT TRONG VIC KIM TRA D LIU NHP HP
L……….……………………………………………………………………………
III.1. Kim tra tính đúng đn ca d liu bng ngôn ng phía trình duyt…………
III.2. Tràn b đm…………… ……………………………………………………….
III.3. Mã hóa URL……………………………………………………………………
III.4. Kí t Meta………………………………………………………………………
III.5. Vt qua đng dn……………………………………………………………
III.6. Chèn mã lnh thc thi trên trình duyt nn nhân………………………………
III.7. Thêm câu lnh h thng………………….……………………………………
7
9
11
12
13
16
18
19
19
21

II.1. Khái nim…………………………………………………………………………
II.2. Mt s bin pháp khc phc……………………………………………………
III. THAO TÁC TRÊN COOKIE………………………………………………………
III.1. Khái nim ……………………………………………………………………….
III.2. Mt s bin pháp khc phc……………………………………………………
IV. THAO TÁC TRONG HTTP HEADER…………………………………………….
IV.1. Khái nim………………………………………………………………………
IV.2. Mt s bin pháp khc phc……………………………………………………
Chng 5: Chèn mã lnh thc thi trên trình duyt nn nhân (Cross Side Scripting)…….
I. K THUT TN CÔNG CROSS-SITE SCRIPTING (XSS)………………………
II. PHNG PHÁP TN CÔNG XSS TRUYN THNG…………………………
III. MT S WEBSITE TÌM THY L HNG XSS………………………………
IV. TN CÔNG XSS BNG FLASH………………………………………………….
V. CÁCH PHÒNG CHNG……………………………………………………………
Chng 6: Chèn câu truy vn SQL (SQL Injection)…………………………………….
I. KHÁI NIM SQL INJECTION……………………………………………………
II. GII THIU MÔ HÌNH C S D LIU………………………………………
30
30
30
30
31
31
33
34
35
35
36
36
36

III.7.4.1. Dùng Extended Stored Procedure có sn trong h thng SQL Server…
III.7.4.2. Dùng Extended Stored Procedure t to………………………………….
III.7.4.3. Nhp tp tin vn bn vào bng……………………………………………
IV. CÁCH PHÒNG CHNG…………………………………………………………
IV.1. Kim tra d liu………………………………………………………………
IV.2. Khoá cht SQL Server (SQL Server Lockdown)……………………………
Chng 7: Chim hu phiên làm vic (Session Management)…………………………
I. TNG QUAN V SESSION ID……………………………………………………
II. N NH PHIÊN LÀM VIC……………………………………………………
II.1. Tn công Session ID trên tham s URL…………………………………………
II.2. Tn công Session ID trong bin n form………………………………………
II.3. Tn công Session ID trong cookie……………………………………………….
II.4. Cách phòng chng……………………………………………………………….
III. ÁNH CP PHIÊN LÀM VIC…………………………………………………
III.1. Tn công kiu d đoán phiên làm vic (Prediction sessionID)…………………
III.2. Tn công kiu vét cn phiên làm vic (Brute force ID)………………………
III.3. Tn công kiu dùng đon mã đ đánh cp phiên làm vic……………………
58
58
60
62
62
69
70
70
70
71
74
75
75

Chng 9: T chi dch v (DoS)……………………………………………………….
I. KHÁI NIM…………………………………………………………………………
II. NHNG KH NNG B TN CÔNG BNG DOS……………………………….
III. CÁC K THUT TN CÔNG……………………………………………………
III.1. Khái nimv Tcp bt tay ba chiu………………………………………………
III.2. Li dng TCP thc hin phng pháp SYN flood truyn thng………………
III.3. Tn công vào bng thông………………………………………………………
III.3.1. Kiu tn công th 1…………………………………………………………
III.3.2. Kiu tn công th 2…………………………………………………………
III.4. Kiu tn công vào tài nguyên h thng………………………………………….
IV. BIN PHÁP PHÒNG CHNG…………………………………………………….
Chng 10: Mt s k thut tn công khác……………………………………………
I. MÃ HÓA URL (URL Encoding) ……………………………………………………
I.1. Khái nim…………………………………………………………………………
I.2. Mt s bin pháp phòng chng…………………………………………………
II. KIU TN CÔNG VT NG DN…………………………………………
II.1. Khái nim………………………………………………………………………
94
94
97
98
99
100
101
102
104
106
106
108
109

I. VI NHNG NHÀ QUN TR MNG……………………………………………
II. VI NHNG NHÀ THIT K NG DNG WEB……………………………….
III. VI NGI S DNG NG DNG WEB……………………………………
PHN TH BA: CHNG TRÌNH WEB CHECKER………………………………
Chng 13: Chng trình Web Checker………………………………………………
I. C T CHNG TRÌNH WEB CHECKER……………………………………
I.1. Tng quan………………………………………………………………………
I.2. Yêu cu…………………………………………………………………………
I.2.1. Yêu cu chc nng…………………………………………………………….
I.2.1. Yêu cu phi chc nng………………………………………………………
II. KIN TRÚC CHNG TRÌNH WEB CHECKER………………………………
II.1. Kin trúc chng trình Web Checker…………………………………………
II.2. Giao tip gia chng trình vi trình ch Web………………………………….
III. CÀI T…………………………………………………………………………
III.1. Ngôn ng cài đt………………………………………………………………
III.2. Phng pháp cài đt…………………………………………………………….
122
123
123
123
123
123
125
125
127
128
131
132
134
135

PH LC………………………………………………………………………………
145
145
146
146
151
151
152
153
153
153
155
156
157
158
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
-Trang 7-
GII THIU
Ngày nay, khi Internet đc ph bin rng rãi, các t chc, cá nhân đu có nhu cu
gii thiu thông tin ca mình trên xa l thông tin cng nh thc hin các phiên giao
dch trc tuyn. Vn đ ny sinh là khi phm vi ng dng ca các ng dng Web ngày
càng m rng thì kh nng xut hin li và b tn công càng cao, tr thành đi tng
cho nhiu ngi tn công vi các mc đích khác nhau. ôi khi, cng ch đn gin là đ
th tài hoc đùa bn vi ngi khác.
Cùng vi s phát trin không ngng ca Internet và các dch v trên Internet, s lng
các v tn công trên Internet cng tng theo cp s nhân. Trong khi các phng tin
thông tin đi chúng ngày càng nhc nhiu đn nhng kh nng truy nhp thông tin ca
Internet, thì các tài liu chuyên môn bt đu đ cp nhiu đn vn đ bo đm và an
toàn d liu cho các máy tính đc kt ni vào mng Internet.

toàn ca h thng mng và h điu hành.  bo v cho h thng, phng pháp thng
đc chn là s dng firewall. Tuy nhiên, theo tuyên b ca CSI/FBI : 78% ni b hi
có s dng firewall và 59% thì b tn công thông qua Internet, c th hn là theo báo
cáo ca CSI/FBI Computer Crime và Security Survey thì tng s thit hi do nhng
ng dng Web b tn công t nm 1997 đn nm 2000 là 626 triu đôla M.
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
-Trang 9-
Vi nhng công c t đng tìm l hng tuy giúp rt nhiu cho nhng nhà lp trình
Web nhng vn không th ngn chn toàn b vì công ngh Web đang phát trin nhanh
chóng (ch yu chú trng đn yu t thm m, yut tc đ…) nên dn đn nhiu
khuyt đim mi phát sinh. S tn công không nm trong khuôn kh vài k thut đã
phát hin, mà linh đng và tng lên tùy vào nhng sai sót ca nhà qun tr h thng
cng nh ca nhng ngi lp trình ng dng.
Lun vn đc thc hên vi mc đích tìm hiu, phân tích các l hng bo mt trong
các ng dng web (cùng vi chng trình minh ha) đ qua đó đ xut các phng án
sa cha. Song song đó, lun vn còn thc hin mt chng trình “T đng phát hin
l hng trên ng dng Web” giúp ích cho nhng nhà lp trình Web ít kinh nghim
tránh nhng sai sót trong quá trình to các ng dng.
T chc ca lun vn
Lun vn gm 13 chng chia thành 3 phn:
Phn th nht: C S LÍ THUYT
Phn này gm có 3 chng:
+ Chng 1 : Gii thiuv ng dng Web
+ Chng 2 : Mt s khái nim, thut ng liên quan.
+ Chng 3: S lc các k thut tn công ng dng Web
Phn th hai:CÁC K THUT TN CÔNG VÀ BIN PHÁP PHÒNG CHNG
Phn này gm có 9 chng t chng 4 đn chng 12 trong đó7 chng đu bàn
lun v các k thut tn công, cui mi chng là bin pháp phòng chng cho tng k
thut. Chng 11 nói v quá trình tn công cahacker vàđn chng 12 là ni dung

ng dng Web là mt ng dng ch/khách s dng giao thc HTTP đ tng tác vi
ngi dùng hay h thng khác.
Trình khách dành cho ngi s dng thng là mt trình duyt Web nh Internet
Explorer hay Netscape Navigator. Cng có th là mt chng trình đóng vai trò đi
lý ngi dùng hot đng nh mt trình duyt t đng. Ngi dùng gi và nhn các
thông tin t trình ch thông qua vic tác đng vào các trang Web. Các chng trình
có th là các trang trao đi mua bán, các din đàn, gi nhn e-mail…
Tc đ phát trin các k thut xây dng ng dng Web cng phát trin rt nhanh.
Trc đây nhng ng dng Web thng đc xây dng bng CGI (Common
Gateway Interface) đc chy trên các trình ch Web và có th kt ni vào các c s
d liu đn gin trên cùng máy ch. Ngày nay ng dng Web thng đc vit bng
Java (hay các ngôn ng tng t) và chy trên máy ch phân tán, kt ni đn nhiu
ngun d liu.
Mt ng dng web thng có kin trúc gm:
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 14-
Hình 1.I-1. Kin trúc mt ng dng Web
• Lp trình bày: Lp này có nhim v hin th d liu cho ngi dùng, ngoài ra còn
có th có thêm các ng dng to b cc cho trang web.
• Lp ng dng: là ni x lý ca ng dng Web. Nó s x lý thông tin ngi dùng
yêu cu, đa ra quyt đnh, gi kt qu đn “lp trình bày”. Lp này thng
đc cài đt bng các k thut lp trình nh CGI, Java, .NET , PHP hay
ColdFusion, đc trin khai trên các trình ch nh IBM WebSphere, WebLogic,
Apache, IIS…
• Lp d liu: thng là các h qun tr d liu (DBMS) chu trách nhim qun lý
các file d liu và quyn s dng.
Mô hình hóa hot đng ca mt ng dng Web:
Khoa CNTT
Chng 1: Gii thiu ng dng Web

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  hình 1.I-2, vi firewall, lung thông tin gia trình ch và trình khách
là lung thông tin hp l. Vì th, nu hacker tìm thy vài l hng trong ng dng
Web thì firewall không còn hu dng trong vic ngn chn hacker này. Do đó, các k
thut tn công vào mt h thng mng ngày nay đang dn tp trung vào nhng s
sut (hay l hng) trong quá trình to ng dng ca nhng nhà phát trin Web 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
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 17-
li dng các l hng Web đ 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.
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 18-
Chng 2
CÁC KHÁI NIM, THUT NG LIÊN QUAN
Ni dung:
I. Hacker
II. HTTP Header
III. Phiên làm vic (Session)
IV. Cookie
V. Proxy
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 19-
CHNG 2:
CÁC KHÁI NIM, THUT NG LIÊN QUAN

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Accept-Encoding: gzip, deflate
o Dòng đu là dòng yêu cu cho bit phng thc yêu cu (GET hoc
POST), đa ch yêu cu (/tintuc/homnay.asp) và phiên bn HTTP
(HTTP/1.1)
o Tip theo là các tham s.Chng hn nh:
̇ Accept-Language: Cho bit ngôn ng dùng trong trang web.
̇ Host: Cho bit đa ch ca máy ch.
̇ Referer: Cho bit đa ch ca trang web tham chiu ti.
o Header ca HTTP request s kt thúc bng mt dòng trng.
• Header tr li:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 21-
Content-Length: 2291
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGGGNCG=LKLDFFKCINFLDMFHCBCBMFLJ;
path=/
Cache-control: private
<HTML>
<BODY>

o Dòng đu là dòng trng thái, đ cho bit phiên bn HTTP đc dùng
(HTTP/1.1), mã trng thái (200) và trng thái (OK).
o Tip theo là các tham s.
o Tip theo là mt dòng trng đ báo hiu kt thúc header, tip theo là phn
thân ca HTTP response.

tr đó hay không.
 nhng ln truy cp sau đn trang Web đó, ng dng có th dùng li nhng thông
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icung
cpl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à:


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status