M Đ U
Ngày nay, khi Internet đ c ph bi n r ng rãi ,các t ch c đ u 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 vi ph m ng d ng c a c ng d ng web ế
ngày càng m r ng thì kh năng xu t hi n l i b t n công 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 kh ượ ườ i cũng ch
đ n gi n là đ th tài ho c đùa b n v i ng i khác.ơ ườ
ng v i s phát tri n không ng ng c a Internet c d ch v trên Internet, s
l ng d ch v t n ng trên Internet cũng 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ươ ế
c p thông tin c a Internet, thì c tài li u chuyên môn b t đ u đ c p đ n nhi u ế
v n đ b o đ man tn d li u cho các máy tính k t n i vào m ng Internet. ế
Vì th v n đ b o đ m an toàn d li u cho các y tính đ c k t n i vàoế ượ ế
m ng Internet là c n thi t nh m m c đích b o v d li u, b o v thông tin doanh ế
nghi p, ng i dùng và b o v h th ng. ườ
Tuy đã có nhi u c g ng t c nhà l p trình Web nh ng v n không th đ m b o ư
ngăn ch n toàn b 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 u t 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 m t i khuôn kh linh đ ng
tăng lên 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.ườ
Vì v y, đ tài này đ c th c hi n v i m c đích m hi u, phân tích các l h ng ượ
b o m t trong các ng d ng Web.
* M c tiêu nhi m v
- Tìm hi u các v n đ liên quan đ n ho t đ ng c a m t ng d ng Web. ế
- Tìm hi u các k thu t t n công ng d ng Web c b n nh : XSS, Session, DOS. ơ ư
- m hi u nghiên c u c th k thu t t n ng chèn câu truy v n SQL
Injectioncác gi i pháp phòng ng a.
- y d ng ng d ng Web Demo th hi n các ch t n công c a k thu t SQL
Injectionđ a ra gi i pháp fix các l h ng trong ch ng trình.ư ươ
- K t qu th c hi n: n m b n ch t cách th c t n công o ng d ng Web,ế
áp d ng o th c t đ h n ch th p nh t kh ng b t n công c ng d ng ế ế
Web s tri n khai.
* Đ i t ng và ph m vi nghiên c u ượ
- C s thuy t liên quan c a ho t đ ng ng d ng Web. ế
- Các hình t n công đ c tr ng vào ng d ng Web. ư
-1-
- K thu t v t qua c a s đăng nh p. ượ
- K thu t l i d ng các câu l nh Select, Insert.
- K thu t d a vào các Stored Procedure.
- Các gi i pháp phòng ng a m c qu n tr và ng i l p trình ng d ng. ườ
- Nn ng ASP.NET, SQL Server 2005.
* Ph ng pp nghiên c u ươ
- T ng h p tìm hi u, nghiên c u t các t li u liên quan. ư
- Phân tích, đánh giá các k thu t t n ng. Đ a ra các gi i pháp phòng ng a c ư
m c.
- Thi t k table c s d li u, xây d ng ng d ng Web Demo th hi n c chế ế ơ
t n công c a SQL Injection.
* Ý nghĩa th c ti n c a đ tài
- V m t thuy t, đ tài th hi n c cách t n công c b n th ng đ c ế ơ ườ ượ
hacker s d ng đ t n công vào các ng d ng Web t tr c đ n nay, và có th s ướ ế
d ng ti p trong th i gian dài trong t ng lai. ế ươ
- V m t th c ti n, v i các cách t n ng c a hacker nh đãm hi u, nghiên c u ư
trong báo cáo này, n u áp d ng t t các ph ng pháp phòng ng a trong đ i nêu raế ươ
s góp ph n nâng cao kh năng b o v c ng d ng Web tr c nguy c t n công ướ ơ
c a k x u.
* B c c c a báo cáo đ án t t nghi p
o cáo t t nghi p đ c chia thành 3 ch ng: ượ ươ
- Ch ng 1:ươ T NG QUAN V WEB VÀ C NGUY C T N NG NG Ơ
D NG WEB
- Ch ng 2:ươ M T S PH NG PHÁP T N CÔNG O TRANG WEB VÀ ƯƠ
CH PH NG CH NG
- Ch ng 3:ươ Y D NG NG D NG DEMO SQL INJECTION
-2-
CH NG 1ƯƠ
T NG QUAN V WEB VÀ CÁC NGUY C T N CÔNG Ơ
NG D NG WEB
1.1 T NG QUAN V WEB
1.1.1 Khái ni m ng d ng Web
ng d ng Web m t ng d ng ch , khách s d ng giao th c HTTP đ
t ngc 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 m t trình duy t web nhườ ườ ư
Internet Explorer hay Netscape Navigator. Cũng th 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 ing 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
ch ng trình th là các trang trao đ i mua bán, c di n đàn ,g i nh n e-mial…ươ
T c đ phát tri n c a 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 trình ch Web th k t n iượ ế
o c c s d li u đ n gi n trên cùng y ch . Ngày nay, ng d ng webơ ơ
th ng đ c vi t b ng Java ch y trên y ch phân tán, k t n i đ n nhi uư ượ ế ế ế
ngu n d li u.
nhi u bi n th , m t ng d ng Web thông th ng đ c c u trúc nh ế ườ ượ ư
m t ng d ng ba l p:
nh 1.1 M t s ng d ng web th ng có ki n trúc ườ ế
-3-
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 th thêmc ng d ng t o b c c cho trang web.
L p ng d ng: Là n i x lý các ng d ng web. Nó s x thông tin ng i ơ ườ
ng yêu c u, đ a ra quy t đ nh, g i k t qu đ n “l p trình 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 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.
nh 1.2 hình ho t đ ng c a m t ng d ng Web
Ki n trúc m t ng d ng Webế
Trong đó :
- Trình duy t: Internet Explorer, Nétcap Navigator
-Trình ch : Apache, IIS….
- H qu n tr c s d li u : SQL, Server, MySQL, DB2, Access… ơ
Bên c nh đó, m t g i pháp dùng đ b o v m t h th ng m ng th ng đ c ườ ượ
s d ng b c t ng l a, vai trò nh l p rào ch n n ngoài m t h ườ ư
th ng m ng vì ch c năng chính c a firewall là ki m soát lu ng thông tinh gi a c
y nh. th xem firewall nh m t b l c thông tin, c đ nh cho phép ư
-4-
m t máy tính này đ c truy xu t đ n m t máy tính khác hay không, hay m t m ng ượ ế
y có đ c truy xu t đ n m ng kia hay không.ượ ế
Ng i ta th ng dùng firewall vào m c đích:ườ ườ
Cho phép ho c c m nh ng d ch v truy xu t ra ngoài.
Cho phép ho c c m nh ng d ch v t ngi truy nh p o trong.
Ki m soát đ a ch truy nh p, c m đ a ch truy nh p.
1.1.2 Các v n đ liên quan đ n ng d ng Web ế
1.1.2.1 Ngu n g c phát tri n ng d ng Web
c ng d ng Web đ c phát tri n t nhi u ngu n khác nhau, n các l ượ
h ng, các l i b o m t cũng r t đa d ng. Tuy v y, các ng d ng Web ch y u ế
đ c phát tri n t c ngu n chính sau đây:ượ
Ng i l p trình t phát tri n ng d ng Web (S d ng c ngôn ng k chư
b n đ t o ng d ng, phát tri n r ng rãi ít quan m đ n quá trình phát ế
tri n ng d ng an toàn. Thi u đ i ngũ l p trình v i k năng nh n bi t phát ế ế
tri n ng d ng tránh các l i b o m t).
S d ng ng d ng Web t mã ngu n m (Th ng không theo dõi c p ườ
nh t các b n vá l i b o m t).
Phát tri n ng d ng Web t m t ng d ng m khác (Tr ng h p y ườ
th ng không ki m tra l i b o m t ng d ng c tr c khi phát tri n ti p,ườ ướ ế
n v n t n t i các l i b o m t).
1.2.1.2 S phát tri n đa d ng c a ng d ng Web
Ngày nay v i s phát tri n không ng ng c a Internet, c ng d ng Web cũng
phát tri n đa d ng trên nhi u lĩnh v c: C ng thông tin đi n t , báo tin t c đi n t ,
giao d ch tài chính nn hàng, th tr ng ch ng khoán, trang tng tin đi n t doanh ườ
nghi p,…
1.1.3 t ho t đ ng c a ng d ng Web
Đ u tiên trình duy t s g i m t yêu c u (request) đ n trình ch Web thông ế
qua các l nh c b n GET, POST….c a giao th c HTTP, trình ch lúc y th ơ
cho th c thi m t ch ng trình đ c xây d ng t nhi u ngôn ng nh : C,C+ ươ ượ ư
+,java… ho c trình ch yêu c u b di n d c th c thi các trang ASP, JSP…theo yêu
c u c a trình khách.
-5-