Khoa CNTT
B GIÁO DC VÀ ÀO TO
TRNG I HC KHOA HC T NHIÊN TP.HCM
KHOA CÔNG NGH THÔNG TIN
B MÔN MNG MÁY TÍNH
cd
LUN VN TT NGHIP
TÀI:
NGHIÊN CU MT S VN V BO MT
NG DNG WEB TRÊN INTERNET
GVHD: Th.S. MAI VN CNG
SVTH : NGUYN DUY THNG - 9912074
NGUYN MINH THU - 9912156
KHÓA HC: 1999-2003
Khoa CNTT
Li cm n
Sau gn 6 tháng n lc thc hin, lun vn nghiên cu “Các k thut tn công và
bo mt ng dng Web trên Internet” đã phn nào hoàn thành. Ngoài s c gng
ht mình ca bn thân, chúng em đã nhn đc s khích l rt nhiu t phía nhà
trng, thy cô, gia đình và bn bè.
Trc ht chúng con xin cám n ba m đã luôn đng viên và to mi điu kin
tt đ chúng con hc tp và hoàn thành lun vn tt nghip này.
Chúng em xin cám n thy cô trng i Hc Khoa Hc T Nhiên đã truyn đt
nhng kin thc quý báu cho chúng em trong sut quá trình hc tp. c bit,
chúng em xin bày t lòng chân thành sâu sc đn thy Mai Vn Cng, ngi đã
tn tình hng dn và giúp đ chúng em trong quá trình làm lun vn tt nghip.
Xin cám n tt c bn bè đã và đang đng viên, giúp đ chúng tôi trong quá trình
hc tp và hoàn thành tt lun vn tt nghip này.
Khoa CNTT
Li nhn xét
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
MC LC
GII THIU………………………………………………………………………………
T chc ca lun vn……………………………………………………………………
PHN TH NHT: C S LÍ THUYT……………………………………………….
Chng 1: Gii thu ng dng Web……………………………………………………
I. KHÁI NIM NG DNG WEB……………………………… ……………………
II. MÔ T HOT NG CA MT NG DNG WEB……… …………………
Chng 2: Các khái nim, thut ng liên quan …………………………………………
I. HACKER………………………………………………………………………………
II. HTTP HEADER……………………………………………………………………
III. SESSION…………………………….………………………………………………
IV. COOKIE……………………………………………………………………………
V. PROXY……………………………………………………………………………….
Chng 3: Gii thiu s lc v các k thut tn công ng dng Web…………………
I. KIM SOÁT TRUY CP WEB………………………………………………………
I.1. Thâm nhp h thng qua ca sau…………………………………………………
II. CHIM HU PHIÊN LÀM VIC…………………………………………………
II.1. n đnh phiên làm vic……………………………………………………………
II.2. ánh cp phiên làm vic………………………………………………………….
III. LI DNG CÁC THIU SÓT TRONG VIC KIM TRA D LIU NHP HP
L……….……………………………………………………………………………
III.1. Kim tra tính đúng đn ca d liu bng ngôn ng phía trình duyt…………
III.2. Tràn b đm…………… ……………………………………………………….
III.3. Mã hóa URL……………………………………………………………………
III.4. Kí t Meta………………………………………………………………………
III.5. Vt qua đng dn……………………………………………………………
III.6. Chèn mã lnh thc thi trên trình duyt nn nhân………………………………
III.7. Thêm câu lnh h thng………………….……………………………………
7
9
11
12
13
16
18
19
19
21
22
25
26
27
27
27
27
27
27
28
28
28
28
29
29
29
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
III.8. Chèn câu truy vn SQL…………………….……………………………………
III.9. Ngôn ng phía máy ch………………
III.10. Kí t rng….…………………………………………………………………
III.11. Thao tác trên tham s truyn…………………………………………………
IV. L THÔNG TIN……………………………………………………………….
V. T CHI DCH V………………….……………………………………………
PHN TH HAI: CÁC K THUT TN CÔNG VÀ BO MT NG DNG WEB
Chng 4: Thao tác trên tham s truyn…………………………………………………
I. THAO TÁC TRÊN URL……………………………………………………………
I.1. Khái nim………………………………………………………………………….
I.2. Mt s bin pháp khc phc……………………………………………………….
II. THAO TÁC TRÊN BIN N FORM……………………………………………….
II.1. Khái nim…………………………………………………………………………
II.2. Mt s bin pháp khc phc……………………………………………………
III. THAO TÁC TRÊN COOKIE………………………………………………………
III.1. Khái nim ……………………………………………………………………….
III.2. Mt s bin pháp khc phc……………………………………………………
IV. THAO TÁC TRONG HTTP HEADER…………………………………………….
IV.1. Khái nim………………………………………………………………………
IV.2. Mt s bin pháp khc phc……………………………………………………
Chng 5: Chèn mã lnh thc thi trên trình duyt nn nhân (Cross Side Scripting)…….
I. K THUT TN CÔNG CROSS-SITE SCRIPTING (XSS)………………………
II. PHNG PHÁP TN CÔNG XSS TRUYN THNG…………………………
III. MT S WEBSITE TÌM THY L HNG XSS………………………………
IV. TN CÔNG XSS BNG FLASH………………………………………………….
V. CÁCH PHÒNG CHNG……………………………………………………………
Chng 6: Chèn câu truy vn SQL (SQL Injection)…………………………………….
I. KHÁI NIM SQL INJECTION……………………………………………………
II. GII THIU MÔ HÌNH C S D LIU………………………………………
30
30
30
30
31
31
33
34
35
35
36
36
36
38
39
39
40
41
41
42
43
44
46
50
51
54
56
57
57
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
III. CÁC CÁCH TN CÔNG………………………………………………………….
III.1. K thut tn công SQL Injection………………………………………………
III.2. Tn công da vào câu lnh SELECT……………………………………………
III.3. Tn công da vào câu lnh HAVING…………………………………………
III.4. Tn công da vào câu lnh kt hp UNION……………………………………
III.5. Tn công da vào lnh INSERT………………………………………………
III.6. Tn công da vào STORED PROCEDURE……………………………………
III.7. Nâng cao………………………………………………………………………
III.7.1. Chui kí t không có du nháy đn………………………………………….
III.7.2. Tn công 2 tng………………………………………………………………
III.7.3. Tránh s kim soát…………………………………………………………
III.7.4. Dùng Extended Stored Procedure……………………………………………
III.7.4.1. Dùng Extended Stored Procedure có sn trong h thng SQL Server…
III.7.4.2. Dùng Extended Stored Procedure t to………………………………….
III.7.4.3. Nhp tp tin vn bn vào bng……………………………………………
IV. CÁCH PHÒNG CHNG…………………………………………………………
IV.1. Kim tra d liu………………………………………………………………
IV.2. Khoá cht SQL Server (SQL Server Lockdown)……………………………
Chng 7: Chim hu phiên làm vic (Session Management)…………………………
I. TNG QUAN V SESSION ID……………………………………………………
II. N NH PHIÊN LÀM VIC……………………………………………………
II.1. Tn công Session ID trên tham s URL…………………………………………
II.2. Tn công Session ID trong bin n form………………………………………
II.3. Tn công Session ID trong cookie……………………………………………….
II.4. Cách phòng chng……………………………………………………………….
III. ÁNH CP PHIÊN LÀM VIC…………………………………………………
III.1. Tn công kiu d đoán phiên làm vic (Prediction sessionID)…………………
III.2. Tn công kiu vét cn phiên làm vic (Brute force ID)………………………
III.3. Tn công kiu dùng đon mã đ đánh cp phiên làm vic……………………
58
58
60
62
62
69
70
70
70
71
74
75
75
76
77
77
78
81
83
84
85
88
89
89
91
92
93
93
94
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
III.4. Cách phòng chng……………………………………………………………….
III.5. S khác bit gia đánh cp phiên làm vic (session hijacking) và n đnh phiên
làm vic (session fixation)……………………………………………………………
Chng 8: Tràn b đm (Buffer Overflow)……………………………………………
I. KHÁI NIM………………………………………………………………………….
II. S T CHC CA B NH………………………………………………….
II.1. Stack……………………………………………………………………………
II.2. Push và Pop………………………………………………………………………
II.3. Cách làm vic ca hàm…………………………………………………………
II.4. Shell code………………………………………………………………………
III. MT S CÁCH GÂY TRÀN B M QUA NG DNG WEB……………….
IV. CÁC CÁCH PHÒNG CHNG…………………………………………………….
Chng 9: T chi dch v (DoS)……………………………………………………….
I. KHÁI NIM…………………………………………………………………………
II. NHNG KH NNG B TN CÔNG BNG DOS……………………………….
III. CÁC K THUT TN CÔNG……………………………………………………
III.1. Khái nimv Tcp bt tay ba chiu………………………………………………
III.2. Li dng TCP thc hin phng pháp SYN flood truyn thng………………
III.3. Tn công vào bng thông………………………………………………………
III.3.1. Kiu tn công th 1…………………………………………………………
III.3.2. Kiu tn công th 2…………………………………………………………
III.4. Kiu tn công vào tài nguyên h thng………………………………………….
IV. BIN PHÁP PHÒNG CHNG…………………………………………………….
Chng 10: Mt s k thut tn công khác……………………………………………
I. MÃ HÓA URL (URL Encoding) ……………………………………………………
I.1. Khái nim…………………………………………………………………………
I.2. Mt s bin pháp phòng chng…………………………………………………
II. KIU TN CÔNG VT NG DN…………………………………………
II.1. Khái nim………………………………………………………………………
94
94
97
98
99
100
101
102
104
106
106
108
109
109
110
110
112
113
113
113
117
117
119
120
120
121
121
121
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
II.2. Mt s bin pháp phòng chng…………………………………………………
III. TN CÔNG DA VÀO KÍ T RNG…………………………………………
III.1. Khái nim………………………………………………………………………
III.2. Mt s bin pháp phòng chng………………………………………………….
IV. NGÔN NG PHÍA TRÌNH CH………………………………………………….
IV.1. Khái nim………………………………………………………………………
IV.2. Cách tn công……………………………………………………………………
IV.3. Bin pháp phòng chng…………………………………………………………
Chng 11: Tng kt quá trình tn công ca Hacker…………………………………
I. THU THP THÔNG TIN MC H TNG CA MC TIÊU…………………
II. KHO SÁT NG DNG WEB……………………………………………………
III. TN CÔNG………………………………………………………………………
Chng 12: Tng kt các bin pháp phòng chng……………………………………
I. VI NHNG NHÀ QUN TR MNG……………………………………………
II. VI NHNG NHÀ THIT K NG DNG WEB……………………………….
III. VI NGI S DNG NG DNG WEB……………………………………
PHN TH BA: CHNG TRÌNH WEB CHECKER………………………………
Chng 13: Chng trình Web Checker………………………………………………
I. C T CHNG TRÌNH WEB CHECKER……………………………………
I.1. Tng quan………………………………………………………………………
I.2. Yêu cu…………………………………………………………………………
I.2.1. Yêu cu chc nng…………………………………………………………….
I.2.1. Yêu cu phi chc nng………………………………………………………
II. KIN TRÚC CHNG TRÌNH WEB CHECKER………………………………
II.1. Kin trúc chng trình Web Checker…………………………………………
II.2. Giao tip gia chng trình vi trình ch Web………………………………….
III. CÀI T…………………………………………………………………………
III.1. Ngôn ng cài đt………………………………………………………………
III.2. Phng pháp cài đt…………………………………………………………….
122
123
123
123
123
123
125
125
127
128
131
132
134
135
137
139
140
141
142
142
142
142
143
143
143
144
145
145
145
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
III.2.1. S dng mô hình giao din dng Dialog…………………………………….
III.2.2. S dng ActiveX Control (Microsoft Web Browser)……………………….
III.2.3. S dng giao din lp trình Window Socket 2………………………………
III.2.4. Mt s lp và hàm chính đc cài đt trong chng trình………………….
III.3. Mô t chng trình và cách s dng……………………………………………
III.3.1. Màn hình chng trình………………………………………………………
III.3.2. Cách s dng………………………………………………………………
IV. ÁNH GIÁ CHNG TRÌNH……………………………………………………
IV.1. Nhng vn đ đt đc………………………………………………………
IV.2. Nhng vn đ hn ch…………………………………………………………
KT LUN……………………………………………………………………………
I. NHNG VN T C…………………………………………………….
II. HNG PHÁT TRIN…………………………………………………………….
PH LC………………………………………………………………………………
145
145
146
146
151
151
152
153
153
153
155
156
157
158
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
-Trang 7-
GII THIU
Ngày nay, khi Internet đc ph bin rng rãi, các t chc, cá nhân đu có nhu cu
gii thiu thông tin ca mình trên xa l thông tin cng nh thc hin các phiên giao
dch trc tuyn. Vn đ ny sinh là khi phm vi ng dng ca các ng dng Web ngày
càng m rng thì kh nng xut hin li và b tn công càng cao, tr thành đi tng
cho nhiu ngi tn công vi các mc đích khác nhau. ôi khi, cng ch đn gin là đ
th tài hoc đùa bn vi ngi khác.
Cùng vi s phát trin không ngng ca Internet và các dch v trên Internet, s lng
các v tn công trên Internet cng tng theo cp s nhân. Trong khi các phng tin
thông tin đi chúng ngày càng nhc nhiu đn nhng kh nng truy nhp thông tin ca
Internet, thì các tài liu chuyên môn bt đu đ cp nhiu đn vn đ bo đm và an
toàn d liu cho các máy tính đc kt ni vào mng Internet.
Theo s liu ca CERT (Computer Emegency Response Team - "i cp cu máy
tính"), s lng các v tn công trên Internet đc thông báo cho t chc này là ít hn
200 vào nm 1989, khong 400 vào nm 1991, 1400 vào nm 1993, và 2241 vào nm
1994, và nm 2001 là 5315 v.
Nhng v tn công này nhm vào tt c các máy tính có mt trên Internet, các máy tính
ca tt c các công ty ln nh AT&T, IBM, các trng đi hc, các c quan nhà nc,
các t chc quân s, nhà bng Mt s v tn công có quy mô khng l (có ti
100.000 máy tính b tn công). Hn na, nhng con s này ch là phn ni ca tng
bng. Mt phn rt ln các v tn công không đc thông báo, vì nhiu lý do, trong đó
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
-Trang 8-
có th k đn ni lo b mt uy tín, hoc đn gin nhng ngi qun tr h thng không
hay bit nhng cuc tn công đang nhm vào h thng ca h.
in hình là cuc tn công vào phn mm thng mi ca IBM tháng 3/2001, hai
hacker đã tìm thy l hng trên ng dng mà bt c ai vi mt trình duyt Web cng
có th ly tài khon ca ngi dùng, thm chí c ngi qun tr.
Không ch s lng các cuc tn công tng lên nhanh chóng, mà các phng pháp tn
công ngày càng tinh vi và có t chc. Mt khác, vic qun tr các h thng mng đòi
hi nhà qun tr h thng có kin thc và kinh nghim v h thng mng chc chn,
do đó s yu kém trong qun lý s to nhiu điu kin cho các hacker khai thác.
Cng theo CERT, nhng cuc tn công thi k 1988-1989 ch yu là đoán tên ngi
s dng-mt khu (UserID/password) hoc s dng mt s li ca các chng trình và
h điu hành (security hole) làm vô hiu h thng bo v, tuy nhiên các cuc tn công
vào thi gian gn đây còn bao gm c các thao tác nh gi mo đa ch IP, theo dõi
thông tin truyn qua mng, chim các phiên làm vic t xa (telnet hoc rlogin), cài
trojan hay worm đ kim soát hay điu khin máy tính…vì th, nhu cu bo v thông
tin trên Internet là cn thit nhm mc đích bov d liu, bo v thông tin ngi dùng
và bo v h thng.
Khi nói đn vn đ bo mt, hu ht các chuyên gia bo mt đu chú trng đn s an
toàn ca h thng mng và h điu hành. bo v cho h thng, phng pháp thng
đc chn là s dng firewall. Tuy nhiên, theo tuyên b ca CSI/FBI : 78% ni b hi
có s dng firewall và 59% thì b tn công thông qua Internet, c th hn là theo báo
cáo ca CSI/FBI Computer Crime và Security Survey thì tng s thit hi do nhng
ng dng Web b tn công t nm 1997 đn nm 2000 là 626 triu đôla M.
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
-Trang 9-
Vi nhng công c t đng tìm l hng tuy giúp rt nhiu cho nhng nhà lp trình
Web nhng vn không th ngn chn toàn b vì công ngh Web đang phát trin nhanh
chóng (ch yu chú trng đn yu t thm m, yut tc đ…) nên dn đn nhiu
khuyt đim mi phát sinh. S tn công không nm trong khuôn kh vài k thut đã
phát hin, mà linh đng và tng lên tùy vào nhng sai sót ca nhà qun tr h thng
cng nh ca nhng ngi lp trình ng dng.
Lun vn đc thc hên vi mc đích tìm hiu, phân tích các l hng bo mt trong
các ng dng web (cùng vi chng trình minh ha) đ qua đó đ xut các phng án
sa cha. Song song đó, lun vn còn thc hin mt chng trình “T đng phát hin
l hng trên ng dng Web” giúp ích cho nhng nhà lp trình Web ít kinh nghim
tránh nhng sai sót trong quá trình to các ng dng.
T chc ca lun vn
Lun vn gm 13 chng chia thành 3 phn:
Phn th nht: C S LÍ THUYT
Phn này gm có 3 chng:
+ Chng 1 : Gii thiuv ng dng Web
+ Chng 2 : Mt s khái nim, thut ng liên quan.
+ Chng 3: S lc các k thut tn công ng dng Web
Phn th hai:CÁC K THUT TN CÔNG VÀ BIN PHÁP PHÒNG CHNG
Phn này gm có 9 chng t chng 4 đn chng 12 trong đó7 chng đu bàn
lun v các k thut tn công, cui mi chng là bin pháp phòng chng cho tng k
thut. Chng 11 nói v quá trình tn công cahacker vàđn chng 12 là ni dung
các bin pháp phòng chng chung nht.
Khoa CNTT
Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet
-Trang 10-
Phn th ba : CHNG TRÌNH “WEB CHECKER”
Là gm chng cui trình bày, gii thích v chng trình
Kt thúc lun vn là phn kt lun, tóm lc li nhng vn đ đã trình bày và mt s
hng phát trin trong tng lai và danh mc các tài liu tham kho.
Khoa CNTT
Phn I: C s lý thuyt
-Trang 11-
PHN TH NHT
C S LÍ THUYT
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 12-
Chng 1
GIITHIU NG DNG WEB
Ni dung:
I. Khái nim vng dng Web
II. Mô t cách hot đng ca mt ng dng Web
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 13-
CHNG 1: GII THIU NG DNG WEB
cd
Lun vn đc thc hin nhm tìm hiu v các k thut tn công trang Web và đ ra
cách phòng chng. Do đó, trong chng đu tiên lun vn s gii thiu s lc mt s
khái nim c bn và đây chính là nn tng đ xây dng ni dung cho nhng phn sau.
I. KHÁI NIM NG DNG WEB
ng dng Web là mt ng dng ch/khách s dng giao thc HTTP đ tng tác vi
ngi dùng hay h thng khác.
Trình khách dành cho ngi s dng thng là mt trình duyt Web nh Internet
Explorer hay Netscape Navigator. Cng có th là mt chng trình đóng vai trò đi
lý ngi dùng hot đng nh mt trình duyt t đng. Ngi dùng gi và nhn các
thông tin t trình ch thông qua vic tác đng vào các trang Web. Các chng trình
có th là các trang trao đi mua bán, các din đàn, gi nhn e-mail…
Tc đ phát trin các k thut xây dng ng dng Web cng phát trin rt nhanh.
Trc đây nhng ng dng Web thng đc xây dng bng CGI (Common
Gateway Interface) đc chy trên các trình ch Web và có th kt ni vào các c s
d liu đn gin trên cùng máy ch. Ngày nay ng dng Web thng đc vit bng
Java (hay các ngôn ng tng t) và chy trên máy ch phân tán, kt ni đn nhiu
ngun d liu.
Mt ng dng web thng có kin trúc gm:
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 14-
Hình 1.I-1. Kin trúc mt ng dng Web
• Lp trình bày: Lp này có nhim v hin th d liu cho ngi dùng, ngoài ra còn
có th có thêm các ng dng to b cc cho trang web.
• Lp ng dng: là ni x lý ca ng dng Web. Nó s x lý thông tin ngi dùng
yêu cu, đa ra quyt đnh, gi kt qu đn “lp trình bày”. Lp này thng
đc cài đt bng các k thut lp trình nh CGI, Java, .NET , PHP hay
ColdFusion, đc trin khai trên các trình ch nh IBM WebSphere, WebLogic,
Apache, IIS…
• Lp d liu: thng là các h qun tr d liu (DBMS) chu trách nhim qun lý
các file d liu và quyn s dng.
Mô hình hóa hot đng ca mt ng dng Web:
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 15-
Hình 1.I-2. Mô hình hot đng ca mt ng dng Web
Trong đó:
• Trình khách ( hay còn gi là trình duyt): Internet Explorer, Netscap Navigator
• Trình ch: Apache, IIS, ….
• H qun tr c s d liu: SQL Server, MySQL, DB2, Access….
Bên cnh đó, mt gii pháp dùng đ bo v mt h thng mng thng đcs dng
là bc tng la, nó có vai trò nh là lp rào chn bên ngoài mt h thng mng, vì
chc nng chính ca firewall là kim soát lung thông tin gia các máy tính. Có th
xem firewall nh mt b lc thông tin, nó xác đnh và cho phép mt máy tính này có
đc truy xut đn mt máy tính khác hay không, hay mt mng này có đc truy
xut đn mng kia hay không.
Ngi ta thng dùng firewall vào mc đích:
• Cho phép hoc cm nhng dch v truy xut ra ngoài.
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 16-
• Cho phép hoc cm nhng dch v t bên ngoài truy nhp vào trong.
• Kim soát đa ch truy nhp, cm đa ch truy nhp.
Firewall hot đng da trên gói IP do đó kim soát vic truy nhp ca máy ngi s
dng
II.MÔ T HOT NG CA MT NG DNG WEB
u tiên trình duyt s gi mt yêu cu (request) đn trình ch Web thông qua các
lnh c bn GET, POST… ca giao thc HTTP, trình ch lúc này có th cho thc thi
mt chng trình đc xây dng t nhiu ngôn ng nh Perl, C/C++… hoc trình
ch yêu cu b din dch thc thi các trang ASP, JSP… theo yêu cu ca trình khách.
Tùy theo các tác v ca chng trình đc cài đt mà nó x lý, tính toán, kt ni đn
c s d liu, lu các thông tin do trình khách gi đn…và t đó tr v cho trình
khách 1 lung d liu có đnh dng theo giao thc HTTP, nó gm 2 phn:
• Header mô t các thông tin v gói d liu và các thuc tính, trng thái trao đi
gia trình duyt và WebServer.
• Body là phn ni dung d liu mà Server gi v Client, nó có th là mt file
HTML, mt hình nh, mt đon phim hay mt vn bn bt kì.
Theo mô hình hình 1.I-2, vi firewall, lung thông tin gia trình ch và trình khách
là lung thông tin hp l. Vì th, nu hacker tìm thy vài l hng trong ng dng
Web thì firewall không còn hu dng trong vic ngn chn hacker này. Do đó, các k
thut tn công vào mt h thng mng ngày nay đang dn tp trung vào nhng s
sut (hay l hng) trong quá trình to ng dng ca nhng nhà phát trin Web hn là
tn công trc tip vào h thng mng, h điu hành. Tuy nhiên, hacker cng có th
Khoa CNTT
Chng 1: Gii thiu ng dng Web
-Trang 17-
li dng các l hng Web đ m rng s tn công ca mình vào các h thng không
liên quan khác.
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 18-
Chng 2
CÁC KHÁI NIM, THUT NG LIÊN QUAN
Ni dung:
I. Hacker
II. HTTP Header
III. Phiên làm vic (Session)
IV. Cookie
V. Proxy
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 19-
CHNG 2:
CÁC KHÁI NIM, THUT NG LIÊN QUAN
cd
I. HACKER
Hacker là mt thut ng dùng đ chuyên ch nhng k phá hoi các h thng mng…
Hacker thng là nhng chuyên gia v máy tính. Hacker không to ra các k h cho
h thng, nhng hacker lilà nhng ngi am hiu v h điu hành, h qun tr d
liu, các ngôn ng lp trình…H s dng kin thc ca mình trong vic tìm tòi và
khai thác các l hng ca h thng mng. Mt s hacker ch dng livic phát hin
và thông báo li tìm đc cho nhng nhà bo mt hay ngi phát trin chng trình,
h đc xem nh là WhiteHat (Hacker nón trng). Mt s hacker da vào nhng l
hng thc hin vic khai thác trái phép nhm mc đích phá hoi hay mu li riêng,
nhng ngi này b xem nh là BlackHat (Hacker nón đen).
Vì tính cht ph bin ca thut ng hacker, nên trong phn trình bày, lun vn s s
dng “hacker” thay cho “k tn công”.
II.HTTP HEADER
HTTP header là phn đu (header) ca thông tin mà trình khách và trình ch gi cho
nhau. Nhng thông tin trình khách gi cho trình ch đc gi là HTTP requests (yêu
cu) còn trình ch gi cho trình khách là HTTP responses (tr li). Thông thng,
mt HTTP header gm nhiu dòng, mi dòng cha tên tham s và giá tr. Mt s
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 20-
tham s có th đc dùng trong c header yêu cu và header tr li, còn s khác thì
ch đuc dùng riêng trong tng loi. Ví d :
• Header yêu cu:
GET /tintuc/homnay.asp HTTP/1.1
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/lienket.asp
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 cu cho bit phng thc yêu cu (GET hoc
POST), đa ch yêu cu (/tintuc/homnay.asp) và phiên bn HTTP
(HTTP/1.1)
o Tip theo là các tham s.Chng hn nh:
̇ Accept-Language: Cho bit ngôn ng dùng trong trang web.
̇ Host: Cho bit đa ch ca máy ch.
̇ Referer: Cho bit đa ch ca trang web tham chiu ti.
o Header ca HTTP request s kt thúc bng mt dòng trng.
• Header tr li:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT
Khoa CNTT
Chng 2: Các khái nim, thut 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 trng thái, đ cho bit phiên bn HTTP đc dùng
(HTTP/1.1), mã trng thái (200) và trng thái (OK).
o Tip theo là các tham s.
o Tip theo là mt dòng trng đ báo hiu kt thúc header, tip theo là phn
thân ca HTTP response.
Danh sách tham s ca HTTP header đc trình bày trong ph lcA
III. SESSION
HTTP là giao thc hng đi tng tng quát, phi trng thái, ngha là HTTP không
lu tr trng thái làm vic gia trình duyt vi trình ch. S thiu sót này gây khó
khn cho mts ng dng Web, bi vì trình ch không bit đc trc đó trình
duyt đã có nhng trng thái nào. Vì th, đ gii quyt vn đ này, ng dng Web
đa ra mt khái nimphiên làm vic (Session). Còn SessionID là mt chui đ chng
thc phiên làm vic. Mt s trình ch s cung cp mt SessionID cho ngidùng
khi h xem trang web trên trình ch.
duy trì phiên làm vic thì sessionID thng đc luvào :
Khoa CNTT
Chng 2: Các khái nim, thut ng liên quan
-Trang 22-
• Bin trên URL
•
Bin n form
•
Cookie
Phiên làm vicch tn ti trong mt khong thi gian cho phép, thi gian này đc
cu hình qui đnh ti trình ch hoc bi ng dng thc thi. Trình ch s t đng gii
phóng phiên làm vic đ khôi phc li tài nguyên ca h thng.
IV. COOKIE
Cookie là nhng phn d liu nh có cu trúc đc chia s gia trình ch và trình
duyt ca ngi dùng.
Các cookie đc lu tr di nhng file d liu nh dng text, đc ng dng to ra
đ lu tr/truy tìm/nhn bit các thông tin v ngi dùng đã ghé thm trang Web và
nhng vùng mà h đi qua trong trang. Nhng thông tin này có th bao gm tên/đnh
danh ngi dùng, mt khu, s thích, thói quen cookie đc trình duyt ca ngi
dùng chp nhn lu trên đa cng ca máy mình, tuy nhiên không phi lúc nào trình
duyt cng h tr cookie, mà còn tùy thuc vào ngi dùng có chp nhn chuyn lu
tr đó hay không.
nhng ln truy cp sau đn trang Web đó, ng dng có th dùng li nhng thông
tin trong cookie (nh thông tin liên quan đn vic đng nhp vào Yahoo
Messenger! ) mà ngi dùng không phi làm li thao tác đng nhp hay phicung
cpli các thông tin khác.
Cookie đc phân làm 2 loi secure/non-secure và persistent/non-persistent do đó ta
s có 4 kiu cookie là: