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
……………………………………………………………………………………………
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
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
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
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
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
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.
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
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
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
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.
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à: