Báo cáo "Các phương thức tấn công và phòng thủ web server "

Báo cáo "Các phương thức tấn công và phòng thủ web server "

LI M ĐU
Cùng vi s phát trin ca công ngh thông tin, công ngh mng máy tính s
phát trin ca mng internet ngày càng phát trin đa dng phong phú. Các dch v
trên mng đư thơm nhp vào hu ht các lĩnh vực trong đi sng hi. Các thông tin
trên Internet cũng đa dng v ni dung hình thc, trong đó rt nhiu thông tin
cần đc bo mt cao hn bi tính kinh t, tính chính xác và tính tin cy ca nó.
Bên cnh đó, các hình thc phá hoi mng cũng tr nên tinh vi và phc tp hn. Do
đó đối vi mi h thng, nhim v bo mt đc đặt ra cho ngi qun tr mng là ht
sc quan trng và cn thit. Xut phát t nhng thc t đó, chúng ta sm hiu v các
cách tn công ph bin nht hin nay và các phòng chng các loi tn công này.
Chính vì vy, thông qua vic nghiên cu mt s phng pháp tn công và cách bo
mt các la tn công này,tôi mong mun góp mt phn nh vào vic nghiên cu và tìm
hiu v các vn đ an ninh mng giúp cho vic hc tp và nghiên cu.
Tôi xin chân thành cm n s hng dn ca Thy Đng Ngọc Cng thy trc
tip hng dn đ án chuyên ngành cho tôi, giúp tôi có th hoƠn thƠnh đ án này.
1. Lý do chn đ tài
Trong những năm gần đơy, Vit Nam ngày càng phát trin nht v mt công
ngh thông tin. Đặc bit v ng dng web, hầu nh mọi ngi ai cũng tng nghe
làm vic trên ng dng web. Website tr nên ph bin tr thành mt phn quan
trng ca mọi ngi nht các doanh nghip, công ty. Bên cnh đó lỦ do an toƠn
bo mt cho ng dng web luôn vn đ nan gii ca mọi ngi.Vì vy chúng ta s
đi tìm hiu ng dng web và cách thc tn công và bo mt web.
2. Mc tiêu
Giúp chúng ta th hiu hn v các ng dng website, các mối đe dọa v vn đ
an toàn thông tin khi chúng ta làm vic trên ng dng web hàng ngày, hiu hn v
các k thut tn công và bo mt web.
3. Phm vi
Tìm hiu các k thut tn công ph bin nht hin nay nh SQL Injection, Denial
Of Service, Local Attack,…Cách bo mt, phòng th các loi tn công ph bin trên
mt cách tng quan nht
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 2
MC LC
CHNG 1......................................................................................................... 4
TNG QUAN V WEBSITE, CÁC DCH V CA WEBSITE VÀ LI BO MT
THÔNG DNG ................................................................................................... 4
1.1. Mô t Website và cách hot đng ................................................................. 4
1.2. Các dch vng dng trên nn web .......................................................... 5
CHNG 2......................................................................................................... 6
CÁC LOI TN CÔNG VÀ BO MT NG DNG WEB PH BIN ................ 6
2.1. LOCAL ATTACK ...................................................................................... 6
2.1.1. Tìm hiu v Local Attack ....................................................................... 6
2.1.2. Cách tn công Local Attack ................................................................... 6
2.1.3. Cách bo mt cho Local Attack ............................................................ 10
2.1.4. Các công c h tr .............................................................................. 14
2.2. Tn công t chi dch v - (Denial Of Service) ............................................ 15
2.2.1. DOS(Denial Of Service) ...................................................................... 15
2.2.2. Ddos(Distributed Denial of Service) ..................................................... 18
2.2.3. Tn công t chi dch v phn x nhiu vùng DRDoS (Distributed
Reflection Denial of Service) ........................................................................ 30
2.3. SQL Injection ........................................................................................... 32
2.3.1. Tn công SQL injection ....................................................................... 32
2.3.2.Cách Phòng Tránh SQL Injection .......................................................... 41
2.4. Cross Site Scripting (XSS) ......................................................................... 46
2.4.1. Tn công XSS ..................................................................................... 46
2.4.2. Phòng chng. ...................................................................................... 49
CHNG 3....................................................................................................... 50
DEMO, ĐÁNH GIÁ VÀ HNG PHÁT TRIN ĐI .................................... 50
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 3
3.1. Demo ....................................................................................................... 50
3.2. Kt lun ................................................................................................... 51
3.2.1. Các vn đ đt đc ............................................................................ 51
3.2.2. Hn ch .............................................................................................. 52
3.2.3. Hng phát trin đ tài ........................................................................ 52
NHN XÉT CA GING VIểN HNG DN ................................................. 54
NHN XÉT CA GING VIÊN PHN BIN .................................................... 55
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 4
CHNG 1
TNG QUAN V WEBSITE, CÁC DCH V CA WEBSITE VÀ LI
BO MT THÔNG DNG
1.1. Mô t Website vƠ cách hot đng
Website mt “trang web” trên mng Internet, đơy ni gii thiu nhng
thông tin, hình nh v doanh nghip sn phm, dch v ca doanh nghip (hay gii
thiu bt c thông tin gì) đ khách hàng th truy cp bt k ni đơu, bt c lúc
nào.
Website là tp hp nhiu trang [web page]. Khi doanh nghip y dng website
nghĩa đang y dựng nhiu trang thông tin, catalog sn phm, dch v....Đ to n
mt website cn phi có 3 yu t c bn:
Cn phi có tên min (domain).
Ni lu trữ website (hosting).
Ni dung các trang thông tin [web page].
Mt s thut ng c bn:
Website đng (Dynamic website) website c s d liu, đc cung cp
công c qun lỦ website (Admin Tool). Đặc đim ca website đng là tính linh hot và
th cp nht thông tin thng xuyên, qun các thành phn trên website d dàng.
Loi website y thng đc vit bng các ngôn ng lp trình nh PHP, Asp.net,
JSP, Perl,..., qun tr C s d liu bng SQL hoc MySQL...
Website tĩnh do lp trình bng ngôn ng HTML theo từng trang nhbrochure,
không c s d liu không công c qun thông tin trên website. Thông
thng website tĩnh đc thit k bng các phn mm nh FrontPage, Dreamwaver,...
Đặc đim ca website tĩnh ít thay đi ni dung, s thay đi ni dung y thng
liên quan đn s thay đi các văn bn đi kèm th hin ni dung trên đó.
Hin nay, hu ht các doanh nghip đu s dng website đng, th h công
ngh website đc mọi ngi bit đn là web 2.0.
- Tên min (domain): Tên min chính đa ch website, trên internet ch tn ti duy
nht mt đa ch (tc là tn ti duy nht mt tên min). Có 2 loi tên min:
- Tên min Quc t: là tên min có dng .com; .net; .org; .biz; .name ...
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 5
- Tên min Vit Nam: là tên min có dng .vn; .com.vn; .net.vn; org.vn; .gov.vn;...
- Lu trữ website: D liu thông tin ca website phi đc lu trữ trên mt y tính
(máy ch - server) luôn hot đng kt ni vi mng Internet. Mt server th lu
tr nhiu website, nu server này b s c chng hn tt trong mt thi đim nƠo đó thì
không ai th truy cp đc nhng website lu tr trên server ti thi đim b s c.
- Tùy theo nhu cầu lu trữ thông tin doanh nghip th thuê dung lng thích
hp cho website [thuê dung lng host].
- Dung lng host: ni đ lu c s tr d liu ca website (hình nh, thông tin
…), đn v đo dung lng thng là Mb hoc Gb.
- Băng thông hay dung lng đng truyn truyn: tng s Mb d liu ti lên máy
ch hoc ti v t máy ch (download, upload) ni đặt website, đn v đo thông
thng là Mb/Tháng.
1.2. Các dch v vƠ ng dng trên nn web
Vi công ngh hin nay, website không ch đn gin mt trang tin cung cp
các tin bƠi đn gin. Nhng ng dng vit trên nn web không ch đc gi mt
phn ca website na, gi đơy chúng đc gi là phn mm vit trên nn web.
rt nhiu phn mm chy trên nn web nh Google word (x lỦ văn bn), Google
spreadsheets (x lý bng tính), Email ,…
Mt s u đim ca phn mm hay ng dng chy trên nn web:
Mi ngi đu có trình duyt và bn ch cn trình duyt đ chy phn mm.
Phn mm luôn luôn đc cp nht vì chúng chy trên server
Luôn sn sàng 24/7
D dàng backup d liu thng xuyên
Có th truy cp mi lúc, mọi ni, min là bn có mng
Chi phí trin khai cc r so vi phn mm chy trên desktop
Hãy hình dung bn có mt phn mm qun lý bán hàng hay qun lý công vic
công ty. Không phi lúc nào bn cũng công ty, vi phn mm vit trên nn web, bn
th vào kim tra, điu hành bt c đơu, thm chí bn ch cn mt chic đin thoi
chy đc trình duyt nh IPhone mà không cần đn mt chic máy tính.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 6
CHNG 2
CÁC LOI TN CÔNG VÀ BO MT NG DNG WEB PH BIN
2.1. LOCAL ATTACK
2.1.1. Tìm hiu v Local Attack
- Local attack mt trong nhng kiu hack rt ph bin không đc khuyên
dùng.Đối mt web server thông thng khi bn đăng kỦ mt tài khon trên server nào
đó bn s đc cp mt tài khon trên server đó mt th mc đ qun site ca
mình. d : tenserver/tentaikhoancuaban. nh vy cũng mt tài khon ca
ngi dùng khác tng tự nh : tenserver/taikhoan1.Gi s taikhoan1 b hacker chim
đc thì hacker th dùng các th thut,các đon scrip,các đon lnh đ truy cp
sang th mc cha site ca bn tenserver/taikhoancuaban. ng theo cách y
hacker th tn công sang các site ca ngi dùng khác th ly thông tin
admin,database,các thông tin bo mt khác hoc chèn các đon mư đc vào trang index
ca site bn. Dng tn công trên gi là Local Attack
- Thông thng nht, Local Attack đc s dng đ đọc ly thông tin config t
victim, sau đó dựa vào thông tin config và mc đích ca hacker đ phá hoi website
2.1.2. Cách tn công Local Attack
- Đ thc hin tn công Local Attack, y theo cách thc ca hacker nhng
cách Local khác nhau. Thông thng thì các hacker thng s dng các đon lnh đ
tn công vào database.
2.1.2.1. Chuẩn bị
- Trc tiên phi mt con PHP/ASP/CGI backdoor trên server. Backdoor t
rt nhiu loi khác nhau nhng ph bin nht phpRemoteView (thng đc gi
remview) R57Shell, CGITelnet,C99,…Tin hành upload các công c trên lên,
thng lƠ các con shell nh R57,C99,…
- Upload mt trong nhng công c đó lên host (Thng thì chúng ta s dng các con
shell R57,C99,.. vì nó mnh và d s dng)
- Đ có host chúng ta có nhiu cách:
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 7
+ Mua mt cái host(cách này hacker ít s dng vì nhiu lỦ do nhng lỦ do c bn vn
tn tin khi up shell lên nu b admin ca server phát hin s b del host,..Vi
cách này thì sau khi Local xong thì nên xóa các con shell ngay lp tc.
+ Hack mt trang b li upload shell lên (thng thì hacker s dng SQL Injection
đ hack mt trang web chim tài khon admin ca trang web đó upload các con
shell lên)hoc khai thác li inclusion
+ Search backdoor (Vào google.com search keyword: <?phpRemoteView?> , r57Shell
...). Vói cách này thì hu ht các con shell là ca các hacker đư sử dng vƠ cha b xóa,
nu đc thì chúng ta nên upload cho chúng ta mt con shell khác
2.1.2.2.Tiến hành Attack
- Sau khi chúng ta chun b xong, tc đư upload đc con shell lên 1 server o
đó. Chúng ta bắt đầu tìm các website cùng server mà bn đư up shell lên, thông thng
các hacker thng s dng Reverse Ip domain hacker đư upload shell đ xem các
website cùng server
- Sau khi m đc danh sách website ,lần lt check xem site o b li th
local sang đc
- Các lnh thng dùng trong shell đ Local Attack
Xem tên domain trên cùng 1 host
ls -la /etc/valiases
cd /etc/vdomainaliases;ls lia
- Trng hp đc bit khi không th xem user nm cùng host thì ta thêm && vào
cd /etc/vdomainaliases && ls lia
- Mun bit tên user thì dùng lnh :
cat /etc/passwd/
Hoc
less /etc/passwd
+ local sang victim, tc là local sang site khác
ví d hin ti con shell chúng ta đang  :
/home/abcd/public_html/
thì chúng ta s local sang nh sau :
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 8
dir home/tên user cn local/public_html
- Mun bit tên user cn local sang thì chúng ta s dng Reverse Ip đ ly danh sách
user trên cùng mt server.Mun bit user đó tn ti hay không chúng ta m trình
duyt web lên đánh đon : Ip ca server/~ tên user (Ví d :
203.166.222.121/~doanchuyennganh). Nu trình duyt hin n trang index ca
website thì tc lƠ user đó tn ti
+Xem ni dung ca file
cat /home/tên user cn local/public_html/index.php
Hoc
Chúng ta mun xem config ca 1 forum thì dùng
ln -s /home/tên user cn local/public_html/forum/includes/config.php
doanchuyennganh.txt
Vi doanchuyennganh.txt đơy file chúng ta to ra trên host ca chúng ta đ xem
file ca ngi khác ! Nu không s dng đc các lnh trên tc server đư disable
chc năng đó.
Thêm 1 s lnh shell trong linux :
- pwd: đa ra ngoƠi mƠn hình th mc đang hot đng (ví d: /etc/ssh).
- cd: thay đi th mc (ví d: cd .. ra mt cp th mc hin ti; cd vidu vƠo th
mc /vidu).
- ls: đa ra danh sách ni dung th mc.
- mkdir: to th mc mi (mkdir tên_thumuc).
- touch: to file mi (touch ten_file).
- rmdir: b mt th mc (rmdir ten_thumuc).
- cp: copy file hoặc th mc (cp file_ngun file_đích).
- mv: di chuyn file hoặc th mc; cũng đc dùng đ đặt li tên file hoặc th mc
(mv v_trí_cũ v_trí_mi hoc mv tên_tên_mi).
- rm: loi b file (rm tên_file).
- Đm kim file, bn th dùng: - find : dùng cho các tên file. - grep <>: đ tìm ni
dung trong file.
Đ xem mt file, bn có th dùng:
- more : hin th file theo tng trang.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 9
- cat <>: hin th tt c file.
- Nu mun kt ni ti mt host t xa, s dng lnh ssh. Cú pháp là ssh <tên_host>.
Qun lý h thng:
- ps: hin th các chng trình hin thi đang chy (rt hu ích: ps là cái nhìn toàn b
v tt c các chng trình).
- Trong danh sách đa ra khi thc hin lnh ps, bn s thy s PID (Process
identification - nhân dng tin trình).
Con s này s đc hỏi đn khi mun ngng mt dch v hay ng dng, dùng lnh kill
- top: hot đng khá giống nh Task Manager trong Windows. đa ra thông tin v
tt c tài nguyên h thng, các tin trình đang chy, tốc đ load trung bình… Lnh top
-d <delay> thit lp khong thi gian lƠm ti li h thng. Bn th đặt bt k giá
tr nào, t .1 (tc 10 mili giây) ti 100 (tc 100 giây) hoc thm chí ln hn.
- uptime: th hin thi gian ca h thng tốc đ load trung bình trong khong thi
gian đó, trc đơy lƠ 5 phút vƠ 15 phút.
Thông thng tốc đ load trung bình đc tính toán theo phần trăm tƠi
nguyên h thng (vi x lý, RAM, cng vào/ra, tốc đ load mng) đc dùng
ti mt thi đim. Nu tốc đ đc tính toán 0.37, tc 37% tài nguyên
đc s dng. Giá tr ln hn nh 2.35 nghĩa h thng phi đi mt s d
liu, khi đó s tính toán nhanh hn 235% không gp phi vn đ gì.
Nhng giữa các phân phi có th khác nhau mt chút.
- free: hin th thông tin trên b nh h thng.
- ifconfig <tên_giao_din>: đ xem thông tin chi tit v các giao din mng; thông
thng giao din mng ethernet tên eth(). Bn th cƠi đt các thit lp mng
nh đa ch IP hoc bng cách dùng lnh y (xem man ifconfig). Nu điu đó
cha chính xác, bn th stop hoc start (tc ngng hoc khi_đng) giao din bng
cách dùng lnh ifconfig <tên_giao_din> up/down.
- passwd: cho phép bn thay đi mt khu (passwd ngi_dùng_s_hu_mt_khu
hoc tên ngi dùng khác nu bn đăng nhp h thng vi vai trò root).
- useradd: cho phép bn thêm ngi dùng mi (xem man useradd).
phân phi nào, bn cũng th dùng phím TAB đ t đng hoàn chnh mt lnh
hoc tên file. Điu y rt hu ích khi bn quen vi các lnh. Bn cũng th s dng
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 10
các phím lên, xuống đ cun xem các lnh đư nhp. Bn có th dùng lnh đa dòng trên
mt dòng. d nh, nu mun to ba th mc ch trên mt dòng, pháp th là:
mkdir th_mc_1 ; mkdir th_mc_2 ; mkdir th_mc_3.
Mt điu thú v khác na là các lnh dng pipe. Bn th xut mt lnh thông
qua lnh khác. d: man mkdir | tail s đa ra thông tin các dòng cui ng trong
trang xem "th công" ca lnh mkdir.
Nu lúc nƠo đó đc yêu cu phi đăng nhp vi tài khon gc (tc "siêu"
admin ca h thng), bn th đăng nhp tm thi bng cách dùng lnh su. Tham s
-1 (su-1) dùng đ thay đi th mc ch cho các lnh đư hoặc đang dùng. Chú
bn cũng s đc nhc mt mt khu. Đ thoát hay đóng : gõ exit hoc logout.
2.1.3. Cách bo mt cho Local Attack
Đ hn ch Local Attack, chúng ta nên Chmod filemanager ,di chuyn file
config.php và sa đi file htaccess và nht lƠ thng xuyên backup d liu.
-Chmod File Manager:
+ CHMOD th mc Public_html thành 710 thay 750 mặc đnh vic này s giúp bn
bo v đc cu trúc Website ca mình.
+ CHMOD tip các th mc con (diendan (http://diendan.doanchuyennganh.com),
CHMOD th mc diendan (http://diendan.doanchuyennganh.com) thành 701, ri
CHMOD tip các th mc con trong th mc diendan
(http://diendan.doanchuyennganh.com) thành 701
+ CHMOD toàn b file thành 404
Vi CHMOD chc chn khi run shell s hin ra thông báo li:
Not Acceptable An appropriate representation of the requested resource
/test.php could not be found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an
ErrorDocument to handle the request.
Attacker s không view đc.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 11
- Ngoài ra , mt s site thì bn truy cp bng subdomain ca không dng
doanchuyenganh.com/diendan (http://diendan.doanchuyennganh.com), cái này
nhiu Ủ nghĩa, nhng trong bo mt thì nó s rt khác.
+ CHMOD th mc 701 c gắng đừng bao gi CHMOD 777, mt s folder
ko quan trng, bn th CHMOD 755 đ có th hin th đúng đầy đ mt s ni
dung trong Folder đó. Chú ý th này, mt s Server h tr CHMOD th mc đc
101, nu Server ca bn h tr cái này thì hãy s dng nó, bin pháp CHMOD y
rt an toƠn, đn ngay c Owner cũng ko th xem đc cu trúc Folder ngay c khi o
FTP. Hin chServer ca Eshockhost.net là h tr cái này.
+ CHMOD File 604 đừng bao gi đ 666 nu vic cn 666 thì chúng ta
CHMOD tm đ s dng lúc đó, sau đó y CHMOD li ngay. Đối vi các Server h
tr CHMOD file 404 chúng ta y CHMOD nh vy, d Server Eshockhost.net
- Thay đi cu trúc, tên file mc đnh cha các thông tin quan trng . Nu th
hưy thay đi c cu trúc CSDL nu bn lƠm đc .
-Chng local bng cách bt safe-mode (dành cho root):
Nh chúng ta đư bit, đối vi các webshell - PHP, trong PHP
Configuration nhng option đ hn ch tính năng ca c bit r57 - t
đng by pass) nên công vic đầu tiên ca các root account phi cp nht các
phiên bn PHP mi nht config li php.ini : [i]PHP safe mode phng
pháp đ gii quyt vn đ bo mt cho nhng ni server chia sẻ hosting cho
nhiu accounts (shared-server). do thit k 1 cách sai lc ca tng cp
PHP. Hin nay, nhiu ngi đư chọn phng pháp bt safe-mode đ bo mt,
đặc bit là các ISP
- Các hng dn v cu hình Security and Safe Mode :
Code:
safe_mode: mc đnh : "0" sa dưới phân quyn : PHP_INI_SYSTEM
safe_mode_gid: mc đnh :"0"sa dưới phân quyn : PHP_INI_SYSTEM
safe_mode_include_dir: mc đnh :NULL sửa dưới phân quyn : PHP_INI_SYSTEM
safe_mode_exec_dir: mc đnh :""sửa dưới PHP_INI_SYSTEM
safe_mode_allowed_env_vars: mặc định :"PHP_"sửa dưới PHP_INI_SYSTEM
safe_mode_protected_env_vars: mc đnh :"LD_LIBRARY_PATH"sửa dưới
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 12
PHP_INI_SYSTEM
open_basedir: mặc đnh :NULL sửa dưới PHP_INI_SYSTEM
disable_functions: mặc định :"" sửa dưi php.ini
disable_classes : mặc định : ""sa dưới php.ini
- Sau đơy lƠ cách đ đặc chính cu hình server đ bt ch đ safe mode :
Trong file php.ini :
safe_mode = Off chuyn thành safe_mode = On
- disabled_functions nên cha nhng function sau :
PHP Code:
readfile,system, exec, shell_exec, passthru, pcntl_exec, putenv, proc_close,
proc_get_status, proc_nice, proc_open, proc_terminate, popen, pclose, set_time_limit,
escapeshellcmd, escapeshellarg, dl, curl_exec, parse_ini_file, show_source,ini_alter,
virtual, openlog
- Khi đó, ta ví d :
PHP Code:
-rw-rw-r-- 1 doanchuyennganh doanchuyennganh 33 Jul 1 19:20 script.php
-rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd
- Trong script.php là :
PHP Code:
<?php
readfile('/etc/passwd');
?>
- Kt qu :
PHP Code:
Warning: readfile() has been disabled for security reasons in /docroot/script.php on
line 2
- Vài li đim ca vic bt safe mode:
- Thng khi upload file, file s vào /tmp/ vi những ngi quyn không phi
owner.
- Bt safe-mode s nhng bt li vi ngi lp trình code PHP, do đó, họ thng
có: PHP Code:
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 13
<?php
// Kim tra safe mode
if( ini_get('safe_mode') ){
// Code theo bt safe_mode
}else{
// Code theo tt safe_mode
}
?>
-Bo mt server apache :
Bây gi, xin gii thích tm quan trng ca apache :
Client (Hacker using local attack) ------> Shared server
Shared Server --------------------------> Apache
Apache ---------------------------------> PHP/Perl ... x lý ...
PHP/Perl (gi kt qu) -----------------> Apache
Apache (gi kt qu) ------------------>Client
Do đó quyn chính apache set .. ch 0 h ph thuc nhiu vào các application nh
PHP/CGI ...
CƠi đặt apache :
Code:
pw groupadd apache
pw useradd apache -c "Apache Server" -d /dev/null -g apache -s /sbin/nologin
Theo mặc đnh, các process thuc Apache chy vi ch quyn ca ngi
dùng nobody (ngoi tr process chính phi chy vi ch quyn root) GID
thuc nhóm nogroup. Ðiu y th dn đn những đe dọa bo mt nghiêm
trọng. Trong trng hp đt nhp thành công, tin tc có th ly đc quyn truy
dng đn nhng process khác chy ng UID/GID. Bi th, gii pháp tối u
cho Apache chy bng UID/GID t nhóm riêng bit, chuyên chú đn software
y thôi.
Ði vi nhng ai quen dùng *nix hn không l vi khái nim
UID/GID thuc ch đ "file permission". Tuy nhiên, chi tit y nên m rng
mt cho nhng bn đọc cha quen thuc vi UID/GID. Phn to nhóm
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 14
(group) vƠ ngi dùng (user) riêng cho Apache trên có hai chi tit cn chú ý là:
-d /dev/null: không cho phép user Apache có th mc $HOME nhng những user bình
thng khác
-s /sbin/nologin: không cho user Apache dùng bt c mt shell nào c. mt s
trng hp dùng -s /bin/true thay nologin trên, true mt lnh không thc thi
c và hoàn toàn vô hi.
LỦ do không cho phép user Apache th mc $HOME không đc cp
mt "shell" nào cnu account Apachey b đc cho phép, tin tặc cũng không có
c hi tip cn vi system mc đ cn thit cho th thut "leo thang đặc quyn".
Trên môi trng *nix nói chung, "shell" giao din giữa ngi dùng h thng,
không shell thì không c hi tip cn. Nu phn thit lp trên cung cp user
Apache mt $HOME cho phép dùng mt shell nƠo đó thì đư không mang giá tr
trên quan đim "bo mt".
VƠo http://httpd.apache.org/ cƠi đặt phin bn mi nht (hin gi 2.2)
Khi đó ta nên set quyn ca php shell riêng, không quyn đc nhy sang các
user khác .
- Chmod trong /usr/bin nh sau :
-rwxr--r-x root nobody wget cho -rwxr-x--- root compiler gcc
- Chn biên dch gcc, tránh đ user dùng nhng exploit sn biên dch get root.
Trong /bin/:
-rwxr-xr-x root root cp
- Tng tự vi rm, mv, tar, chmod, chown, chgrp...
-rwsr-x--- root wheel su
-rwxr-x--- root root ln
2.1.4. Các công c h tr
-Công c h tr Local Attack ph bin và hay dùng nht là các con shell.Các loi shell
thng s dng là R57,C99,..
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 15
Hình 1. Hình nh ca 1 dng shell
2.2. Tn công từ chối dch v - (Denial Of Service)
2.2.1. DOS(Denial Of Service)
2.2.1.1. Giới thiệu khái quát về DoS:
- DoS (Denial of Service) th t nh hƠnh đng ngăn cn những ngi ng
hp pháp ca mt dch v nƠo đó truy cp sử dng dch v đó. Nó bao gm c vic
lƠm trƠn ngp mng, lƠm mt kt nối vi dch v… mƠ mc đích cuối cùng lƠ lƠm cho
server không th đáp ng đc các yêu cầu sdng dch v từ các client. DoS th
lƠm ngng hot đng ca mt y tính, mt mng ni b, thm chí c mt h thống
mng rt ln. Thực cht ca DoS kẻ tn công s chim dng mt lng ln tƠi
nguyên mng nh băng thông, b nhlƠm mt kh năng xử lỦ các yêu cầu dch
v đn từ các client khác.
2.2.1.2. Các cách thức tấn công:
+ Phá hoi dựa trên tính gii hn hoặc không th phc hi ca tƠi nguyên mng.
- Thông qua kt nối:
Tn công kiu SYN flood:
฀FPRIVATE "TYPE=PICT;ALT="
Li dng các thc hot đng ca kt nối TCP/IP, hacker bắt đầu quá trình thit lp mt
kt nối TPC/IP vi mc tiêu muốn tn công nhng s phá vỡ kt nối ngay sau khi quá
trình SYN SYN ACK hoƠn tt, khin cho mc tiêu ri vƠo trng thái ch (đi gói
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 16
tin ACK từ phía yêu cầu thit lp kt nối) vƠ liên tc gửi gói tin SYN ACK đ thit lp
kt nối . Mt cách khác gi mo đa ch IP ngun ca gói tin yêu cầu thit lp kt
nối SYN vƠ cũng nh trng hp trên, máy tính đích cũng ri vƠo trng thái ch vì các
gói tin SYN ACK không th đi đn đích do đa ch IP ngun không tht. Cách
thc y th đc các hacker áp dng đ tn công mt h thống mng băng
thông ln hn h thống ca hacker.
- Li dng ngun tƠi nguyên ca chính nn nhơn đ tn công:
Tn công kiu Land Attack: cũng tng tự nh SYN flood nhng hacker sử dng
chính IP ca mc tiêu cần tn công đ dùng lƠm đa ch IP ngun trong gói tin, đy
mc tiêu vƠo mt vòng lặp tn khi cố gắng thit lp kt nối vi chính nó.
Tn công kiu UDP flood: hacker gửi gói tin UDP echo vi đa ch IP ngun cng
loopback ca chính mc tiêu cần tn công hoặc ca mt máy tính trong cùng mng vi
mc tiêu qua cng UDP echo (port 7) đ thit lp vic gửi nhn các gói tin echo
trên 2 máy tính (hoặc giữa mc tiêu vi chính nu mc tiêu cu nh cng
loopback) khin cho 2 máy tính y dần dần sử dng ht băng thông ca chúng cn
tr hot đng chia sẻ tƠi nguyên mng ca các máy tính khác trong mng.
-Sử dng băng thông:
Tn công kiu DDoS (Distributed Denial of Service): đơy lƠ cách thc tn công rt
nguy him. Hacker xơm nhp vƠo các h thống máy tính, cƠi đặt các chng trình điu
kin từ xa s kích hot đng thi các chng trình y vƠo cùng mt thi đim đ
đng lot tn công o mt mc tiêu. Cách thc y th huy đng ti hƠng trăm
thm chí hƠng ngƠn y tính cùng tham gia tn công mt lúc (tùy vƠo sự chun b
trc đó ca hacher) th ngốn ht băng thông ca mc tiêu trong nháy mắt.
-Sử dng các ngun tƠi nguyên khác:
Kẻ tn công li dng các ngun tƠi nguyên nn nhơn cần đn đ tn công. Những
kẻ tn công th thay đi dữ liu tự sao chép dữ liu nn nhơn cần lên nhiu
lần lƠm CPU b quá ti vƠ các quá trình xử lỦ dữ liu b đình tr.
- Tn công kiu Smurf Attack: kiu tn công nƠy cần mt h thống rt quan trọng, đó
lƠ mng khuych đi. Hacker dùng đa ch ca máy tính cần tn công gửi broadcast gói
tin ICMP echo cho toƠn b mng. Các y tính trong mng s đng lot gửi gói tin
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 17
ICMP reply cho máy tính mƠ hacker muốn tn công. Kt qu máy tính nƠy s không
th xử lỦ kp thi mt lng ln thông tin nh vy vƠ rt d b treo.
- Tn công kiu Tear Drop: trong mng chuyn mch gói, dữ liu đc chia nhỏ lƠm
nhiu gói tin, mối gói tin mt giá tr offset riêng th truyn đi theo nhiu
đng đ ti đích. Ti đích, nh vƠo giá tr offset ca từng gói tin dữ liu li đc
kt hp li nh ban đầu. Li dng điu nƠy, hacker có th to ra nhiu gói tin có giá tr
offset trùng lặp nhau gửi đn mc tiêu muốn tn công. Kt qu lƠ máy tính đích không
th sắp xp đc những gói tin nƠy vƠ có th b treo do đư dùng ht năng lực xử lỦ ca
h thống.
+.Phá hoi hoặc chnh sửa thông tin cu hình.
Li dng vic cu hình thiu an toƠn (ví dnh vic không xác thực thông tin trong
vic gửi nhn bn tin update ca các router) kẻ tn công s thay đi từ xa hoặc
trực tip các thông tin quan trọng khin cho những ngi dùng hp pháp không th sử
dng dch v. d: hacker th xơm nhp vƠo DNS đ thay đôi thông tin, dn đn
quá trình biên dch domain name sang IP ca DNS b sai lch. Kt qu các yêu cầu
ca client đn mt domain nƠo đó s bin thƠnh mt domain khác.
+.Phá hoi hoặc chnh sửa vt lỦ phần cng.
Li dng quyn hn ca chính bn thơn kẻ tn công đối vi các thit b trong h thống
mng đ tip cn phá hoi (các router, switch…)
2.2.1.3 Các cách phòng chống
- DoS th lƠm tiêu tốn rt nhiu thi gian cũng nh tin bc, vy, cần phi
những bin pháp đ phòng chống:
- hình h thống phi đc y dựng hp lỦ, tránh ph thuc ln nhau quá mc d
dn đn mt b phn gặp sự cố s lƠm c h thống b trc trặc.
- Thit lp password bo v các thit b hay các ngun tƠi nguyên quan trọng.
- Thit lp các mc xác thực đối vi ngi dùng cũng nh các ngun tin trên mng
(các thông tin cp nht đnh tuyn giữa các router cũng nên thit lp  ch đ xác thực)
- y dựng h thống lọc thông tin trên router, firewall… h thống bo v chống li
SYN flood.
- Ch chp nhn các dch v cần thit, tm thi dừng các dch v cha có yêu cầu cung
cp hoặc không sử dng.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 18
- Xơy dựng h thống đnh mc, gii hn cho ngi sử dng đ ngăn ngừa trng hp
ngi dùng ác muốn li dng các tƠi nguyên trên server đ tn công chính server
hay mng, server khác.
- Liên tc cp nht, nghiên cu, kim tra đ phát hin các l hng bo mt bin
pháp khắc phc kp thi.
- Sử dng các bin pháp kim tra hot đng ca h thống mt cách liên tc đ phát
hin ngay những hƠnh đng bt bình thng.
- Xơy dựng h thống dự phòng.
2.2.2. Ddos(Distributed Denial of Service)
- Distributed Denial Of Service (DDoS) là k thut tn công làm các ISP lo âu, gii
hacker chính thng thì không công nhn DdoS là k thut tn công chính thng. Th
nhng Black hat đang có rt nhiu u th khi trin khai tn công bng k thut DdoS.
Vic phòng ngừa vƠ ngăn chặn DdoS vn còn đang thực hin mc đ khc phc hu
qu và truy tìm th phm
2.2.2.1. Các giai đoạn của một cuộc tấn công kiểu DdoS:
Bao gm 3 giai đon:
i. Giai đon chun b:
- Chun b công c quan trng ca cuc tn công, công c nƠy thông thng hot
đng theo mô hình client-server. Hacker có th vit phn mm này hay down load mt
cách d dàng, theo thng tm thi khong hn 10 công c DDoS đc cung cp
min phí trên mng (các công cy s phân tích chi tit vào phn sau)
- K tip, dùng các k thut hack khác đ nm trn quyn mt s host trên mng.
tin hƠnh cƠi đặt các software cn thit trên các host y, vic cu hình th nghim
toàn b attack-netword (bao gm mng li các máy đư b li dng cùng vi các
software đư đc thit lp trên đó, y ca hacker hoc mt s máy khác đư đc
thit lp nh đim phát đng tn công) cũng s đc thc hin trong giai đon này.
ii. Giai đon xác đnh mc tiêu và thi đim:
- Sau khi xác đnh mc tiêu ln cui, hacker s hot đng điu chnh attack-
netword chuyn hng tn công v phía mc tiêu.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 19
- Yu t thi đim s quyt đnh mc đ thit hi và tốc đ đáp ng ca mc tiêu đối
vi cuc tn công.
iii. Phát đng tn công và xóa du vt:
- Đúng thi đim đư đnh, hacker phát đng tn công ty ca mình, lnh tn công
này có th đi qua nhiu cp mói đn host thc s tn công. Toàn b attack-network (có
th lên đn hàng ngàn y), s vt cn ng lc ca server mc tiêu liên tc, ngăn
chn không cho nó hot đng nh thit k.
- Sau mt khong thi gian tn công thích hp, hacker tin hành xóa mi du vt
th truy ngc đn mình, vic y đòi hỏi trình đ khác cao không tuyt đối cn
thit.
2.2.2.2. Kiến trúc tổng quan của DDoS attack-network
Nhìn chung DDoS attack-network có hai mô hình chính:
Mô hình Agent Handler
Mô hình IRC Based
Hình 2. Sơ đồ chính phân loi các kiu tn công DDoS
i. Mô hình Agent Handler:
Theo mô hình này, attack-network gm 3 thành phn: Agent, Client và Handler
Client : lƠ software c s đ hacker điu khin mi hot đng ca attack-network
Handler : là mt thành phn software trung gian gia Agent và Client
Agent : là thành phn software thc hin s tn công mc tiêu, nhn điu khin t
Client thông qua các Handler
DDoS attack-network
Agent -Handler
IRC - Based
Client Handler
Communication
Secret/private
channel
Public channel
TCP
UD
P
ICMP
TCP
ICMP
Client Handler
Communication
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 20
Hình 3. Kiến trúc attack-network kiu Agent Handler
- Attacker s t Client giao tip vi cc1 Handler đ xác đnh s lng Agent đang
online, điu chnh thi đim tn công cp nht các Agent. y theo cách attacker
cu hình attack-network, các Agent s chu s qun lý ca mt hay nhiu Handler.
- Thông thng Attacker s đặt Handler software trên mt Router hay mt server
lng traffic lu thông nhiu. Vic y nhm làm cho các giao tip gia Client,
handler Agent khó b phát hin. Các gia tip y thông thng xy ra trên các
protocol TCP, UDP hay ICMP. Ch nhân thc s ca các Agent thông thng không
h hay bit h b li dng vào cuc tn công kiu DDoS, do h không đ kin thc
hoặc các chng trình Backdoor Agent ch s dng rt ít tài nguyên h thng m cho
hầu nh không th thy nh hng gì đn hiu năng ca h thng.
ii. Mô hình IRC Based:
- Internet Relay Chat (IRC) mt h thng online chat multiuser, IRC cho phép
User to mt kt nối đn multipoint đn nhiu user khác chat thi gian thc. Kin
trúc c IRC network bao gm nhiu IRC server trên khp internet, giao tip vi nhau
trên nhiu kênh (channel). IRC network cho phép user to ba loi channel: public,
private và serect.
Public channel: Cho phép user ca channel đó thy IRC name nhn đc
message ca mi user khác trên cùng channel
Attacker
Attacker
Handler
Handler
Handler
Handler
Agent
Agent
Agent
Agent
Agent
Victim
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 21
Private channel: đc thit k đ giao tip vi các đối tng cho phép. Không cho
phép các user không cùng channel thy IRC name và message trên channel. Tuy nhiên,
nu user ngoài channel dùng mt s lnh channel locator thì có th bit đc s tn ti
ca private channel đó.
Secrect channel : tng t private channel nhng không th xác đnh bng channel
locator.
Hình 4. Kiến trúc attack-network ca kiu IRC-Base
- IRC Based net work cũng tng tự nh Agent Handler network nhng mô hình
này s dng các kênh giao tip IRC m phng tin giao tip gia Client Agent
(không s dng Handler). S dng hình y, attacker còn thêm mt s li th
khác nh:
Các giao tip di dng chat message m cho vic phát hin chúng cùng khó
khăn
IRC traffic có th di chuyn trên mng vi s lng ln mà không b nghi ng
Không cn phi duy tdanh sách các Agent, hacker ch cn logon vào IRC server
đư có th nhn đc report v trng thái các Agent do các channel gi v.
Sau cùng: IRC cũng lƠ mt môi trng file sharing to điu kin phát tán các Agent
code lên nhiu máy khác.
Attacker
Attacker
Agent
Agent
Agent
Agent
Agent
Victim
IRC NETWORK
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 22
2.2.2.3. Phân loại tấn công kiểu DDOS
- Nhìn chung, có rt nhiu bin th ca k thut tn công DDoS nhng nu nhìn di
góc đ chuyên môn thì th chia các bin th này thành hai loi da trên mch đích
tn công: Làm cn kit băng thông vƠ lƠm cn kit tài nguyên h thng
Hình 5. Phân loi các kiu tn công DDoS
i. Nhng kiu tn công làm cn kit băng thông ca mng (BandWith Depletion
Attack)
- BandWith Depletion Attack đc thit k nhm làm tràng ngp mng mc tiêu vi
nhng traffic không cn thit, vi mc đch làm gim ti thiu kh năng ca các traffic
hp l đn đc h thng cung cp dch v ca mc tiêu.
- Có hai loi BandWith Depletion Attack:
+ Flood attack: Điu khin các Agent gi mt lng ln traffic đn h thng dch v
ca mc tiêu, làm dch vy b ht kh năng v băng thông.
+ Amplification attack: Điu khin các agent hay Client t gửi message đn mt đa
ch IP broadcast, m cho tt c các y trong subnet y gửi message đn h thng
dch v ca mc tiêu. Phng pháp y m gia tăng traffic không cn thit, làm suy
gim băng thông ca mc tiêu.
DDoS
Bandwith
Resource Deleption
Flood Attack
Amplification
UDP
Random
Port
Smuft
Protoc
ol
Exploit
Malformed
Paclket
Static
Port
ICMP
Spoof
Sourc
Flaggle
Direct
Loop
TCP SYS
Spoof
source
PUSH
+ACK
IP @
IP Packet
Options
Spoof
source
Spoof
source
Spoof
source
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 23
Flood attack:
Trong phng pháp nƠy, các Agent s gi mt lng ln IP traffic làm h thng dch
v ca mc tiêu b chm li, h thng b treo hay đt đn trng thái hot đng bão hòa.
Làm cho các User thc s ca h thng không s dng đc dch v.
Ta có th chia Flood Attack thành hai loi:
+ UDP Flood Attack: do tính cht connectionless ca UDP, h thng nhn UDP
message ch đn gin nhn vào tt c các packet mình cn phi x lý. Mt lng ln
các UDP packet đc gi đn h thng dch v ca mc tiêu s đy toàn b h thng
đn ngỡng ti hn.
+ Các UDP packet này có th đc gi đn nhiu port tùy ý hay ch duy nht mt port.
Thông thng s gửi đn nhiu port làm cho h thng mc tiêu phi căng ra đ x
lỦ phơn hng cho các packet y. Nu port b tn công không sn sàng thì h thng
mc tiêu s gi ra mt ICMP packet loi “destination port unreachable”. Thông
thng các Agent software s dùng đa ch IP gi đ che giu hành tung, cho nên các
message tr v do không port x s dn đn mt đi ch Ip khác. UDP Flood
attack cũng th làm nh hng đn các kt ni xung quanh mc tiêu do s hi t
ca packet din ra rt mnh.
+ ICMP Flood Attack: đc thit k nhm mc đích qun mng cũng nh đnh v
thit b mng. Khi các Agent gi mt lng ln ICMP_ECHO_REPLY đn h thng
mc tiêu thì h thng này phi reply mt lng tng ng Packet đ tr li, s dn đn
nghn đng truyn. Tng t trng hp trên, đa ch IP ca Agent th b gi
mo.
+Amplification Attack:
- Amplification Attack nhắm đn vic s dng các chc năng h tr đa ch IP
broadcast ca các router nhm khuych đi và hi chuyn cuc tn công. Chc năng
này cho phép bên gi ch đnh mt đa ch IP broadcast cho toàn subnet bên nhn thay
vì nhiu đa ch. Router s có nhim v gửi đn tt c đa ch IP trong subnet đó packet
broadcast mà nó nhn đc.
- Attacker th gi broadcast message trc tip hay thông qua mt s Agent nhm
lƠm gia tăng cng đ ca cuc tn công. Nu attacker trc tip gi message, thì
th li dng các h thống bên trong broadcast network nh mt Agent.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 24
Hình 6. Sơ đồ tn công kiu Amplification Attack
Có th chia amplification attack thành hai loi, Smuft va Fraggle attack:
+ Smuft attack: trong kiu tn công này attacker gi packet đn network amplifier
(router hay thit b mng khác h tr broadcast), vi đa ch ca nn nhân. Thông
thng những packet đc dùng ICMP ECHO REQUEST, các packet y yêu cu
yêu cu n nhn phi tr li bng mt ICMP ECHO REPLY packet. Network
amplifier s gửi đn ICMP ECHO REQUEST packet đn tt c các h thng thuc đa
ch broadcast tt c các h thng này s REPLY packet v đa ch IP ca mc tiêu
tn công Smuft Attack.
+ Fraggle Attack: tng tự nh Smuft attack nhng thay ng ICMP ECHO
REQUEST packet thì s dùng UDP ECHO packet gi đm mc tiêu. Tht ra n mt
bin th khác ca Fraggle attack s gi đn UDP ECHO packet đn chargen port (port
19/UNIX) ca mc tiêu, vi đa ch bên gi echo port (port 7/UNIX) ca mc tiêu,
to nên mt vòng lp hn. Attacker phát đng cuc tn công bng mt ECHO
REQUEST vi đa ch bên nhn mt đa ch broadcast, toàn b h thng thuc đa
Attacker/Agent
VICTIM
Amplifier
Amplifier Network System
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 25
ch này lp tc gửi REPLY đn port echo ca nn nhơn, sau đó từ nn nhân mt
ECHO REPLY li gi tr v đa ch broadcast, quá trình c th tip din. Đơy chính
nguyên nhân Flaggle Attack nguy him hn Smuft Attack rt nhiu.
ii. Nhng kiu tn công làm cn kit tài nguyên: (Resource Deleption Attack)
- Theo đnh nghĩa: Resource Deleption Attack lƠ kiu tn công trong đó Attacker gi
nhng packet dùng các protocol sai chc năng thit k, hay gi nhng packet vi dng
ý làm tt nghn tài nguyên mng m cho các tài nguyên này không phc v user
thông thng khác đc.
ii.a/ Protocol Exploit Attack:
+ TCP SYS Attack: Transfer Control Protocol h tr truyn nhn vi đ tin cy cao
nên s dng phng thc bt tay gia bên gi bên nhn trc khi truyn d liu.
Bc đầu tiên, bên gi gi mt SYN REQUEST packet (Synchronize). Bên nhn nu
nhn đc SYN REQUEST s tr li bằng SYN/ACK REPLY packet. Bc cui
cùng, bên gi s truyên packet cui cùng ACK và bt đu truyn d liu.
Hình 7. Kiu tn công TCP SYS Attack
- Nu bên server đư tr li mt yêu cu SYN bng mt SYN/ACK REPLY nhng
không nhn đc ACK packet cui cùng sau mt khong thi gian quy đnh thì s
resend li SYN/ACK REPLY cho đn ht thi gian timeout. Toàn b tài nguyên h
thống “dự trữ” đ x phiên giao tip nu nhn đc ACK packet cui cùng s b
“phong tỏa” cho đn ht thi gian timeout.
- Nm đc đim yu y, attacker gi mt SYN packet đn nn nhân vi đa ch
bên gi gi mo, kt qunn nhân gi SYN/ACK REPLY đn mt đa ch khá và
s không bao gi nhn đc ACK packet cui cùng, cho đn ht thi gian timeout nn
TCP
Client
Client Port
TCP
Server
SYS
ACK
SYN/ACK
80
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 26
nhân mi nhn ra đc điu y gii phóng các tài nguyên h thng. Tuy nhiên,
nu lng SYN packet gi mo đn vi s lng nhiu dn dp, h thng ca nn
nhân có th b ht tài nguyên.
Hình 8. Attacker gi mo Ip
+ PUSH = ACK Attack: Trong TCP protocol, các packet đc cha trong buffer, khi
buffer đầy tcác packet này s đc chuyn đn ni cần thit. Tuy nhiên, bên gi
th yêu cu h thng unload buffer trc khi buffer đầy bng cách gi mt packet vi
PUSH ACK mang giá tr 1. Nhng packet này m cho h thng ca nn nhân
unload tt c d liu trong TCP buffer ngay lp tc gi mt ACK packet tr v khi
thc hin xong điu này, nu quá trình đc din ra liên tc vi nhiu Agent, h thng
s không th x lỦ đc lng ln packet gi đn và s b treo.
ii.b/ Malformed Packet Attack:
- Malformed Packet Attack cách tn công dùng các Agent đ gi các packet
cu trúc không đúng chun nhm làm cho h thng ca nn nhân b treo.
Có hai loi Malformed Packet Attack:
+ IP address attack: dùng packet đa ch gi nhn ging nhau làm cho h điu
hành ca nn nhân không x lý ni và b treo.
+ IP packet options attack ngu nhiên hóa vùng OPTION trong IP packet thit lp
tt c các bit QoS lên 1, điu này làm cho h thng ca nn nhân phi tn thi gian
phân tích, nu s dng s lng ln Agent th m h thng nn nhân ht kh năng
x lý.
SYN
ACK
SYN/ACK
Client
Server
SYN
SYN/ACK
SYN/ACK
Server
Attacker/Agent
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 27
ii.c/ Mt s đặc tính ca công c DdoS attack:
Hình 9. Mt s đặc tính ca công c DdoS attack
- rt nhiu đim chung v mt software ca các công c DDoS attack. th k
ra mt s đim chung nh: cách cƠi Agent software, phng pháp giao tip gia các
attacker, handler Agent, đim chung v loi h điu hành h tr các công c này.
S đ trên mô t s so sánh tng quan gia các công c tn công DDoS này.
* Cách thc cƠi đặt DDoS Agent:
- Attacker th dùng phng pháp active passive đ cƠi đặt agent software lên
các máy khác nhm thit lp attack-network kiu Agent-Handler hay IRC-based.
- Cách cƠi đặt Active:
+ Scaning: dùng các ng c nh Nmap, Nessus đ m nhng s h trên các h thng
đang online nhằm cƠi đặt Agentsoftware. Chú ý, Nmap s tr v nhng thông tin v
mt h thống đư đc ch đnh bằng đa ch IP, Nessus m kim t nhng đa ch IP
bt k v mt đim yu bit trc nƠo đó.
+ Backdoor: sau khi tìm thy đc danh sách các h thng có th li dng, attacker s
tin hành xâm nhp cài Agentsoftware lên các h thng này. rt nhiu thông tin
sn v cách thc xâm nhp trên mng, nh site ca t chc Common
DDoS software Tool
Agent Setup
Attack
Network
OS supported
Instalation
Hide with rootkit
Active
Passive
Yes
No
Backdoor
Bugged
Corrupted
Protocol
Encruption
Agent
Activation
Methods
Unix
Solaris
Linux
Actively
Poll
Live&wait
TCP
UDP
ICMP
Trojan
Buffer Overlfow
Windows
Agent
IRC
Client
Agent
None
YES
No
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 28
Vulnerabilities and Exposures (CVE), đơy lit phân loi trên 4.000 loi li ca
tt c các h thng hin có. Thông tin này luôn sn sàng cho c gii qun tr mng ln
hacker.
+ Trojan: mt chng trình thc hin mt chc năng thông thng nƠo đó, nhng
li mt s chc năng tim n phc v cho mc đích riêng ca ngi vit ngi
dùng không th bit đc. Có th dùng trojan nh mt Agent software.
+ buffer Overflow: tn dng li buffer overflow, attacker có th làm cho chu trình thc
thi chng trình thông thng b chuyn sang chu trình thực thi chng trình ca
hacker (nm trong vùng d liu ghi đè). th dùng cách y đ tn công vào mt
chng trình có đim yu buffer overflow đ chy chng trình Agent software.
- Cách cƠi đặt passive:
+ Bug Website: attacker th li dng mt s li ca web brower đ cài Agent
software vào máy ca user truy cp. Attaker s to mt website mang ni dung tim n
nhng code lnh đ đặt by user. Khi user truy cp ni dung ca website, thì
website download cƠi đt Agent software mt cách mt. Microsoft Internet
Explorer web browser thng mc tiêu ca cách cƠi đặt y, vi các li ca
ActiveX th cho phép IE brower t đng download cƠi đt code trên y ca
user duyt web.
+ Corrupted file: mt phng pháp khác nhúng code vƠo trong các file thông
thng. Khi user đc hay thc thi các file này, y ca h lp tc b nhim Agent
software. Mt trong nhng k thut ph bin đặt tên file rt dài, do default ca các
h điu hành ch hin th phần đầu ca tên file nên attacker th gi kèm theo email
cho nn nhơn file nh sau: iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do ch thy
phần “Iloveyou.txt” hin th nên user s m file nƠy đ đọc lp tc file nƠy đc
thực thi Agent code đc cài vào máy nn nhân. Ngoài ra còn nhiu cách khác nh
ngy trang file, ghép file…
- Rootkit: nhng chng trình dùng đ xóa du vt v s hin din ca Agent hay
Handler trên y ca nn nhơn. Rootkit thng đc dùng trên Hander software đư
đc cƠi, đóng vai trò xung yu cho s hot đng ca attack-network hay trên các môi
trng mà kh năng b phát hin ca Handler là rt cao. Rootkit rt ít khi dùng trên các
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 29
Agent do mc đ quan trng ca Agent không cao nu mt mt s Agent cũng
không nh hng nhiu đn attack-network.
* Giao tip trên Attack-Network:
- Protocol: giao tip trên attack-network th thc hin trên nn các protocol TCP,
UDP, ICMP.
- hóa các giao tip: mt vài công c DDoS h tr hóa giao tip trên toàn b
attack-network. Tùy theo protocol đc s dng đ giao tip s các phng pháp
mã hóa thích hp. Nu attack-network dng IRC-based thì private và secrect channel
đư h tr mã hóa giao tip.
- Cách kích hot Agent: hai phng pháp ch yu đ kích hot Agent. Cách th
nht Agent s thng xuyên quét thăm Handler hay IRC channel đ nhn ch th
(active Agent). Cách th hai Agent ch đn gin “nằm vùng” ch ch th t
Handler hay IRC Channel.
ii.d. Mt s công c DDoS:
Da trên nn tng chung ca phần trên, đư nhiu công c đc vit ra, thông
thng các công c này ngun m nên mc đ phc tp ngày càng cao
nhiu bin th mi l.
* Công c DDoS dng Agent Handler:
- TrinOO: là mt trong các công c DDoS đầu tiên đc phát tán rng rãi.
TrinOO kin trúc Agent Handler, công c DDoS kiu Bandwidth Depletion
Attack, s dng k thut UDP flood. Các version đầu tiên ca TrinOO không h tr
gi mo đa ch IP. TrinOO Agent đc cƠi đặt li dng li remote buffer overrun.
Hot đng trên h điu hành Solaris 2.5.1 à Red Hat Linux 6.0. Attack network giao
tip ng TCP (attacker client handler) và UDP (Handler Agent). hóa giao
tip dùng phng pháp mư hóa đối xng gia Client, handler và Agent.
- Tribe Flood Network (TFN): Kiu kin trúc Agent Handler, công c DDoS ho
tr kiu Bandwidth Deleption Attack và Resourse Deleption Attack. S dng k thut
UDP flood, ICMP Flood, TCP SYN Smurf Attack. Các version đu tiên không h
tr gi mo đa ch IP, TFN Agent đc cƠi đặt li dng li buffer overflow. Hot
đng trên h điu hành Solaris 2.x Red Hat Linux 6.0. Attack Network giao tip
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 30
dùng ICMP ECHO REPLY packet (TFN2K h tr thêm TCP/UDP vi tính năng chn
protocol tùy ý), không mã hóa giao tip (TFN2K h tr mã hóa)
- Stacheldraht: bin th ca TFNthêm kh năng updat Agent t đng. Giao tip
telnet mư hóa đối xng gia Attacker và Handler.
- Shaft: bin th ca TrinOO, giao tip Handler Agent trên UDP, Attacker
Hendle trên Internet. Tn công dùng k thut UDP, ICMP TCP flood. th tn
công phi hp nhiu kiu cùng lúc. thng chi tit cho phép attacker bit tình
trng tn tht ca nn nhân, mc đ quy ca cuc tn công đ điu chnh s lng
Agent.
* Công c DDoS dng IRC Based:
Công c DDoS dng IRC-based đc phát trin sau các công c dng Agent
Handler. Tuy nhiên, công c DDoS dng IRC phc tp hn rt nhiu, do tích hp rt
nhiu đặc tính ca các công c DDoS dng Agent Handler.
- Trinity: mt đin hình ca công c dng y. Trinity hu ht các k thut tn
công bao gm: UDP, TCP SYS, TCP ACK, TCP fragment, TCP NULL, TCP RST,
TCP random flag, TCP ESTABLISHED packet flood. sn kh năng ngu nhiên
hóa đa ch bên gi. Trinity cũng h tr TCP flood packet vi kh năng ngu nhân tp
CONTROL FLAG. Trinity th nói mt trong s các công c DDoS nguy him
nht.
- Ngoài ra th nhc thêm v mt s công c DDoS khác nh Knight, đc thit k
chy trên Windows, s dng k thut cƠi đặt ca troijan back Orifice. Knight dùng các
k thut tn công nh SYV, UDP Flood vƠ Urgent Pointer Flooder.
- Sau cùng Kaiten, bin th ca Knight, h tr rt nhiu k thut tn công nh:
UDP, TCP flood, SYN, PUSH + ACK attack. Kaiten cũng thừa hng kh năng ngu
nhiên hóa đa ch gi mo ca Trinity.
2.2.3. Tn công từ chối dch v phn x nhiu vùng DRDoS (Distributed
Reflection Denial of Service)
Xut hin vƠo đầu năm 2002, kiu tn công mi nht, mnh nht trong h DoS.
Nu đc thc hin bi k tn công tay ngh thì th h gc bt c h thng phút
chc
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 31
- Mc tiêu chính ca DDDoS chim đot toàn b băng thông ca máy ch, tc
làm tc ngn hoƠn toƠn đng kt ni t máy ch vƠo xng sống ca Internet tiêu
hao tài nguyên máy ch. Trong sut quá trình máy ch b tn công bng DrDoS, không
mt máy khách nào ch th kt nối đc vào y ch đó. Tt c các dch v chy trên
nn TCP/IP nh DNS, HTTP, FTP, POP3, ... đu b vô hiu hóa.
- V c bn, DrDoS s phi hp gia hai kiu DoS DDoS. kiu tn
công SYN vi mt máy tính đn, va s kt hp gia nhiu máy tính đ chim
dng băng thông nh kiu DDoS. K tn công thc hin bng cách gi mo đa ch ca
server mc tiêu ri gi yêu cầu SYN đn các server ln nh Yahoo,Micorosoft…,đ
các server y gửi các gói tin SYN/ACK đn server mc tiêu. Các server ln, đng
truyn mnh đư vô tình đóng vai trò zoombies cho kẻ tn công nh trong DdoS
Hình 10. Sơ đồ mô t kiu tn công DRDOS
- Quá trình gi c lp li liên tc vi nhiu đa ch IP gip t k tn công, vi nhiu
server ln tham gia n server mc tiêu nhanh chóng b quá ti, bandwidth b chim
dng bi server ln. Tính ngh thut ch ch cn vi mt y tính vi modem
56kbps, mt hacker nh ngh th đánh bi bt c máy ch nào trong giây lát
không cn chim đot bt c máy nƠo đ làm phng tin thc hin tn công.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 32
2.3. SQL Injection
2.3.1. Tn công SQL injection
2.3.1.1. SQL Injection là gì?
- Khi trin khai các ng dng web trên Internet, nhiu ngi vn nghĩ rng vic đm
bo an toàn, bo mt nhm gim thiu ti đa kh năng b tn công t các tin tc ch
đn thuần tp trung vào các vn đ nh chn h điu hành, h qun tr c s d liu,
webserver s chy ng dng, ... quên mt ng ngay c bn thân ng dng chy trên
đó cũng tim n mt l hng bo mt rt ln. Mt trong s các l hng y đó SQL
injection. Ti Vit Nam, đư qua thi các qun tr website l vic quét virus, cp
nht các bn li t các phn mm h thống, nhng vic chăm c các li ca các
ng dng li rt ít đc quan tơm. Đó do ti sao trong thi gian va qua, không ít
website ti Vit Nam b tn công đa s đu là li SQL injection. Vy SQL injection
là gì ?
- SQL injection mt thut cho phép nhng k tn ng li dng l hng trong
vic kim tra d liu nhp trong các ng dng web và các thông báo li ca h qun tr
c s d liu đ "tiêm vào" (inject) thi hành các câu lnh SQL bt hp pháp (không
đc ngi phát trin ng dng lng trc). Hu qu ca rt tai hi cho
phép nhng k tn công th thc hin các thao tác xóa, hiu chnh, do toƠn
quyn trên c s d liu ca ng dng, thm chí server ng dng đó đang chy.
Li y thng xy ra trên các ng dng web d liu đc qun bng các h
qun tr c s d liu nh SQL Server, MySQL, Oracle, DB2, Sysbase.
2.3.1.2. Các Dạng Tấn Công SQL Injection
- bn dng thông thng bao gm: vt qua kim tra lúc đăng nhp
(authorization bypass), s dng câu ln SELECT, s dng câu lnh INSERT, s dng
các stored-procedures.
- Đ bit các website bán hàng s dng CSDL SQL ta s dng các soft hoc các
công c tìm li.Hoc các công c tìm kim nh Google.VƠ dùng các Dork m kim
nh : inurl : product.php?id=
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 33
Hình 11. Mt tools tìm site li Online
- Đ bit website nào dính li SQL Injection ta thêm du vƠo sau thanh đa ch.
Ví d : http://www.doanchuyenganh.com/product.php?id=123
Hình 12. Mt site b li SQL Injection
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 34
i. Dng tn công vt qua kim tra đăng nhp
- Vi dng tn công y, tin tc th d dƠng vt qua các trang đăng nhp nh
vào li khi dùng các câu lnh SQL thao tác trên c s d liu ca ng dng web.
Xét mt d đin hình, thông thng đ cho phép ngi dùng truy cp vào các trang
web đc bo mt, h thống thng y dựng trang đăng nhp đ yêu cầu ngi dùng
nhp thông tin v tên đăng nhp mt khu. Sau khi ngi dùng nhp thông tin vào,
h thng s kim tra tên đăng nhp và mt khu có hp l hay không đ quyt đnh cho
phép hay t chi thc hin tip. Trong trng hp y, ngi ta có th dùng hai trang,
mt trang HTML đ hin th form nhp liu và mt trang ASP dùng đ x thông tin
nhp t phía ngi dùng. Ví d: login.htm
<form action="ExecLogin.asp" method="post">
Username: <input type="text" name="fUSRNAME"><br>
Password: <input type="password" name="fPASSWORD"><br>
<input type="submit">
</form>
execlogin.asp
<%
Dim vUsrName, vPassword, objRS, strSQL
vUsrName = Request.Form("fUSRNAME")
vPassword = Request.Form("fPASSWORD")
strSQL = "SELECT * FROM T_USERS " & _
"WHERE USR_NAME=' " & vUsrName & _
" ' and USR_PASSWORD=' " & vPassword & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
If (objRS.EOF) Then
Response.Write "Invalid login."
Else
Response.Write "You are logged in as " & objRS("USR_NAME")
End If
Set objRS = Nothing
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 35
%>
- Thot nhìn, đon trong trang execlogin.asp dng nh không cha bt c mt
l hng v an toƠn nƠo. Ngi dùng không th đăng nhp không tên đăng nhp
mt khu hp l. Tuy nhiên, đon y thc s không an toàn tin đ cho
mt li SQL injection. Đặc bit, ch s h nm ch d liu nhp vào t ngi dùng
đc dùng đy dng trc tip câu lnh SQL. Chính điu y cho phép nhng k tn
công th điu khin câu truy vn s đc thc hin. d, nu ngi dùng nhp
chui sau vào trong c 2 ô nhp liu username/password ca trang login.htm là: ' OR ' '
= ' '. Lúc này, câu truy vn s đc gi thc hin là:
SELECT * FROM T_USERS WHERE USR_NAME ='' OR ''='' and
USR_PASSWORD= '' OR ''=''
- Câu truy vn này là hp l và s tr v tt c các bn ghi ca T_USERS vƠ đon
tip theo x ngi dùng đăng nhp bt hp pháp y nh ngi dùng đăng nhp
hp l.
ii. Dng tn công s dng câu lnh SELECT
- Dng tn công này phc tp hn. Đ thc hin đc kiu tn công này, k tn công
phi kh năng hiu li dng các sh trong các thông báo li t h thống đ
tìm các đim yu khi đầu cho vic tn công. Xét mt d rt thng gp trong c
website v tin tc. Thông thng, s mt trang nhn ID ca tin cn hin th ri
sau đó truy vn ni dung ca tin có ID này.
d: http://www.doanchuyennganh.com/product.asp?ID=123 . ngun cho
chc năng nƠy thng đc vit khá đn gin theo dng
<%
Dim vNewsID, objRS, strSQL
vNewsID = Request("ID")
strSQL = "SELECT * FROM T_NEWS WHERE NEWS_ID =" & vNewsID
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
Set objRS = Nothing
%>
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 36
- Trong các tình huống thông thng, đon y hin th ni dung ca tin có ID
trùng vi ID đư ch đnh hầu nh không thy li. Tuy nhiên, giống nh d
đăng nhp trc, đon mư y đ l s h cho mt li SQL injection khác. K tn
công th thay th mt ID hp l bng cách gán ID cho mt giá tr khác, t đó,
khi đu cho mt cuc tn công bt hp pháp, ví d nh: 0
OR 1=1 (nghĩa là, http://www.doanchuyennganh.com/product.asp?ID=0 or 1=1).
- Câu truy vn SQL lúc y s tr v tt c các article t bng d liu s thc
hin câu lnh:
SELECT * FROM T_NEWS WHERE NEWS_ID=0 or 1=1
- Mt trng hp khác, d nh trang tìm kim. Trang nƠy cho phép ngi dùng
nhp vào các thông tin tìm kim nh Họ, Tên, … Đon mư thng gp là:
<%
Dim vAuthorName, objRS, strSQL
vAuthorName = Request("fAUTHOR_NAME")
strSQL = "SELECT * FROM T_AUTHORS WHERE AUTHOR_NAME =' " & _
vAuthorName & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
Set objRS = Nothing
%>
- Tng tự nh trên, tin tc th li dng s h trong u truy vn SQL đ nhp
vƠo trng tên tác gi bng chui giá tr:
' UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ' '='
- Lúc y, ngoài câu truy vn đầu không thƠnh công, chng trình s thc hin thêm
lnh tip theo sau t khóa UNION na.
- Tt nhiên các d nói trên, dng nh không nguy him, nhng y thử
tng tng k tn công có th xóa toàn b c s d liu bằng cách chèn vƠo các đon
lnh nguy him nh lnh DROP TABLE.
Ví d nh: ' DROP TABLE T_AUTHORS --
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 37
- Chc các bn s thc mc là làm sao bit đc ng dng web b li dng nƠy đc.
Rt đn gin, hãy nhp vào chui (*) nh trên, nu h thng báo li v pháp dng:
Invalid object name “OtherTable”; ta th bit chc h thống đư thực hin câu
SELECT sau t khóa UNION, nh vy mi th tr v li ta đư cố tình to ra
trong câu lnh SELECT.
- Cũng s thc mc m th nào th bit đc tên ca các bng d liu
thc hin các thao tác phá hoi khi ng dng web b li SQL injection. Cũng rt đn
gin, bi trong SQL Server, hai đối tng sysobjects syscolumns cho phép
lit tt c các tên bng ct trong h thng. Ta ch cn chnh li câu lnh
SELECT, ví d nh:
' UNION SELECT name FROM sysobjects WHERE xtype = 'U' th lit đc
tên tt c các bng d liu.
iii. Dng tn công s dng câu lnh INSERT
- Thông thng các ng dng web cho phép ngi dùng đăng mt tài khon đ
tham gia. Chc năng không th thiu sau khi đăng thƠnh công, ngi dùng th
xem hiu chnh thông tin ca mình. SQL injection th đc dùng khi h thng
không kim tra tính hp l ca thông tin nhp vào.
Ví d, mt câu lnh INSERT có th có cú pháp dng:
INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three').
Nu đon mã xây dng câu lnh SQL có dng :
<%
strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _
& strValueTwo & " ', ' " & strValueThree & " ') "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
Set objRS = Nothing
%>
- Thì chc chn s b li SQL injection, bi nu ta nhp vƠo trng th nht ví d
nh: ' + (SELECT TOP 1 FieldName FROM TableName) + '. Lúc này câu truy vn s
là: INSERT INTO TableName VALUES(' ' + (SELECT TOP 1 FieldName FROM
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 38
TableName) + ' ', 'abc', 'def'). Khi đó, lúc thc hin lnh xem thông tin, xem nh bn
đư yêu cầu thc hin thêm mt lnh na đó lƠ: SELECT TOP 1 FieldName FROM
TableName
iiii. Dng tn công s dng stored-procedures
- Vic tn công bng stored-procedures s gây tác hi rt ln nu ng dng đc
thc thi vi quyn qun tr h thng 'sa'.
- Ví d: nu ta thay đon mã tiêm vào dng: ' ; EXEC xp_cmdshell ‘cmd.exe dir C: '.
- Lúc này h thng s thc hin lnh lit kê th mc trên đĩa C:\ cƠi đặt server.
- Vic phá hoi kiu nào tu thuc vào câu lnh đằng sau cmd.exe. Nu cài SQL
Server ch đ mc đnh thì SQL Server chy trên nn SYSTEM, tng đng mc
truy cp Windows. Có th dùng master..xp_cmdshell đ thi hành lnh t xa:
; exec master..xp_cmdshell 'ping 10.10.1.2'--
Th dùng du nháy đôi (") nu du nháy đn (') không làm vic.
Di đơy lƠ mt s extended stored procedure mƠ hacker thng hay s dng đ thc
thi nhng câu lnh xem ni dung thông tin trong máy nn nhân:
Xp_availablemedia: Hin th nhng đĩa hin hành trên máy
Xp_dirtree: Hin th tt c các th mc k c th mc con
Xp_loginconfig: Ly thông tin v ch đ bo mt trên server
Xp_makecab: Cho phép ngi s dng to các tp tin lu trữ trên Server (hay bt c
tp tin nào mà server có th truy xut
Xp_ntsec_enumdomain: lit kê nhng domain mà server có th truy vn.
Xp_terminate_process: chm dt mt tin trình vi tham s PID ca nó.
iiiii. Tn công SQL Injection nâng cao.
Chui kí t không có du nháy đn:
- Nhng nhà lp trình th bo v ng dng ca h bng cách loi b tt c du
nháy, thông thng loi b du nháy bng cách thay mt du nháy thành 2 du nháy.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 39
function escape( input )
input = replace(input, "'", "''")
escape = input
end function
INSERT into User VALUES(666, char(0x63) +char(0x68)
+char(0x72) char(0x69) +char(0x73) ,char(0x63) +char(0x68)
+char(0x72) +char(0x69) +char(0x73),0xffff)
Ví d a.1 :
rƠng lƠ, ngăn chặn đc tt c nhng kiu tn công trên. Tuy nhiên nu mun
to ra mt chui giá trkhông dùng các du nháy, có th dùng hƠm “char()” nh ví
d sau:
Ví d a.2:
d a.2 trên tuy mt câu truy vn không du nháy đn nƠo nhng vn
th insert chui vào bng, vƠ tng đng vi:
INSERT into User VALUES( 666,’chris’,’chris’,255)
Hacker cũng có th chn username , password là sốđ tránh du nháy nh ví d sau:
Ví d a.3:
INSERT into User VALUES( 667,123,123,0xffff)
SQL server s t đng chuyn t s sang chui.
Tn công 2 tng:
- Mc ng dng đư thay th du nháy đn nhng vn còn kh năng b chèn đon
mã SQL .
d b.1: Đ đăng kí account trong ng dng, nhp username nh sau:
Username: admin'
Password: passofadmin
- ng dng s thay th du nháy, kt qu trong câu insert s nh sau:
INSERT into User VALUES(123, 'admin''--', 'password',0xffff) (nhng
trong c s d liu s lu lƠ “admin’--“)
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 40
username = escape( Request.form("username") );
oldpassword = escape( Request.form("oldpassword") );
newpassword = escape( Request.form("newpassword") );
var rso = Server.CreateObject("ADODB.Recordset");
var sql = "select * from users where username = '" + username
+ "' and password = '" + oldpassword + "'";
rso.open( sql, cn );
if (rso.EOF)
{…
- Gi s rng ng dng cho phép ngi dùng thay đi mt khu. Các đon ASP
đc thit k đm bo rằng ngi s dng phi nhp đúng mt khu trc khi nhp
mt khu mi. Đon mư nh sau:
- Câu truy vn thit lp mt khu mi nh sau:
sql = "update users set password = '" + newpassword + "' where username= '" +
rso("username") + "'"
rso(“username”) chính lƠ giá tr username có đc câu truy vn login và nó là admin’--
Câu truy vn lúc nƠy nh sau:
update users set password = 'password' where username = 'admin'--'
- Nh đó hacker có th thay đi mt khu ca admin bng giá tr ca mình. Đơy 1
trng hp còn tn ti trong hu ht nhng ng dng ln ngày nay s dng c ch
loi b d liu. Gii pháp tt nht loi b nhng giá tr li hn chnh sa li.
Nhng mt vn đ là mt s ô nhp d liu (nh ô nhp tên) cho phép nhng
t này. Ví d: O’Brien.
- Cách tt nht đ gii quyt vn đ y không cho phép nhp du nháy đn. Nu
điu này không th thchin đc , thì loi b thay th nh trên. Trong trng hp
này, cách tt nht đm bo tt c d liu đc đa vƠo câu truy vn SQL (k c
nhng giá tr trong c s d liu) phi đc kim soát mt cách cht ch.
Mt s ng dng phòng chng vic thêm câu truy vn t ngi dùng bng cách gii
hn chiu dài ca ô nhp. Tuy nhiên, vi gii hn y thì mt s kiu tn công không
th thc hin đc nhng vn có ch h đ hacker li dng.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 41
Ví d b.2:
Gi s c username và password đu b giihn ti đa lƠ 16 kí t.Nhp:
Username: aaaaaaaaaaaaaaa’
Password :‘; shutdown--
ng dng s thay th mt du nháy đn bằng hai du nháy đn nhng do chiu dài
chui b gii hn ch 16 t nên du nháy đn vừa đc thêm s b xoá mt. Câu
lnh SQL nh sau:
Select * from users where username=’aaaaaaaaaaaaaaa’’ and
password=’’’; shutdown—‘
kt qu là username trong câu lnh có giá tr là:
aaaaaaaaaaaaaaa’ and password=’
iiiii.3. Tránh s kim soát:
- SQL server có mt giao thc kim soát cht ch bng h m sp_traceXXX, cho
phép ghi nhân nhiu s kin xy ra trong c s d liu. Đc bit là các s kin T-SQL,
ghi nhn li tt c các câu lnh SQL thc hin trên Server. Nu ch đ kim soát đc
bt thì tt c các câu truy vn SQL ca hacker cũng b ghi nhn nh đó mt
ngi qun tr có th kim soát những đang xy ra nhanh chóng m ra đc gii
pháp. Nhng cũng mt cách đ chng li điu y, bng cách thêm dòng
“sp_password” vƠo u lnh T-SQL, khi gp chui y thì vic kim tra s ghi
nhnnh sau:
-- ‘sp_password’ was found in the text of this event.
-- The text has benn replaced with this comment for security reasons.
ngay c khi sp_password” xut hin trong phn chú thích. th đ du tt c u
truy vn tn công, ch cần đn gin là thêm sp_password vƠo sau ‘--nh sau:
2.3.2.Cách Phòng Tránh SQL Injection
- Nh vy, th thy li SQL injection khai thác nhng bt cn ca các lp trình
viên phát trin ng dng web khi x các d liu nhp vƠo đ xây dng câu lnh
SQL. c hi t li SQL injection tùy thuc vƠo môi trng cách cu hình h
thng. Nu ng dng s dng quyn dbo (quyn ca ngi s hữu c s d liu -
owner) khi thao c d liu, th xóa toàn b các bng d liu, to các bng d
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 42
liu mi, … Nu ng dng s dng quyn sa (quyn qun tr h thng), nó th điu
khin toàn b h qun tr c s d liu vi quyn hn rng ln nh vy th
to ra các tài khon ngi dùng bt hp pháp đ điu khin h thng ca bn.
• Trong hu ht trình duyt, nhng kí t nên đc mư hoá trên đa ch URL trc khi
đc s dng.
Vic tn công theo SQL Injection da o nhng câu thông báo li do đó vic
phòng chng hay nht vn không cho hin th những thông đip li cho ngi dùng
bng cách thay th nhng li thông báo bằng 1 trang do ngi phát trin thit k mi
khi li xy ra trên ng dng.
• Kim tra giá tr nhp vào ca ngi dùng, thay th nhng t nh ; v..v.. Hưy
loi b các t meta nh “',",/,\,;“ các tự extend nh NULL, CR, LF, ... trong
các string nhn đc t:
o d liu nhp do ngi dùng đ trình
o các tham s t URL
o các giá tr t cookie
Đối vi các giá tr numeric, hãy chuyn sang integer trc khi thc hin câu
truy vnSQL, hoc dùng ISNUMERIC đ chc chn nó là mt s integer.
• Dùng thut toán đ mã hoá d liu
i. Kim tra d liu
- Kim tra tính đúng đn ca d liu1 vn đ phc tp thng cha đc quan
tơm đúng mc trong các ng dng. Khuynh hng ca vic kim tra tính đúng đắn ca
d liu không phi ch cn thêm mt s chc năng vƠo ng dng, phi kim tra
mt cách tng quát nhanh chóng đ đt đc mc đích.
- Nhng m tắt sau đơy s bàn v vic kim tra tính đúng đắn ca d liu, cùng vi
ví d mu đ minh ho cho vn đy.
Có ba gii pháp tip cn vn đy:
1) C gng kim tra và chnh sa đm cho d liu hp l.
2) Loi b nhng d liu bt hp l.
3) Ch chp nhn nhng d liu hp l
• Gii pháp 1: khó thc hin
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 43
function validate_string( input )
known_bad = array("select","insert", "update", "delete", "drop","--", "'"
)
validate_string = true
for i = lbound( known_bad ) to ubound( known_bad )
if ( instr( 1, input, known_bad(i), vbtextcompare ) <> 0 ) then
validate_string = false
exit function
end if
next
end function
- Th nht, ngi lp trình không cn thit phi bit tt c d liu bt hp l, bi vì
nhng dng d liu bt hpl rt đa dng.
- Th hai, vn đ ca trng hp b tn công 2 tng (second-oder SQL
injection) trong vic ly d liu t h thng ra.
• Gii pháp 2: b vô hiu trong các trng hp nh gii pháp 1 là do :
- D liu bt hp l luôn luôn thay đi và cùng vi vic phát trin các kiu tn
công mi.
• Gii pháp 3: tốt hn hai gii pháp kia, nhng s gp mt s hn ch khi cƠi đặt.
- Cách bo mt tt nht kt hp c gii pháp 2 3. Mt d cho s cn thit
kt hp 2-3 du ni gia h tên “Quentin Bassington-Bassington” phi cho phép
du gch ngang trong b đnh nghĩa dữ liu hp l, nhng chui kí t --“ lƠ mt chui
kí t đặc bit trong SQL server.
- Ví d nu có b lc đ :
+ Lc b nhng d liu bt hp l nh ‘--‘,’select’ vƠ ‘union’
+ Mt hàm kim soát đ loi b du nháy đn thì có th đối phó nh sau.
uni’on se’lect @@version--
- Mt s cách cƠi đt các chc năng kim tra d liu c bn
• Cách 1: Từ chi d liu bt hp l
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 44
function escape( input )
input = replace(input, "'", "''")
escape = input
end function
function validatepassword( input )
good_password_chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123
456789"
validatepassword = true
for i = 1 to len( input )
c = mid( input, i, 1 )
if ( InStr( good_password_chars, c ) = 0 ) then
validatepassword = false
exit function
end if
next
end function
• Cách 2: Thay th du nháy đn:
Cách 3: Ch chp nhn d liu hp l
ii. Khoá cht SQL Server (SQL Server Lockdown)
Đơy lƠ mt danh sách các công vic cần lƠm đ bo v SQL server:
• Xác đnh các phng pháp kt ni đn server:
o Dùng tin ích Network Utility đ kim tra rng ch có các th vin mng đang
dùng lƠ hoat đng.
• Kim tra tt c các tài khon có trong SQL Server
o Ch to tài khon có quyn thp cho các ng dng
o Loi b nhng tài khon không cn thit
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 45
o Đm bo rng tt c tài khon có mt mt khu hp l, …
• Kim tra các đối tng tn ti
o Nhiu extended stored procedure có th đc xoá b mt cách an toàn.
Nu điu y đc thc hin, thì ng nên xem xét vic loi b luôn nhng tp tin
.dll cha mã ca các extended stored procedure
o Xoá b tt c c s d liu mu nh “northwind” vƠ “pubs”
o Xóa các stored procedure không dùng nh: master..xp_cmdshell, xp_startmail,
xp_sendmail, sp_makewebtask
• Kim tra nhng tài khon nào có th truy xut đn những đối tng nào
o Đối vi nhng i khon ca mt ng dng nƠo đó dùng đ truy xut c s d
liu thì ch đc cp nhng quyn hn cn thit ti thiu đ truy xut đn nhng đối
tng nó cn dùng. Kim tra lp sa cha ca server
o mt s cách tn công nh “buffer overflow”, “format string” thng chú ý
đn lp bo vy.
• Kim tra các phiên làm vic trên server
Thay đi "Startup chy SQL Server" mc ngi dùng quyn hn thp trong
SQL Server Security.
- Nhn xét:
+ Qua phn tìm hiu v SQL Injection,càng thy rng vic kim tra d liu
trc khi x lý là cn thit.
+ ng dng ngoài vickim tra tính đúng đắn ca d liu, cn mã hóa d liu
ngay bên trong c s d liu và không cho xut trang Web li, báo ni dung li
pháp SQL đ hacker không th thu thp thông tin c s d liu.
- Song song đó lƠ công vic ca ngi qun tr mng.
iii. Thit lp cu hình an toàn cho h qun tr c s d liu
- Cần c ch kim soát cht ch gii hn quyn x d liu đn tài khon
ngi dùng ng dng web đang s dng. Các ng dng thông thng nên tránh
dùng đn các quyn nh dbo hay sa. Quyn càng b hn ch, thit hi càng ít.
NgoƠi ra đ tránh các nguy c t SQL Injection attack, nên chú ý loi b bt thông
tin thut nào cha trong thông đip chuyn xuống cho ngi dùng khi ng dng
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 46
li. Các thông báo li thông thng tit l các chi tit thut th cho phép k tn
công bit đc đim yu ca h thng.
2.4. Cross Site Scripting (XSS)
2.4.1. Tn công XSS
- Cross-Site Scripting (XSS) mt trong những kĩ thut tn công ph bin nht hiên
nay, đng thi cũng mt trong nhng vn đ bo mt quan trọng đối vi các nhà
phát trin web c những ngi s dng web. Bt mt website nào cho phép
ngi s dng đăng thông tin không s kim tra cht ch c đon nguy
him thì đu có th tim n các li XSS.
- Cross-Site Scripting hay còn đc gi tt XSS (thay gi tt CSS đ tránh
nhm ln vi CSS-Cascading Style Sheet ca HTML) mt thut tn công bng
cách chèn vƠo các website đng (ASP, PHP, CGI, JSP ...) nhng th HTML hay
những đon script nguy him th gây nguy hi cho những ngi s dng khác.
Trong đó, những đon nguy him đực chèn vƠo hầu ht đc vit bng các
Client-Site Script nh JavaScript, JScript, DHTML cũng th c các th
HTML.Kĩ thut tn ng XSS đư nhanh chóng tr thành mt trong nhng li ph bin
nht ca Web Applications và mi đe do ca chúng đi vi ngi s dng ngày càng
ln. Ngi chin thng trong cuc thi eWeek OpenHack 2002 ngi đư m ra 2
XSS mi. Phi chăng mối nguy him t XSS đư ngƠy cƠng đc mi ngi chú Ủ hn.
2.4.1.1. Hot động ca XSS:
- V c bn XSS cũng nh SQL Injection hay Source Injection, cũng các yêu
cầu (request) đc gi t các máy client ti server nhằm chèn o đó các thông tin
vt quá tm kim soát ca server. th mt request đc gi t các form d
liu hoặc cũng có th đó ch lƠ các URL nh
http://www.example.com/search.cgi?query=<script>alert('XSS was
found !');</script>
- Và rt có th trình duyt ca bn s hin lên mt thông báo "XSS was found !". Các
đon trong th script không h b gii hn bi chúng hoàn toàn th thay th
bng mt file ngun trên mt server khác thông qua thuc tính src ca th script. Cũng
chính l đó chúng ta cha th lng ht đc đ nguy him ca các li XSS.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 47
- Nhng nu nh các thut tn công khác th m thay đi đc d liu ngun
ca web server (ngun, cu trúc, c s d liu) thì XSS ch gây tn hi đi vi
website phía client nn nhân trc tip những ngi khách duyt site đó. Tt
nhiên đôi khi các hacker cũng s dng thut y đ deface các website nhng đó
vn ch tn công vào b mt ca website. Tht vy, XSS nhng Client-Side Script,
những đon y s ch chy bi trình duyt phía client do đó XSS không m nh
hng đn h thng website nm trên server. Mc tiêu tn công ca XSS không ai
khác chính những ngi s dng khác ca website, khi h nh vào các trang có
cha các đon nguy him do các hacker đ li h th b chuyn ti các website
khác, đặt li homepage, hay nặng hn mt mt khu, mt cookie thm chí máy tính
bn có th s b cài các loi virus, backdoor, worm
2.4.1.2. Cách tn công
i. Scan l hng XSS cua ng dng web
- Cách 1: S dng nhiu chng trình quét li ca ng dng web, d nh
chng trình Web Vulnerability Scanner đ dò quét li XSS.
- Cách 2: Thc hin 5 bc:
Bc 1: M website cn kim tra
Bc 2: Xác đnh các ch (phn) cn kim tra XSS. 1 Site bt k bao gi cũng
có các phn:
Search, error message, web form. Ch yu li XSS nm phn này, nói chung
XSS th xy ra ch nƠo ngi dùng th nhp d liu vƠo sau đó nhn
đc mt cái gì đó. Ví d chúng ta nhp vào chui ‘XSS’
Bc 3: Xác minh kh năng site có b li XSS hay không bng cách xem các
thông tin tr v. d chúng ta thy th y: ‘Không tìm thy XSS…’ , hay ‘TƠi
khon XSS không chính xác’, ‘Đăng nhp vi XSS không thƠnh công’… thì khi đó
kh năng ch đó b dính XSS là rt cao.
Bc 4: Khi đư xác đnh ch kh năng b dính li XSS thì chúng ta s chèn
những đon code ca chúng ta vƠo đ th tip, ví d nh sau:
Chèn đon code này: < script>alert('XSS')< /script> vào ô b li và nhn nút
Login, nu chúng ta nhn đc mt popup có ch ‘XSS’ thì 100% b dính XSS.
Nhng xin chú Ủ , thnh thong vn có trng hp website đó b dính XSS nhng vn
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 48
không xut hin cái popup thì buc lòng bn phi VIEW SOURCES (m bng) nó ra
đ xem . Khi view sources nh kim dòng này < script>alert('XSS)< /script> , nu
thì ht chy , XSS đơy ri.
Gi http://doannguyennganh.com/index.php là site bnh li XSS và ta tìm
đc ni b li nh th này : http://doannguyennganh.com/index.php?page=<script...</
script> , nghĩa lƠ ta có th chèn code ngay trên thanh ADDRESS.
Bc 5: Lên k hoch kch bn tn công
ii. Tn công
- Tht ra thì rt nhiu k thut tn công da trên li XSS y, ch yu sau khi
đư bit cách tìm l hng thì mi ngi smt mu mô cho cách tn công ca mình.
đơy mình xin gii thiu đn các bn mt k thut mình đư thực hin thành công
trên trang moodle ca khoa công ngh thông tin KHTN. K thut ăn cắp password.
- Sau khi đư xác minh mt điu chc chn rng trang moodle b li XSS ch đăng
nhp
- Tôi lp tc vit ngay mt ng dng nh ri up lên mt cái host free, ng dng này
s nhim v nhn thông tin v mssv password gi v ghi xung file txt. Còn
nhn th nào thì mi các bn xem tip... Sau đó:
Bc 1: Tôi to mt mail gi dng nói là: Din đƠn tuyn dng ca Intel, mi
các bn nào quan tâm thì tham gia.Ri to ra mt cái đng link gi:
http://doannguyennganhgia.com/index.php nhng tôi reference ti mt cái trang
gi ca tui. Trong tích tc trangy s gn mt cái đon script đc nhim v ly v
username password sau khi đăng nhp gn vào cái trang tht(Vì trang tht b li
XSS nên cho phép chúng ta gắn đc lên, gn đơy nghĩa khi chúng ta view
source code ca trang lên, chúng ta s thy có mt đon script ca chúng ta nm đơu
đó), ri sau đó redirect sang trang tht ngay lp tc đ khi b nghi ng.
Bc 2: Ngi dùng vƠo mail, tng tht, click vào link thy chy đúng
trang moodle (H đơu ng rng, trang tht đư b gắn đc lên, trong thi gian quá
nhanh nên h không nghi ng c, nhng nu ai đ ý s thy link không đúng).
Bc 3: H đăng nhp, khi đó ng dng s chy biên dch t trên xung, tt
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 49
nhiên s chy luôn c script mƠ chúng ta đư cƠi, khi đó MSSV vƠ password s đc ly
v đ gi cho mt cái trang trên server mƠ chúng ta đư dựng ra.
Bc 4: ng dng server ca ta nhn đc mssv và password, ghi ra file txt.
Bc 5: Kt thúc quá trình tn công, chúng ta mt danh sách các tài khon
ca sinh viên.
2.4.2. Phòng chống.
- Nh đư đ cp trên, mt tn công XSS ch thc hin đc khi gi mt trang web
cho trình duyt web ca nn nhơn m theo script đc ca k tn công. vy
những ngi phát trin web có th bo v website ca mình khi b li dng thông qua
nhng tn công XSS nƠy, đm bo những trang phát sinh đng không cha các tag ca
script bng cách lc xác nhn hp lý các d liu đầu vào t phía ngi dùng hoc
mã hóa(endcoding) và lc các giá tr xut cho ngi dùng.
2.4.2.1. Lc
- Luôn luôn lc các d liu nhp t phía ngi dùng bng cách lc các t meta (kí
t đặc bit) đc đnh nghĩa trong đặc t ca HTML. Mi trng nhp liu bao gm
c tham s liên kt s đc kim tra đ phát hin các th script.
2.4.2.2. Mã hóa
- Li XSS th tránh đc khi y ch Web đm bo những trang phát sinh đc
mã hóa (encoding) thích hp đ ngăn chy chy các script không mong mun.
- hóa phía y ch mt tin trình tt c ni dung phát sinh đng s đi qua
mt hƠm mư hóa ni mƠ các thẻ script s đc thay th bi mã ca nó.
- Nói chung, vic hóa(encoding) đc khuyn khích s dng không yêu
cu bn phi đa ra quyt đnh nhng kí to là hp l hoc không hp l.Tuy nhiên
vic mã hóa tt c d liu không đáng tin cy th tn tài nguyên nh hng đn
kh năng thực thi ca mt sy ch
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 50
CHNG 3
DEMO, ĐỄNH GIỄ VÀ HNG PHÁT TRIN ĐI
3.1. Demo
- Trc tiên ta s dng mt th thut tìm kim nh trên google đ th tìm kim
site b li SQL Injecton. đơy tôi dùng từ khóa: inurl:keywords
Ví d: inurl:sanpham.php?id=3
- S dng t khóa trên google.com tôi chọn đc mt website thit k s sƠi
http://nhanquynhphat.com/sanpham.php?id=3 ; tôi đoán b dính li SQL Injetion
tin hành khai thác li.
- Tôi tin hành kim tra li thy website y b li SQL Injection, tôi tip tc ly
các thông tin v website nh version MySQL đ vic khai thác tr nên rƠng hn.
đơy website sử dng version MySQL >=5 nên tôi th d dàng khai thác li thông
qua information_shema.tables mà không cn phi đoán table ca nó là gì.
Hình 13. Thông tin các table lấy được.
- B qua các table không liên quan ta ly đc các table nh sau: khuyenmai, lienhe,
loaispcon, online, sanpham, tbl_gioithieu, tbl_lienhe, tbl_lienket, tbl_tintuc,
thanhtoan, tintuc, user
- Sau đó tôi tin hành ly thông tin column và data và kt qu nh hình 14.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 51
Hình 14. D liệu ta khai thác được dng mã hóa
- Theo hình 14. d liu ly đc đang dng hóa. Vic khai thác SQL Injection
đn đơy còn 1 bc nữa tìm đng dn đăng nhp qun tr nu mt khu nm
dng mã hóa thì ta cn phi tin hành gii mã.
3.2. Kt lun
3.2.1. Các vn đ đt đc
- Theo yêu cầu đặt ra ban đầu thì cho đn thi đim hin ti, đ án đư đt đc các
ni dung sau:
• Tìm hiu các kĩ thut tn công ng dng Web bao gm các kĩ thut
o Chèn mã lnh thc thi trên trình khách Cross-site Scripting.
o Chèn câu truy vn SQL và Tn công SQL Injection nâng cao
o Tn công Local Acttack.
o T chi dch v .
• Các bin pháp bo mt t s kt hp gia nhà qun tr mng, nhà thit k ng dng
Web vƠ ngi dùng
o Kim tra mt trang Web kh năng b tn công bng những thut
chèn câu lnh SQL, thay đi tham s hay không.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 52
o th phòng chống đc các li tn công thông dng hin nay, nh các vn
đ đư tìm hiu trên.
3.2.2. Hn ch
Trong quá trình lƠm đ án có rt nhiu tài liu tôi tìm kim tuy có mc đích lƠ ging
nhau song li phng pháp khác nhau hoƠn toƠn.Tôi đư cố gng tìm hiu thêm v
chúng nhng không khi có nhiu sai sót
3.2.3. Hng phát trin đ tƠi
Trong phm vi đ án chuyên ngƠnh, đư đt đc các yêu cầu đặt ra.
Bn thơn nhơn em xin đ xut hng phát trin đ án m rng hn s c gng
phát trin thêm nhng ni dung sau:
Tìm hiu thêm v các thut tn công đ đa ra phng pháp bo mt ng
dng Web mc đ sơu hn.
• Tìm hiu v vn đ bo mt sơu hn, không ch dng mc đ mt ng dng
Web mà phát trin hn vần đ bo mt c h thng mng và dch v.
Khai trin chng trình phát hin l hng tốt hn, trên nhiu phng din
thut.
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 53
TÀI LIU THAM KHO
A. Tài liu Ting Vit:
[1] Tn công t chi dch v Dos,Ddos,DRDos. Tác gi Ng.Ng.Thanh Ngh-HVA
[2] Bài ging An Ninh Mng.Tác gi GV.Nguyn Anh Tun-Trung tâm TH-NN Trí
Đc
[3] Li bo mt trên ng dng web cách khc phc.Tác gi Đặng Hi Sn-Trung
tâm ng cu khn cp máy tính Vit Nam
[4] Tn công kiu SQL Injection-Tác hi phòng tránh. Tác gi Lê Đình Duy-Khoa
CNTT-Trng ĐH Khoa Học T Nhiên TP.HCM
[5] Web Application Attack & Defense. c gi Đ Thng-Trung tâm An ninh
mng Athena
[6] XSS c bn. Tác gi Mask-NBTA
B. Tài liu Ting Anh:
[7] SQL Injection-Are you web Applications vulnerable. Author Kevin Spett
[8] An Introduction to SQL Injection Attacks For Oracle Developers.Author Stephen
Kost
[9] How to Attack and fix Local File Disclosure. Author Sangteamtham
C. Tài liu internet:
[10]http://thuvienkhoahoc.com/wiki/K%C4%A9_thu%E1%BA%ADt_t%E1%BA%A
5n_c%C3%B4ng_CROSS-SITE_SCRIPTING »
[11]http://vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:T
%E1%BA%A5n_c%C3%B4ng_t%E1%BB%AB_ch%E1%BB%91i_d%E1%BB%8B
ch_v%E1%BB%A5&action=edit&redlink=1
[12]http://www.hvaonline.net/hvaonline/posts/list/6720.hva;jsessionid=38F900726E07
641F712734A3B2A6F2EC
[13]http://www.ddcntt.vn/forum/showthread.php?t=14
[14]http://ttgtc.com/forum/showthread.php?1385-T%C3%ACm-hi%E1%BB%83u-
v%E1%BB%81-t%E1%BA%A5n-c%C3%B4ng-t%E1%BB%AB-ch%E1%BB%91i-
d%E1%BB%8Bch-v%E1%BB%A5-DoS&s=c580b874a6ea05d220258132c9cef9e3
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 54
NHN XÉT CA GING VIểN HNG DN
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
CÁC PHNG THC TN CÔNG & PHÒNG TH WEB SERVER
NGUYN VNG NGH Trang 55
NHN XÉT CA GING VIÊN PHN BIN
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)
lOMoARcPSD|36212343
| 1/55

Preview text:

lOMoARcPSD|36212343 L I M Đ U
Cùng v i sự phát tri n c a công ngh thông tin, công ngh m ng máy tính và sự
phát tri n c a m ng internet ngày càng phát tri n đa d ng và phong phú. Các d ch v
trên m ng đư thơm nh p vào hầu h t các lĩnh vực trong đ i sống xã h i. Các thông tin
trên Internet cũng đa d ng v n i dung và hình th c, trong đó có r t nhi u thông tin
cần đ c b o m t cao h n b i tính kinh t , tính chính xác và tính tin c y c a nó.
Bên c nh đó, các hình th c phá ho i m ng cũng tr nên tinh vi và ph c t p h n. Do
đó đối v i m i h thống, nhi m v b o m t đ c đặt ra cho ng i qu n tr m ng là h t
s c quan trọng và cần thi t. Xu t phát từ những thực t đó, chúng ta s tìm hi u v các
cách t n công ph bi n nh t hi n nay và các phòng chống các lo i t n công này.
Chính vì v y, thông qua vi c nghiên c u m t số ph ng pháp t n công và cách b o
m t các lọa t n công này,tôi mong muốn góp m t phần nhỏ vào vi c nghiên c u và tìm
hi u v các v n đ an ninh m ng giúp cho vi c học t p và nghiên c u.
Tôi xin chân thành c m n sự h ng d n c a Thầy Đặng Ngọc C ng là thầy trực
ti p h ng d n đ án chuyên ngành cho tôi, giúp tôi có th hoƠn thƠnh đ án này. 1. Lý do chọn đ tài
Trong những năm gần đơy, Vi t Nam ngày càng phát tri n và nh t là v mặt công
ngh thông tin. Đặc bi t là v ng d ng web, hầu nh mọi ng i ai cũng từng nghe và
làm vi c trên ng d ng web. Website tr nên ph bi n và tr thành m t phần quan
trọng c a mọi ng i và nh t là các doanh nghi p, công ty. Bên c nh đó lỦ do an toƠn
b o m t cho ng d ng web luôn là v n đ nan gi i c a mọi ng i.Vì v y chúng ta s
đi tìm hi u ng d ng web và cách th c t n công và b o m t web. 2. M c tiêu
Giúp chúng ta có th hi u h n v các ng d ng website, các mối đe dọa v v n đ
an toàn thông tin khi chúng ta làm vi c trên ng d ng web hàng ngày, hi u rõ h n v
các kỹ thu t t n công và b o m t web. 3. Ph m vi
Tìm hi u các kỹ thu t t n công ph bi n nh t hi n nay nh SQL Injection, Denial
Of Service, Local Attack,…Cách b o m t, phòng th các lo i t n công ph bi n trên m t cách t ng quan nh t
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER M C L C CH
NG 1......................................................................................................... 4
T NG QUAN V WEBSITE, CÁC D CH V C A WEBSITE VÀ L I B O M T
THÔNG D NG ................................................................................................... 4
1.1. Mô t Website và cách ho t đ ng ................................................................. 4
1.2. Các d ch v và ng d ng trên n n web .......................................................... 5 CH
NG 2......................................................................................................... 6
CÁC LO I T N CÔNG VÀ B O M T NG D NG WEB PH BI N ................ 6
2.1. LOCAL ATTACK ...................................................................................... 6
2.1.1. Tìm hi u v Local Attack ....................................................................... 6
2.1.2. Cách t n công Local Attack ................................................................... 6
2.1.3. Cách b o m t cho Local Attack ............................................................ 10
2.1.4. Các công c h tr .............................................................................. 14
2.2. T n công từ chối d ch v - (Denial Of Service) ............................................ 15
2.2.1. DOS(Denial Of Service) ...................................................................... 15
2.2.2. Ddos(Distributed Denial of Service) ..................................................... 18
2.2.3. T n công từ chối d ch v ph n x nhi u vùng DRDoS (Distributed
Reflection Denial of Service) ........................................................................ 30
2.3. SQL Injection ........................................................................................... 32
2.3.1. T n công SQL injection ....................................................................... 32
2.3.2.Cách Phòng Tránh SQL Injection .......................................................... 41
2.4. Cross Site Scripting (XSS) ......................................................................... 46
2.4.1. T n công XSS ..................................................................................... 46
2.4.2. Phòng chống. ...................................................................................... 49 CH
NG 3....................................................................................................... 50 DEMO, ĐÁNH GIÁ VÀ H
NG PHÁT TRI N Đ TÀI .................................... 50 NGUY N V NG NGH Trang 2
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
3.1. Demo ....................................................................................................... 50
3.2. K t lu n ................................................................................................... 51
3.2.1. Các v n đ đ t đ c ............................................................................ 51
3.2.2. H n ch .............................................................................................. 52
3.2.3. H ng phát tri n đ tài ........................................................................ 52 NH N XÉT C A GI NG VIểN H
NG D N ................................................. 54
NH N XÉT C A GI NG VIÊN PH N BI N .................................................... 55 NGUY N V NG NGH Trang 3
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER CH NG 1
TỔNG QUAN V WEBSITE, CÁC D CH V C A WEBSITE VÀ L I B O M T THÔNG D NG
1.1. Mô t Website vƠ cách ho t đ ng
Website là m t “trang web” trên m ng Internet, đơy lƠ n i gi i thi u những
thông tin, hình nh v doanh nghi p và s n ph m, d ch v c a doanh nghi p (hay gi i
thi u b t c thông tin gì) đ khách hàng có th truy c p b t kỳ n i đơu, b t c lúc nào.
Website là t p h p nhi u trang [web page]. Khi doanh nghi p xây dựng website
nghĩa lƠ đang xơy dựng nhi u trang thông tin, catalog s n ph m, d ch v ....Đ t o nên
m t website cần ph i có 3 y u tố c b n:
Cần ph i có tên mi n (domain).
N i l u trữ website (hosting).
N i dung các trang thông tin [web page]. M t số thu t ngữ c b n:
Website đ ng (Dynamic website) lƠ website có c s dữ li u, đ c cung c p
công c qu n lỦ website (Admin Tool). Đặc đi m c a website đ ng là tính linh ho t và
có th c p nh t thông tin th ng xuyên, qu n lý các thành phần trên website d dàng.
Lo i website nƠy th ng đ c vi t bằng các ngôn ngữ l p trình nh PHP, Asp.net,
JSP, Perl,..., qu n tr C s dữ li u bằng SQL hoặc MySQL...
Website tĩnh do l p trình bằng ngôn ngữ HTML theo từng trang nh brochure,
không có c s dữ li u và không có công c qu n lý thông tin trên website. Thông
th ng website tĩnh đ c thi t k bằng các phần m m nh FrontPage, Dreamwaver,...
Đặc đi m c a website tĩnh lƠ ít thay đ i n i dung, sự thay đ i n i dung nƠy th ng
liên quan đ n sự thay đ i các văn b n đi kèm th hi n n i dung trên đó.
Hi n nay, hầu h t các doanh nghi p đ u sử d ng website đ ng, th h công
ngh website đ c mọi ng i bi t đ n là web 2.0.
- Tên mi n (domain): Tên mi n chính lƠ đ a ch website, trên internet ch t n t i duy
nh t m t đ a ch (t c là t n t i duy nh t m t tên mi n). Có 2 lo i tên mi n:
- Tên mi n Quốc t : là tên mi n có d ng .com; .net; .org; .biz; .name ... NGUY N V NG NGH Trang 4
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Tên mi n Vi t Nam: là tên mi n có d ng .vn; .com.vn; .net.vn; org.vn; .gov.vn;...
- L u trữ website: Dữ li u thông tin c a website ph i đ c l u trữ trên m t máy tính
(máy ch - server) luôn ho t đ ng và k t nối v i m ng Internet. M t server có th l u
trữ nhi u website, n u server này b sự cố chẳng h n tắt trong m t th i đi m nƠo đó thì
không ai có th truy c p đ c những website l u trữ trên server t i th i đi m b sự cố.
- Tùy theo nhu cầu l u trữ thông tin mà doanh nghi p có th thuê dung l ng thích
h p cho website [thuê dung l ng host].
- Dung l ng host: LƠ n i đ l u c s trữ dữ li u c a website (hình nh, thông tin
…), đ n v đo dung l ng th ng là Mb hoặc Gb.
- Băng thông hay dung l ng đ ng truy n truy n: Là t ng số Mb dữ li u t i lên máy
ch hoặc t i v từ máy ch (download, upload) n i đặt website, đ n v đo thông th ng là Mb/Tháng.
1.2. Các d ch v vƠ ng d ng trên n n web
V i công ngh hi n nay, website không ch đ n gi n là m t trang tin cung c p
các tin bƠi đ n gi n. Những ng d ng vi t trên n n web không ch đ c gọi là m t
phần c a website nữa, gi đơy chúng đ c gọi là phần m m vi t trên n n web.
Có r t nhi u phần m m ch y trên n n web nh Google word (xử lỦ văn b n), Google
spreadsheets (xử lý b ng tính), Email ,…
M t số u đi m c a phần m m hay ng d ng ch y trên n n web: 
Mọi ng i đ u có trình duy t và b n ch cần trình duy t đ ch y phần m m. 
Phần m m luôn luôn đ c c p nh t vì chúng ch y trên server  Luôn sẵn sàng 24/7 
D dàng backup dữ li u th ng xuyên 
Có th truy c p mọi lúc, mọi n i, mi n là b n có m ng 
Chi phí tri n khai cực rẻ so v i phần m m ch y trên desktop
Hãy hình dung b n có m t phần m m qu n lý bán hàng hay qu n lý công vi c
công ty. Không ph i lúc nào b n cũng công ty, v i phần m m vi t trên n n web, b n
có th vào ki m tra, đi u hành b t c đơu, th m chí b n ch cần m t chi c đi n tho i
ch y đ c trình duy t nh IPhone mà không cần đ n m t chi c máy tính. NGUY N V NG NGH Trang 5
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER CH NG 2
CÁC LO I T N CÔNG VÀ B O M T NG D NG WEB PHỔ BI N 2.1. LOCAL ATTACK
2.1.1. Tìm hi u v Local Attack
- Local attack là m t trong những ki u hack r t ph bi n vƠ không đ c khuyên
dùng.Đối m t web server thông th ng khi b n đăng kỦ m t tài kho n trên server nào
đó b n s đ c c p m t tài kho n trên server đó vƠ m t th m c đ qu n lý site c a
mình. Ví d : tenserver/tentaikhoancuaban. VƠ nh v y cũng có m t tài kho n c a
ng i dùng khác t ng tự nh : tenserver/taikhoan1.Gi sử taikhoan1 b hacker chi m
đ c thì hacker có th dùng các th thu t,các đo n scrip,các đo n mã l nh đ truy c p
sang th m c ch a site c a b n lƠ tenserver/taikhoancuaban. VƠ cũng theo cách nƠy
hacker có th t n công sang các site c a ng i dùng khác và có th l y thông tin
admin,database,các thông tin b o m t khác hoặc chèn các đo n mư đ c vào trang index
c a site b n. D ng t n công trên gọi là Local Attack
- Thông th ng nh t, Local Attack đ c sử d ng đ đọc l y thông tin config từ
victim, sau đó dựa vào thông tin config và m c đích c a hacker đ phá ho i website
2.1.2. Cách t n công Local Attack
- Đ thực hi n t n công Local Attack, tùy theo cách th c c a hacker mà có những
cách Local khác nhau. Thông th ng thì các hacker th ng sử d ng các đo n l nh đ t n công vào database.
2.1.2.1. Chuẩn bị
- Tr c tiên ph i có m t con PHP/ASP/CGI backdoor trên server. Backdoor thì có
r t nhi u lo i khác nhau nh ng ph bi n nh t lƠ phpRemoteView (th ng đ c gọi là
remview) R57Shell, CGITelnet,C99,…Ti n hành upload các công c trên lên,
th ng lƠ các con shell nh R57,C99,…
- Upload m t trong những công c đó lên host (Th ng thì chúng ta sử d ng các con
shell R57,C99,.. vì nó m nh và d sử d ng)
- Đ có host chúng ta có nhi u cách: NGUY N V NG NGH Trang 6
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
+ Mua m t cái host(cách này hacker ít sử d ng vì nhi u lỦ do nh ng lỦ do c b n v n
là tốn ti n mà khi up shell lên n u b admin c a server phát hi n s b del host,..V i
cách này thì sau khi Local xong thì nên xóa các con shell ngay l p t c.
+ Hack m t trang b l i vƠ upload shell lên (th ng thì hacker sử d ng SQL Injection
đ hack m t trang web và chi m tài kho n admin c a trang web đó vƠ upload các con
shell lên)hoặc khai thác l i inclusion
+ Search backdoor (Vào google.com search keyword: <?phpRemoteView?> , r57Shell
...). Vói cách này thì hầu h t các con shell là c a các hacker đư sử d ng vƠ ch a b xóa,
n u đ c thì chúng ta nên upload cho chúng ta m t con shell khác
2.1.2.2.Tiến hành Attack
- Sau khi chúng ta chu n b xong, t c lƠ đư upload đ c con shell lên 1 server nào
đó. Chúng ta bắt đầu tìm các website cùng server mà b n đư up shell lên, thông th ng
các hacker th ng sử d ng Reverse Ip domain mƠ hacker đư upload shell đ xem các website cùng server
- Sau khi tìm đ c danh sách website ,lần l t check xem site nào b l i và có th local sang đ c
- Các l nh th ng dùng trong shell đ Local Attack
Xem tên domain trên cùng 1 host ls -la /etc/valiases
cd /etc/vdomainaliases;ls –lia
- Tr ng h p đặc bi t khi không th xem user nằm cùng host thì ta thêm && vào
cd /etc/vdomainaliases && ls –lia
- Muốn bi t tên user thì dùng l nh : cat /etc/passwd/ Hoặc less /etc/passwd
+ local sang victim, t c là local sang site khác
ví d hi n t i con shell chúng ta đang : /home/abcd/public_html/
thì chúng ta s local sang nh sau : NGUY N V NG NGH Trang 7
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
dir home/tên user cần local/public_html
- Muốn bi t tên user cần local sang thì chúng ta sử d ng Reverse Ip đ l y danh sách
user trên cùng m t server.Muốn bi t user đó có t n t i hay không chúng ta m trình
duy t web lên vƠ đánh đo n : Ip c a server/~ tên user (Ví d :
203.166.222.121/~doanchuyennganh). N u trình duy t hi n lên trang index c a
website thì t c lƠ user đó t n t i +Xem n i dung c a file
cat /home/tên user cần local/public_html/index.php Hoặc
Chúng ta muốn xem config c a 1 forum thì dùng
ln -s /home/tên user cần local/public_html/forum/includes/config.php doanchuyennganh.txt
V i doanchuyennganh.txt đơy lƠ file chúng ta t o ra trên host c a chúng ta đ xem
file c a ng i khác ! N u không sử d ng đ c các l nh trên t c lƠ server đư disable ch c năng đó.
Thêm 1 số l nh shell trong linux :
- pwd: đ a ra ngoƠi mƠn hình th m c đang ho t đ ng (ví d : /etc/ssh).
- cd: thay đ i th m c (ví d : cd .. ậ ra m t c p th m c hi n t i; cd vidu ậ vƠo th m c /vidu).
- ls: đ a ra danh sách n i dung th m c.
- mkdir: t o th m c m i (mkdir tên_thumuc).
- touch: t o file m i (touch ten_file).
- rmdir: bỏ m t th m c (rmdir ten_thumuc).
- cp: copy file hoặc th m c (cp file_ngu n file_đích).
- mv: di chuy n file hoặc th m c; cũng đ c dùng đ đặt l i tên file hoặc th m c
(mv v _trí_cũ v _trí_m i hoặc mv tên_cũ tên_m i).
- rm: lo i bỏ file (rm tên_file).
- Đ tìm ki m file, b n có th dùng: - find : dùng cho các tên file. - grep <>: đ tìm n i dung trong file.
Đ xem m t file, b n có th dùng:
- more : hi n th file theo từng trang. NGUY N V NG NGH Trang 8
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- cat <>: hi n th t t c file.
- N u muốn k t nối t i m t host từ xa, sử d ng l nh ssh. Cú pháp là ssh . Qu n lý h thống:
- ps: hi n th các ch ng trình hi n th i đang ch y (r t hữu ích: ps là cái nhìn toàn b v t t c các ch ng trình).
- Trong danh sách đ a ra khi thực hi n l nh ps, b n s th y có số PID (Process
identification - nhân d ng ti n trình).
Con số này s đ c hỏi đ n khi muốn ngừng m t d ch v hay ng d ng, dùng l nh kill
- top: ho t đ ng khá giống nh Task Manager trong Windows. Nó đ a ra thông tin v
t t c tài nguyên h thống, các ti n trình đang ch y, tốc đ load trung bình… L nh top
-d thi t l p kho ng th i gian lƠm t i l i h thống. B n có th đặt b t kỳ giá
tr nào, từ .1 (t c 10 mili giây) t i 100 (t c 100 giây) hoặc th m chí l n h n.
- uptime: th hi n th i gian c a h thống và tốc đ load trung bình trong kho ng th i
gian đó, tr c đơy lƠ 5 phút vƠ 15 phút.
Thông th ng tốc đ load trung bình đ c tính toán theo phần trăm tƠi
nguyên h thống (vi xử lý, RAM, c ng vào/ra, tốc đ load m ng) đ c dùng
t i m t th i đi m. N u tốc đ đ c tính toán là 0.37, t c có 37% tài nguyên
đ c sử d ng. Giá tr l n h n nh 2.35 nghĩa lƠ h thống ph i đ i m t số dữ
li u, khi đó nó s tính toán nhanh h n 235% mƠ không gặp ph i v n đ gì.
Nh ng giữa các phân phối có th khác nhau m t chút.
- free: hi n th thông tin trên b nh h thống.
- ifconfig : đ xem thông tin chi ti t v các giao di n m ng; thông
th ng giao di n m ng ethernet có tên là eth(). B n có th cƠi đặt các thi t l p m ng
nh đ a ch IP hoặc bằng cách dùng l nh này (xem man ifconfig). N u có đi u gì đó
ch a chính xác, b n có th stop hoặc start (t c ngừng hoặc kh i_đ ng) giao di n bằng
cách dùng l nh ifconfig up/down.
- passwd: cho phép b n thay đ i m t kh u (passwd ng i_dùng_s _hữu_m t_kh u
hoặc tên ng i dùng khác n u b n đăng nh p h thống v i vai trò root).
- useradd: cho phép b n thêm ng i dùng m i (xem man useradd).
Dù phân phối nào, b n cũng có th dùng phím TAB đ tự đ ng hoàn ch nh m t l nh
hoặc tên file. Đi u này r t hữu ích khi b n quen v i các l nh. B n cũng có th sử d ng NGUY N V NG NGH Trang 9
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
các phím lên, xuống đ cu n xem các l nh đư nh p. B n có th dùng l nh đa dòng trên
m t dòng. Ví d nh , n u muốn t o ba th m c ch trên m t dòng, cú pháp có th là:
mkdir th _m c_1 ; mkdir th _m c_2 ; mkdir th _m c_3.
M t đi u thú v khác nữa là các l nh d ng pipe. B n có th xu t m t l nh thông
qua l nh khác. Ví d : man mkdir | tail s đ a ra thông tin các dòng cuối cùng trong
trang xem "th công" c a l nh mkdir.
N u lúc nƠo đó đ c yêu cầu ph i đăng nh p v i tài kho n gốc (t c "siêu"
admin c a h thống), b n có th đăng nh p t m th i bằng cách dùng l nh su. Tham số
-1 (su-1) dùng đ thay đ i th m c ch và cho các l nh đư hoặc đang dùng. Chú Ủ lƠ
b n cũng s đ c nhắc m t m t kh u. Đ thoát hay đóng : gõ exit hoặc logout.
2.1.3. Cách b o m t cho Local Attack
Đ h n ch Local Attack, chúng ta nên Chmod filemanager ,di chuy n file
config.php và sửa đ i file htaccess và nh t lƠ th ng xuyên backup dữ li u. -Chmod File Manager:
+ CHMOD th m c Public_html thành 710 thay vì 750 mặc đ nh vi c này s giúp b n
b o v đ c c u trúc Website c a mình.
+ CHMOD ti p các th m c con (diendan (http://diendan.doanchuyennganh.com),
CHMOD th m c diendan (http://diendan.doanchuyennganh.com) thành 701, r i
CHMOD ti p các th m c con trong th m c diendan
(http://diendan.doanchuyennganh.com) thành 701
+ CHMOD toàn b file thành 404
V i CHMOD chắc chắn khi run shell s hi n ra thông báo l i:
Not Acceptable An appropriate representation of the requested resource
/test.php could not be found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an
ErrorDocument to handle the request. Attacker s không view đ c. NGUY N V NG NGH Trang 10
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Ngoài ra , m t số site thì b n truy c p bằng subdomain c a nó mà không là d ng
doanchuyenganh.com/diendan (http://diendan.doanchuyennganh.com), cái này có
nhi u Ủ nghĩa, nh ng trong b o m t thì nó s r t khác.
+ CHMOD th m c là 701 và cố gắng đừng bao gi CHMOD 777, có m t số folder
ko quan trọng, b n có th CHMOD 755 đ có th hi n th đúng vƠ đầy đ m t số n i
dung trong Folder đó. Chú ý th này, m t số Server h tr CHMOD th m c đ c
101, n u Server c a b n h tr cái này thì hãy sử d ng nó, vì bi n pháp CHMOD này
r t an toƠn, đ n ngay c Owner cũng ko th xem đ c c u trúc Folder ngay c khi vào
FTP. Hi n ch có Server c a Eshockhost.net là h tr cái này.
+ CHMOD File lƠ 604 vƠ đừng bao gi đ là 666 n u có vi c cần 666 thì chúng ta
CHMOD t m đ sử d ng lúc đó, sau đó hưy CHMOD l i ngay. Đối v i các Server h
tr CHMOD file 404 chúng ta hưy CHMOD nh v y, ví d Server Eshockhost.net
- Thay đ i c u trúc, tên file mặc đ nh có ch a các thông tin quan trọng . N u có th
hưy thay đ i c c u trúc CSDL n u b n lƠm đ c .
-Chống local bằng cách b t safe-mode (dành cho root):
Nh chúng ta đư bi t, đối v i các webshell - PHP, trong PHP
Configuration có những option đ h n ch tính năng c a nó (đặc bi t là r57 - tự
đ ng by pass) nên công vi c đầu tiên c a các root account là ph i c p nh t các
phiên b n PHP m i nh t và config l i php.ini : [i]PHP safe mode lƠ ph ng
pháp đ gi i quy t v n đ b o m t cho nh ng n i server chia sẻ hosting cho
nhi u accounts (shared-server). Nó là do thi t k 1 cách sai l c c a từng c p
PHP. Hi n nay, nhi u ng i đư chọn ph ng pháp b t safe-mode đ b o m t, đặc bi t là các ISP
- Các h ng d n v c u hình Security and Safe Mode : Code:
safe_mode: mặc định : "0" sửa dưới phân quyền : PHP_INI_SYSTEM
safe_mode_gid: mặc định :"0"sửa dưới phân quyền : PHP_INI_SYSTEM
safe_mode_include_dir: mặc định :NULL sửa dưới phân quyền : PHP_INI_SYSTEM
safe_mode_exec_dir: mặc định :""sửa dưới PHP_INI_SYSTEM
safe_mode_allowed_env_vars: mặc định :"PHP_"sửa dưới PHP_INI_SYSTEM
safe_mode_protected_env_vars: mặc định :"LD_LIBRARY_PATH"sửa dưới NGUY N V NG NGH Trang 11
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER PHP_INI_SYSTEM
open_basedir: mặc định :NULL sửa dưới PHP_INI_SYSTEM
disable_functions: mặc định :"" sửa dưới php.ini
disable_classes : mặc định : ""sửa dưới php.ini
- Sau đơy lƠ cách đ đặc chính c u hình server đ b t ch đ safe mode : Trong file php.ini :
safe_mode = Off chuyển thành safe_mode = On
- disabled_functions nên ch a những function sau : PHP Code:
readfile,system, exec, shell_exec, passthru, pcntl_exec, putenv, proc_close,
proc_get_status, proc_nice, proc_open, proc_terminate, popen, pclose, set_time_limit,
escapeshellcmd, escapeshellarg, dl, curl_exec, parse_ini_file, show_source,ini_alter, virtual, openlog - Khi đó, ta ví d : PHP Code:
-rw-rw-r-- 1 doanchuyennganh doanchuyennganh 33 Jul 1 19:20 script.php
-rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd - Trong script.php là : PHP Code: <?php
readfile('/etc/passwd'); ?> - K t qu : PHP Code:
Warning: readfile() has been disabled for security reasons in /docroot/script.php on line 2
- Vài l i đi m c a vi c b t safe mode:
- Th ng khi upload file, file s vào /tmp/ v i những ng i có quy n không ph i là owner.
- B t safe-mode s có những b t l i v i ng i l p trình code PHP, do đó, họ th ng có: PHP Code: NGUY N V NG NGH Trang 12
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER <?php
// Kiểm tra safe mode
if( ini_get('safe_mode') ){
// Code theo bật safe_mode }else{
// Code theo tắt safe_mode } ?>
-B o m t server apache :
Bây gi , xin gi i thích tầm quan trọng c a apache :
Client (Hacker using local attack) ------> Shared server
Shared Server --------------------------> Apache
Apache ---------------------------------> PHP/Perl ... xử lý ...
PHP/Perl (gửi k t qu ) -----------------> Apache
Apache (gửi k t qu ) ------------------>Client
Do đó quy n chính apache set .. ch 0 h ph thu c nhi u vào các application nh PHP/CGI ... CƠi đặt apache : Code: pw groupadd apache
pw useradd apache -c "Apache Server" -d /dev/null -g apache -s /sbin/nologin
Theo mặc đ nh, các process thu c Apache ch y v i ch quy n c a ng i
dùng nobody (ngo i trừ process chính ph i ch y v i ch quy n root) và GID
thu c nhóm nogroup. Ði u này có th d n đ n những đe dọa b o m t nghiêm
trọng. Trong tr ng h p đ t nh p thành công, tin tặc có th l y đ c quy n truy
d ng đ n những process khác ch y cùng UID/GID. B i th , gi i pháp tối u lƠ
cho Apache ch y bằng UID/GID từ nhóm riêng bi t, chuyên chú đ n software y thôi.
Ðối v i những ai quen dùng *nix hẳn không l gì v i khái ni m
UID/GID thu c ch đ "file permission". Tuy nhiên, chi ti t này nên m r ng
m t tí cho những b n đọc ch a quen thu c v i UID/GID. Phần t o nhóm NGUY N V NG NGH Trang 13
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
(group) vƠ ng i dùng (user) riêng cho Apache trên có hai chi ti t cần chú ý là:
-d /dev/null: không cho phép user Apache có th m c $HOME nh ng những user bình th ng khác
-s /sbin/nologin: không cho user Apache dùng b t c m t shell nào c . Có m t số
tr ng h p dùng -s /bin/true thay vì nologin trên, true là m t l nh không thực thi gì c và hoàn toàn vô h i.
LỦ do không cho phép user Apache có th m c $HOME vƠ không đ c c p
m t "shell" nào c vì n u account Apache này b đ c cho phép, tin tặc cũng không có
c h i ti p c n v i system m c đ cần thi t cho th thu t "leo thang đặc quy n".
Trên môi tr ng *nix nói chung, "shell" là giao di n giữa ng i dùng và h thống,
không có shell thì không có c h i ti p c n. N u phần thi t l p trên cung c p user
Apache m t $HOME và cho phép dùng m t shell nƠo đó thì đư không mang giá tr gì trên quan đi m "b o m t".
VƠo http://httpd.apache.org/ cƠi đặt phi n b n m i nh t (hi n gi 2.2)
Khi đó ta nên set quy n c a php shell riêng, nó không có quy n đ c nh y sang các user khác .
- Chmod trong /usr/bin nh sau :
-rwxr--r-x root nobody wget cho -rwxr-x--- root compiler gcc
- Chặn biên d ch gcc, tránh đ user dùng nh ng exploit sẵn biên d ch get root. Trong /bin/: -rwxr-xr-x root root cp
- T ng tự v i rm, mv, tar, chmod, chown, chgrp... -rwsr-x--- root wheel su -rwxr-x--- root root ln
2.1.4. Các công c h tr
-Công c h tr Local Attack ph bi n và hay dùng nh t là các con shell.Các lo i shell
th ng sử d ng là R57,C99,.. NGUY N V NG NGH Trang 14
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
Hình 1. Hình ảnh của 1 dạng shell
2.2. T n công từ chối d ch v - (Denial Of Service)
2.2.1. DOS(Denial Of Service)
2.2.1.1. Giới thiệu khái quát về DoS:
- DoS (Denial of Service) có th mô t nh hƠnh đ ng ngăn c n những ng i dùng
h p pháp c a m t d ch v nƠo đó truy c p vƠ sử d ng d ch v đó. Nó bao g m c vi c
lƠm trƠn ng p m ng, lƠm m t k t nối v i d ch v … mƠ m c đích cuối cùng lƠ lƠm cho
server không th đáp ng đ c các yêu cầu sử d ng d ch v từ các client. DoS có th
lƠm ng ng ho t đ ng c a m t máy tính, m t m ng n i b , th m chí c m t h thống
m ng r t l n. Thực ch t c a DoS lƠ kẻ t n công s chi m d ng m t l ng l n tƠi
nguyên m ng nh băng thông, b nh … vƠ lƠm m t kh năng xử lỦ các yêu cầu d ch
v đ n từ các client khác.
2.2.1.2. Các cách thức tấn công:
+ Phá ho i dựa trên tính gi i h n hoặc không th ph c h i c a tƠi nguyên m ng. - Thông qua k t nối: T n công ki u SYN flood: ฀FPRIVATE "TYPE=PICT;ALT="
L i d ng các th c ho t đ ng c a k t nối TCP/IP, hacker bắt đầu quá trình thi t l p m t
k t nối TPC/IP v i m c tiêu muốn t n công nh ng s phá vỡ k t nối ngay sau khi quá
trình SYN vƠ SYN ACK hoƠn t t, khi n cho m c tiêu r i vƠo tr ng thái ch (đ i gói NGUY N V NG NGH Trang 15
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
tin ACK từ phía yêu cầu thi t l p k t nối) vƠ liên t c gửi gói tin SYN ACK đ thi t l p
k t nối . M t cách khác lƠ gi m o đ a ch IP ngu n c a gói tin yêu cầu thi t l p k t
nối SYN vƠ cũng nh tr ng h p trên, máy tính đích cũng r i vƠo tr ng thái ch vì các
gói tin SYN ACK không th đi đ n đích do đ a ch IP ngu n lƠ không có th t. Cách
th c nƠy có th đ c các hacker áp d ng đ t n công m t h thống m ng có băng
thông l n h n h thống c a hacker.
- L i d ng ngu n tƠi nguyên c a chính n n nhơn đ t n công:
T n công ki u Land Attack: cũng t ng tự nh SYN flood nh ng hacker sử d ng
chính IP c a m c tiêu cần t n công đ dùng lƠm đ a ch IP ngu n trong gói tin, đ y
m c tiêu vƠo m t vòng lặp vô t n khi cố gắng thi t l p k t nối v i chính nó.
T n công ki u UDP flood: hacker gửi gói tin UDP echo v i đ a ch IP ngu n lƠ c ng
loopback c a chính m c tiêu cần t n công hoặc c a m t máy tính trong cùng m ng v i
m c tiêu qua c ng UDP echo (port 7) đ thi t l p vi c gửi vƠ nh n các gói tin echo
trên 2 máy tính (hoặc giữa m c tiêu v i chính nó n u m c tiêu có c u hình c ng
loopback) khi n cho 2 máy tính nƠy dần dần sử d ng h t băng thông c a chúng vƠ c n
tr ho t đ ng chia sẻ tƠi nguyên m ng c a các máy tính khác trong m ng. -Sử d ng băng thông:
T n công ki u DDoS (Distributed Denial of Service): đơy lƠ cách th c t n công r t
nguy hi m. Hacker xơm nh p vƠo các h thống máy tính, cƠi đặt các ch ng trình đi u
ki n từ xa vƠ s kích ho t đ ng th i các ch ng trình nƠy vƠo cùng m t th i đi m đ
đ ng lo t t n công vƠo m t m c tiêu. Cách th c nƠy có th huy đ ng t i hƠng trăm
th m chí hƠng ngƠn máy tính cùng tham gia t n công m t lúc (tùy vƠo sự chu n b
tr c đó c a hacher) vƠ có th ngốn h t băng thông c a m c tiêu trong nháy mắt.
-Sử d ng các ngu n tƠi nguyên khác:
Kẻ t n công l i d ng các ngu n tƠi nguyên mƠ n n nhơn cần đ n đ t n công. Những
kẻ t n công có th thay đ i dữ li u vƠ tự sao chép dữ li u mƠ n n nhơn cần lên nhi u
lần lƠm CPU b quá t i vƠ các quá trình xử lỦ dữ li u b đình tr .
- T n công ki u Smurf Attack: ki u t n công nƠy cần m t h thống r t quan trọng, đó
lƠ m ng khuy ch đ i. Hacker dùng đ a ch c a máy tính cần t n công gửi broadcast gói
tin ICMP echo cho toƠn b m ng. Các máy tính trong m ng s đ ng lo t gửi gói tin NGUY N V NG NGH Trang 16
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
ICMP reply cho máy tính mƠ hacker muốn t n công. K t qu lƠ máy tính nƠy s không
th xử lỦ k p th i m t l ng l n thông tin nh v y vƠ r t d b treo.
- T n công ki u Tear Drop: trong m ng chuy n m ch gói, dữ li u đ c chia nhỏ lƠm
nhi u gói tin, mối gói tin có m t giá tr offset riêng vƠ có th truy n đi theo nhi u
đ ng đ t i đích. T i đích, nh vƠo giá tr offset c a từng gói tin mƠ dữ li u l i đ c
k t h p l i nh ban đầu. L i d ng đi u nƠy, hacker có th t o ra nhi u gói tin có giá tr
offset trùng lặp nhau gửi đ n m c tiêu muốn t n công. K t qu lƠ máy tính đích không
th sắp x p đ c những gói tin nƠy vƠ có th b treo do đư dùng h t năng lực xử lỦ c a h thống.
+.Phá ho i hoặc ch nh sửa thông tin c u hình.
L i d ng vi c c u hình thi u an toƠn (ví d nh vi c không xác thực thông tin trong
vi c gửi vƠ nh n b n tin update c a các router) mƠ kẻ t n công s thay đ i từ xa hoặc
trực ti p các thông tin quan trọng khi n cho những ng i dùng h p pháp không th sử
d ng d ch v . Ví d : hacker có th xơm nh p vƠo DNS đ thay đôi thông tin, d n đ n
quá trình biên d ch domain name sang IP c a DNS b sai l ch. K t qu lƠ các yêu cầu
c a client đ n m t domain nƠo đó s bi n thƠnh m t domain khác.
+.Phá ho i hoặc ch nh sửa v t lỦ phần c ng.
L i d ng quy n h n c a chính b n thơn kẻ t n công đối v i các thi t b trong h thống
m ng đ ti p c n phá ho i (các router, switch…)
2.2.1.3 Các cách phòng chống
- DoS có th lƠm tiêu tốn r t nhi u th i gian cũng nh ti n b c, vì v y, cần ph i có
những bi n pháp đ phòng chống:
- Mô hình h thống ph i đ c xơy dựng h p lỦ, tránh ph thu c l n nhau quá m c d
d n đ n m t b ph n gặp sự cố s lƠm c h thống b tr c trặc.
- Thi t l p password b o v các thi t b hay các ngu n tƠi nguyên quan trọng.
- Thi t l p các m c xác thực đối v i ng i dùng cũng nh các ngu n tin trên m ng
(các thông tin c p nh t đ nh tuy n giữa các router cũng nên thi t l p ch đ xác thực)
- Xơy dựng h thống lọc thông tin trên router, firewall… vƠ h thống b o v chống l i SYN flood.
- Ch ch p nh n các d ch v cần thi t, t m th i dừng các d ch v ch a có yêu cầu cung c p hoặc không sử d ng. NGUY N V NG NGH Trang 17
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Xơy dựng h thống đ nh m c, gi i h n cho ng i sử d ng đ ngăn ngừa tr ng h p
ng i dùng có ác Ủ muốn l i d ng các tƠi nguyên trên server đ t n công chính server hay m ng, server khác.
- Liên t c c p nh t, nghiên c u, ki m tra đ phát hi n các l h ng b o m t vƠ có bi n pháp khắc ph c k p th i.
- Sử d ng các bi n pháp ki m tra ho t đ ng c a h thống m t cách liên t c đ phát
hi n ngay những hƠnh đ ng b t bình th ng.
- Xơy dựng h thống dự phòng.
2.2.2. Ddos(Distributed Denial of Service)
- Distributed Denial Of Service (DDoS) là kỹ thu t t n công làm các ISP lo âu, gi i
hacker chính thống thì không công nh n DdoS là kỹ thu t t n công chính thống. Th
nh ng Black hat đang có r t nhi u u th khi tri n khai t n công bằng kỹ thu t DdoS.
Vi c phòng ngừa vƠ ngăn chặn DdoS v n còn đang thực hi n m c đ khắc ph c h u qu và truy tìm th ph m
2.2.2.1. Các giai đoạn của một cuộc tấn công kiểu DdoS: Bao g m 3 giai đo n: i. Giai đo n chu n b :
- Chu n b công c quan trọng c a cu c t n công, công c nƠy thông th ng ho t
đ ng theo mô hình client-server. Hacker có th vi t phần m m này hay down load m t
cách d dàng, theo thống kê t m th i có kho ng h n 10 công c DDoS đ c cung c p
mi n phí trên m ng (các công c này s phân tích chi ti t vào phần sau)
- K ti p, dùng các kỹ thu t hack khác đ nắm trọn quy n m t số host trên m ng.
ti n hƠnh cƠi đặt các software cần thi t trên các host này, vi c c u hình và thử nghi m
toàn b attack-netword (bao g m m ng l i các máy đư b l i d ng cùng v i các
software đư đ c thi t l p trên đó, máy c a hacker hoặc m t số máy khác đư đ c
thi t l p nh đi m phát đ ng t n công) cũng s đ c thực hi n trong giai đo n này.
ii. Giai đo n xác đ nh m c tiêu và th i đi m:
- Sau khi xác đ nh m c tiêu l n cuối, hacker s có ho t đ ng đi u ch nh attack-
netword chuy n h ng t n công v phía m c tiêu. NGUY N V NG NGH Trang 18
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Y u tố th i đi m s quy t đ nh m c đ thi t h i và tốc đ đáp ng c a m c tiêu đối v i cu c t n công.
iii. Phát đ ng t n công và xóa d u v t:
- Đúng th i đi m đư đ nh, hacker phát đ ng t n công từ máy c a mình, l nh t n công
này có th đi qua nhi u c p mói đ n host thực sự t n công. Toàn b attack-network (có
th lên đ n hàng ngàn máy), s vắt c n năng lực c a server m c tiêu liên t c, ngăn
chặn không cho nó ho t đ ng nh thi t k .
- Sau m t kho ng th i gian t n công thích h p, hacker ti n hành xóa mọi d u v t có
th truy ng c đ n mình, vi c nƠy đòi hỏi trình đ khác cao và không tuy t đối cần thi t.
2.2.2.2. Kiến trúc tổng quan của DDoS attack-network
Nhìn chung DDoS attack-network có hai mô hình chính: Mô hình Agent ậ Handler Mô hình IRC ậ Based DDoS attack-network Agent -Handler IRC - Based Client – Handler Client – Handler Secret/private Public channel channel Communication Communication TCP UD ICMP TCP UD ICMP P P
Hình 2. Sơ đồ chính phân loại các kiểu tấn công DDoS
i. Mô hình Agent ậ Handler:
Theo mô hình này, attack-network g m 3 thành phần: Agent, Client và Handler
 Client : lƠ software c s đ hacker đi u khi n mọi ho t đ ng c a attack-network
 Handler : là m t thành phần software trung gian giữa Agent và Client
 Agent : là thành phần software thực hi n sự t n công m c tiêu, nh n đi u khi n từ
Client thông qua các Handler NGUY N V NG NGH Trang 19
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER Attacker Attacker Handler Handler Handler Handler Agent Agent Agent Agent Agent Victim
Hình 3. Kiến trúc attack-network kiểu Agent – Handler
- Attacker s từ Client giao ti p v i cc1 Handler đ xác đ nh số l ng Agent đang
online, đi u ch nh th i đi m t n công và c p nh t các Agent. Tùy theo cách attacker
c u hình attack-network, các Agent s ch u sự qu n lý c a m t hay nhi u Handler.
- Thông th ng Attacker s đặt Handler software trên m t Router hay m t server có
l ng traffic l u thông nhi u. Vi c này nhằm làm cho các giao ti p giữa Client,
handler và Agent khó b phát hi n. Các gia ti p nƠy thông th ng x y ra trên các
protocol TCP, UDP hay ICMP. Ch nhân thực sự c a các Agent thông th ng không
h hay bi t họ b l i d ng vào cu c t n công ki u DDoS, do họ không đ ki n th c
hoặc các ch ng trình Backdoor Agent ch sử d ng r t ít tài nguyên h thống làm cho
hầu nh không th th y nh h ng gì đ n hi u năng c a h thống.
ii. Mô hình IRC ậ Based:
- Internet Relay Chat (IRC) là m t h thống online chat multiuser, IRC cho phép
User t o m t k t nối đ n multipoint đ n nhi u user khác và chat th i gian thực. Ki n
trúc c IRC network bao g m nhi u IRC server trên khắp internet, giao ti p v i nhau
trên nhi u kênh (channel). IRC network cho phép user t o ba lo i channel: public, private và serect.
 Public channel: Cho phép user c a channel đó th y IRC name và nh n đ c
message c a mọi user khác trên cùng channel NGUY N V NG NGH Trang 20
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
 Private channel: đ c thi t k đ giao ti p v i các đối t ng cho phép. Không cho
phép các user không cùng channel th y IRC name và message trên channel. Tuy nhiên,
n u user ngoài channel dùng m t số l nh channel locator thì có th bi t đ c sự t n t i c a private channel đó.
 Secrect channel : t ng tự private channel nh ng không th xác đ nh bằng channel locator. Attacker Attacker IRC NETWORK Agent Agent Agent Agent Agent Victim
Hình 4. Kiến trúc attack-network của kiểu IRC-Base
- IRC ậ Based net work cũng t ng tự nh Agent ậ Handler network nh ng mô hình
này sử d ng các kênh giao ti p IRC lƠm ph ng ti n giao ti p giữa Client và Agent
(không sử d ng Handler). Sử d ng mô hình này, attacker còn có thêm m t số l i th khác nh :
Các giao ti p d i d ng chat message làm cho vi c phát hi n chúng là vô cùng khó khăn
IRC traffic có th di chuy n trên m ng v i số l ng l n mà không b nghi ng
Không cần ph i duy trì danh sách các Agent, hacker ch cần logon vào IRC server là
đư có th nh n đ c report v tr ng thái các Agent do các channel gửi v .
Sau cùng: IRC cũng lƠ m t môi tr ng file sharing t o đi u ki n phát tán các Agent code lên nhi u máy khác. NGUY N V NG NGH Trang 21
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
2.2.2.3. Phân loại tấn công kiểu DDOS
- Nhìn chung, có r t nhi u bi n th c a kỹ thu t t n công DDoS nh ng n u nhìn d i
góc đ chuyên môn thì có th chia các bi n th này thành hai lo i dựa trên m ch đích
t n công: Làm c n ki t băng thông vƠ lƠm c n ki t tài nguyên h thống DDoS Bandwith Resource Deleption Protoc Amplification ol Malformed Flood Attack Paclket Exploit UDP ICMP Smuft Flaggle TCP SYS PUSH IP @ IP Packet Options +ACK Random Static Spoof Direct Loop Port Port Sourc Spoof Spoof Spoof Spoof source source source source
Hình 5. Phân loại các kiểu tấn công DDoS
i. Những ki u t n công làm c n ki t băng thông c a m ng (BandWith Depletion Attack)
- BandWith Depletion Attack đ c thi t k nhằm làm tràng ng p m ng m c tiêu v i
những traffic không cần thi t, v i m c đ ch làm gi m tối thi u kh năng c a các traffic
h p l đ n đ c h thống cung c p d ch v c a m c tiêu.
- Có hai lo i BandWith Depletion Attack:
+ Flood attack: Đi u khi n các Agent g i m t l ng l n traffic đ n h thống d ch v
c a m c tiêu, làm d ch v này b h t kh năng v băng thông.
+ Amplification attack: Đi u khi n các agent hay Client tự gửi message đ n m t đ a
ch IP broadcast, làm cho t t c các máy trong subnet này gửi message đ n h thống
d ch v c a m c tiêu. Ph ng pháp nƠy lƠm gia tăng traffic không cần thi t, làm suy
gi m băng thông c a m c tiêu. NGUY N V NG NGH Trang 22
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER Flood attack:
Trong ph ng pháp nƠy, các Agent s gửi m t l ng l n IP traffic làm h thống d ch
v c a m c tiêu b ch m l i, h thống b treo hay đ t đ n tr ng thái ho t đ ng bão hòa.
Làm cho các User thực sự c a h thống không sử d ng đ c d ch v .
Ta có th chia Flood Attack thành hai lo i:
+ UDP Flood Attack: do tính ch t connectionless c a UDP, h thống nh n UDP
message ch đ n gi n nh n vào t t c các packet mình cần ph i xử lý. M t l ng l n
các UDP packet đ c g i đ n h thống d ch v c a m c tiêu s đ y toàn b h thống đ n ng ỡng t i h n.
+ Các UDP packet này có th đ c gửi đ n nhi u port tùy ý hay ch duy nh t m t port.
Thông th ng là s gửi đ n nhi u port làm cho h thống m c tiêu ph i căng ra đ xử
lỦ phơn h ng cho các packet này. N u port b t n công không sẵn sàng thì h thống
m c tiêu s gửi ra m t ICMP packet lo i “destination port unreachable”. Thông
th ng các Agent software s dùng đ a ch IP gi đ che gi u hành tung, cho nên các
message tr v do không có port xử lý s d n đ n m t đ i ch Ip khác. UDP Flood
attack cũng có th làm nh h ng đ n các k t nối xung quanh m c tiêu do sự h i t c a packet di n ra r t m nh.
+ ICMP Flood Attack: đ c thi t k nhằm m c đích qu n lý m ng cũng nh đ nh v
thi t b m ng. Khi các Agent g i m t l ng l n ICMP_ECHO_REPLY đ n h thống
m c tiêu thì h thống này ph i reply m t l ng t ng ng Packet đ tr l i, s d n đ n
ngh n đ ng truy n. T ng tự tr ng h p trên, đ a ch IP c a cá Agent có th b gi m o. +Amplification Attack:
- Amplification Attack nhắm đ n vi c sử d ng các ch c năng h tr đ a ch IP
broadcast c a các router nhằm khuy ch đ i và h i chuy n cu c t n công. Ch c năng
này cho phép bên gửi ch đ nh m t đ a ch IP broadcast cho toàn subnet bên nh n thay
vì nhi u đ a ch . Router s có nhi m v gửi đ n t t c đ a ch IP trong subnet đó packet broadcast mà nó nh n đ c.
- Attacker có th gửi broadcast message trực ti p hay thông qua m t số Agent nhằm
lƠm gia tăng c ng đ c a cu c t n công. N u attacker trực ti p gửi message, thì có
th l i d ng các h thống bên trong broadcast network nh m t Agent. NGUY N V NG NGH Trang 23
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER Attacker/Agent VICTIM Amplifier
Amplifier Network System
Hình 6. Sơ đồ tấn công kiểu Amplification Attack
Có th chia amplification attack thành hai lo i, Smuft va Fraggle attack:
+ Smuft attack: trong ki u t n công này attacker g i packet đ n network amplifier
(router hay thi t b m ng khác h tr broadcast), v i đ a ch c a n n nhân. Thông
th ng những packet đ c dùng là ICMP ECHO REQUEST, các packet này yêu cầu
yêu cầu bên nh n ph i tr l i bằng m t ICMP ECHO REPLY packet. Network
amplifier s gửi đ n ICMP ECHO REQUEST packet đ n t t c các h thống thu c đ a
ch broadcast và t t c các h thống này s REPLY packet v đ a ch IP c a m c tiêu t n công Smuft Attack.
+ Fraggle Attack: t ng tự nh Smuft attack nh ng thay vì dùng ICMP ECHO
REQUEST packet thì s dùng UDP ECHO packet g i đ m m c tiêu. Th t ra còn m t
bi n th khác c a Fraggle attack s gửi đ n UDP ECHO packet đ n chargen port (port
19/UNIX) c a m c tiêu, v i đ a ch bên gửi là echo port (port 7/UNIX) c a m c tiêu,
t o nên m t vòng lặp vô h n. Attacker phát đ ng cu c t n công bằng m t ECHO
REQUEST v i đ a ch bên nh n là m t đ a ch broadcast, toàn b h thống thu c đ a NGUY N V NG NGH Trang 24
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
ch này l p t c gửi REPLY đ n port echo c a n n nhơn, sau đó từ n n nhân m t
ECHO REPLY l i gửi tr v đ a ch broadcast, quá trình c th ti p di n. Đơy chính lƠ
nguyên nhân Flaggle Attack nguy hi m h n Smuft Attack r t nhi u.
ii. Những ki u t n công làm c n ki t tài nguyên: (Resource Deleption Attack)
- Theo đ nh nghĩa: Resource Deleption Attack lƠ ki u t n công trong đó Attacker g i
những packet dùng các protocol sai ch c năng thi t k , hay gửi những packet v i d ng
ý làm tắt ngh n tài nguyên m ng làm cho các tài nguyên này không ph c v user thông th ng khác đ c.
ii.a/ Protocol Exploit Attack:
+ TCP SYS Attack: Transfer Control Protocol h tr truy n nh n v i đ tin c y cao
nên sử d ng ph ng th c bắt tay giữa bên g i và bên nh n tr c khi truy n dữ li u.
B c đầu tiên, bên gửi g i m t SYN REQUEST packet (Synchronize). Bên nh n n u
nh n đ c SYN REQUEST s tr l i bằng SYN/ACK REPLY packet. B c cuối
cùng, bên gửi s truyên packet cuối cùng ACK và bắt đầu truy n dữ li u. SYS TCP TCP SYN/ACK Client ACK Server 80 Client Port
Hình 7. Kiểu tấn công TCP SYS Attack
- N u bên server đư tr l i m t yêu cầu SYN bằng m t SYN/ACK REPLY nh ng
không nh n đ c ACK packet cuối cùng sau m t kho ng th i gian quy đ nh thì nó s
resend l i SYN/ACK REPLY cho đ n h t th i gian timeout. Toàn b tài nguyên h
thống “dự trữ” đ xử lý phiên giao ti p n u nh n đ c ACK packet cuối cùng s b
“phong tỏa” cho đ n h t th i gian timeout.
- Nắm đ c đi m y u này, attacker g i m t SYN packet đ n n n nhân v i đ a ch
bên g i là gi m o, k t qu là n n nhân g i SYN/ACK REPLY đ n m t đ a ch khá và
s không bao gi nh n đ c ACK packet cuối cùng, cho đ n h t th i gian timeout n n NGUY N V NG NGH Trang 25
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
nhân m i nh n ra đ c đi u này và gi i phóng các tài nguyên h thống. Tuy nhiên,
n u l ng SYN packet gi m o đ n v i số l ng nhi u và d n d p, h thống c a n n
nhân có th b h t tài nguyên. Client Server Attacker/Agent Server SYN SYN SYN/ACK SYN/ACK SYN/ACK ACK
Hình 8. Attacker giả mạo Ip
+ PUSH = ACK Attack: Trong TCP protocol, các packet đ c ch a trong buffer, khi
buffer đầy thì các packet này s đ c chuy n đ n n i cần thi t. Tuy nhiên, bên g i có
th yêu cầu h thống unload buffer tr c khi buffer đầy bằng cách g i m t packet v i
PUSH và ACK mang giá tr là 1. Những packet này làm cho h thống c a n n nhân
unload t t c dữ li u trong TCP buffer ngay l p t c và gửi m t ACK packet tr v khi
thực hi n xong đi u này, n u quá trình đ c di n ra liên t c v i nhi u Agent, h thống
s không th xử lỦ đ c l ng l n packet gửi đ n và s b treo.
ii.b/ Malformed Packet Attack:
- Malformed Packet Attack là cách t n công dùng các Agent đ g i các packet có
c u trúc không đúng chu n nhằm làm cho h thống c a n n nhân b treo.
Có hai lo i Malformed Packet Attack:
+ IP address attack: dùng packet có đ a ch g i và nh n giống nhau làm cho h đi u
hành c a n n nhân không xử lý n i và b treo.
+ IP packet options attack ng u nhiên hóa vùng OPTION trong IP packet và thi t l p
t t c các bit QoS lên 1, đi u này làm cho h thống c a n n nhân ph i tốn th i gian
phân tích, n u sử d ng số l ng l n Agent có th làm h thống n n nhân h t kh năng xử lý. NGUY N V NG NGH Trang 26
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
ii.c/ M t số đặc tính c a công c DdoS attack: DDoS software Tool Attack Agent Setup OS supported Network Instalation Hide with rootkit Protocol Encruption Agent Unix Solaris Linux Windows Activation Methods Active Passive Yes No Actively Live&wait Poll TCP UDP ICMP YES Bugged Corrupted Agent IRC No Client Agent None Backdoor Trojan Buffer Overlfow
Hình 9. Một số đặc tính của công cụ DdoS attack
- Có r t nhi u đi m chung v mặt software c a các công c DDoS attack. Có th k
ra m t số đi m chung nh : cách cƠi Agent software, ph ng pháp giao ti p giữa các
attacker, handler vƠ Agent, đi m chung v lo i h đi u hành h tr các công c này.
S đ trên mô t sự so sánh t ng quan giữa các công c t n công DDoS này.
* Cách th c cƠi đặt DDoS Agent:
- Attacker có th dùng ph ng pháp active vƠ passive đ cƠi đặt agent software lên
các máy khác nhằm thi t l p attack-network ki u Agent-Handler hay IRC-based. - Cách cƠi đặt Active:
+ Scaning: dùng các công c nh Nmap, Nessus đ tìm những s h trên các h thống
đang online nhằm cƠi đặt Agentsoftware. Chú ý, Nmap s tr v những thông tin v
m t h thống đư đ c ch đ nh bằng đ a ch IP, Nessus tìm ki m từ những đ a ch IP
b t kỳ v m t đi m y u bi t tr c nƠo đó.
+ Backdoor: sau khi tìm th y đ c danh sách các h thống có th l i d ng, attacker s
ti n hành xâm nh p và cài Agentsoftware lên các h thống này. Có r t nhi u thông tin
sẵn có v cách th c xâm nh p trên m ng, nh site c a t ch c Common NGUY N V NG NGH Trang 27
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
Vulnerabilities and Exposures (CVE), đơy li t kê và phân lo i trên 4.000 lo i l i c a
t t c các h thống hi n có. Thông tin này luôn sẵn sàng cho c gi i qu n tr m ng l n hacker.
+ Trojan: là m t ch ng trình thực hi n m t ch c năng thông th ng nƠo đó, nh ng
l i có m t số ch c năng ti m n ph c v cho m c đích riêng c a ng i vi t mƠ ng i
dùng không th bi t đ c. Có th dùng trojan nh m t Agent software.
+ buffer Overflow: t n d ng l i buffer overflow, attacker có th làm cho chu trình thực
thi ch ng trình thông th ng b chuy n sang chu trình thực thi ch ng trình c a
hacker (nằm trong vùng dữ li u ghi đè). Có th dùng cách nƠy đ t n công vào m t
ch ng trình có đi m y u buffer overflow đ ch y ch ng trình Agent software. - Cách cƠi đặt passive:
+ Bug Website: attacker có th l i d ng m t số l i c a web brower đ cài Agent
software vào máy c a user truy c p. Attaker s t o m t website mang n i dung ti m n
những code và l nh đ đặt b y user. Khi user truy c p n i dung c a website, thì
website download vƠ cƠi đặt Agent software m t cách bí m t. Microsoft Internet
Explorer web browser th ng là m c tiêu c a cách cƠi đặt này, v i các l i c a
ActiveX có th cho phép IE brower tự đ ng download vƠ cƠi đặt code trên máy c a user duy t web.
+ Corrupted file: m t ph ng pháp khác lƠ nhúng code vƠo trong các file thông
th ng. Khi user đọc hay thực thi các file này, máy c a họ l p t c b nhi m Agent
software. M t trong những kỹ thu t ph bi n lƠ đặt tên file r t dài, do default c a các
h đi u hành ch hi n th phần đầu c a tên file nên attacker có th gửi kèm theo email
cho n n nhơn file nh sau: iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do ch th y
phần “Iloveyou.txt” hi n th nên user s m file nƠy đ đọc và l p t c file nƠy đ c
thực thi vƠ Agent code đ c cài vào máy n n nhân. Ngoài ra còn nhi u cách khác nh
ng y trang file, ghép file…
- Rootkit: là những ch ng trình dùng đ xóa d u v t v sự hi n di n c a Agent hay
Handler trên máy c a n n nhơn. Rootkit th ng đ c dùng trên Hander software đư
đ c cƠi, đóng vai trò xung y u cho sự ho t đ ng c a attack-network hay trên các môi
tr ng mà kh năng b phát hi n c a Handler là r t cao. Rootkit r t ít khi dùng trên các NGUY N V NG NGH Trang 28
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
Agent do m c đ quan trọng c a Agent không cao và n u có m t m t số Agent cũng
không nh h ng nhi u đ n attack-network.
* Giao ti p trên Attack-Network:
- Protocol: giao ti p trên attack-network có th thực hi n trên n n các protocol TCP, UDP, ICMP.
- Mã hóa các giao ti p: m t vài công c DDoS h tr mã hóa giao ti p trên toàn b
attack-network. Tùy theo protocol đ c sử d ng đ giao ti p s có các ph ng pháp
mã hóa thích h p. N u attack-network d ng IRC-based thì private và secrect channel đư h tr mã hóa giao ti p.
- Cách kích ho t Agent: có hai ph ng pháp ch y u đ kích ho t Agent. Cách th
nh t là Agent s th ng xuyên quét thăm dó Handler hay IRC channel đ nh n ch th
(active Agent). Cách th hai là Agent ch đ n gi n lƠ “nằm vùng” ch ch th từ Handler hay IRC Channel.
ii.d. M t số công c DDoS:
Dựa trên n n t ng chung c a phần trên, đư có nhi u công c đ c vi t ra, thông
th ng các công c này là mã ngu n m nên m c đ ph c t p ngày càng cao và có nhi u bi n th m i l .
* Công c DDoS d ng Agent ậ Handler:
- TrinOO: là m t trong các công c DDoS đầu tiên đ c phát tán r ng rãi.
TrinOO có ki n trúc Agent ậ Handler, là công c DDoS ki u Bandwidth Depletion
Attack, sử d ng kỹ thu t UDP flood. Các version đầu tiên c a TrinOO không h tr
gi m o đ a ch IP. TrinOO Agent đ c cƠi đặt l i d ng l i remote buffer overrun.
Ho t đ ng trên h đi u hành Solaris 2.5.1 à Red Hat Linux 6.0. Attack ậ network giao
ti p dùng TCP (attacker client và handler) và UDP (Handler và Agent). Mã hóa giao
ti p dùng ph ng pháp mư hóa đối x ng giữa Client, handler và Agent.
- Tribe Flood Network (TFN): Ki u ki n trúc Agent ậ Handler, công c DDoS ho
tr ki u Bandwidth Deleption Attack và Resourse Deleption Attack. Sử d ng kỹ thu t
UDP flood, ICMP Flood, TCP SYN vƠ Smurf Attack. Các version đầu tiên không h
tr gi m o đ a ch IP, TFN Agent đ c cƠi đặt l i d ng l i buffer overflow. Ho t
đ ng trên h đi u hành Solaris 2.x và Red Hat Linux 6.0. Attack ậ Network giao ti p NGUY N V NG NGH Trang 29
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
dùng ICMP ECHO REPLY packet (TFN2K h tr thêm TCP/UDP v i tính năng chọn
protocol tùy ý), không mã hóa giao ti p (TFN2K h tr mã hóa)
- Stacheldraht: là bi n th c a TFN có thêm kh năng updat Agent tự đ ng. Giao ti p
telnet mư hóa đối x ng giữa Attacker và Handler.
- Shaft: là bi n th c a TrinOO, giao ti p Handler ậ Agent trên UDP, Attacker ậ
Hendle trên Internet. T n công dùng kỹ thu t UDP, ICMP và TCP flood. Có th t n
công phối h p nhi u ki u cùng lúc. Có thống kê chi ti t cho phép attacker bi t tình
tr ng t n th t c a n n nhân, m c đ quy mô c a cu c t n công đ đi u ch nh số l ng Agent.
* Công c DDoS d ng IRC ậ Based:
Công c DDoS d ng IRC-based đ c phát tri n sau các công c d ng Agent ậ
Handler. Tuy nhiên, công c DDoS d ng IRC ph c t p h n r t nhi u, do tích h p r t
nhi u đặc tính c a các công c DDoS d ng Agent ậ Handler.
- Trinity: là m t đi n hình c a công c d ng này. Trinity có hầu h t các kỹ thu t t n
công bao g m: UDP, TCP SYS, TCP ACK, TCP fragment, TCP NULL, TCP RST,
TCP random flag, TCP ESTABLISHED packet flood. Nó có sẵn kh năng ng u nhiên
hóa đ a ch bên g i. Trinity cũng h tr TCP flood packet v i kh năng ng u nhân t p
CONTROL FLAG. Trinity có th nói là m t trong số các công c DDoS nguy hi m nh t.
- Ngoài ra có th nhắc thêm v m t số công c DDoS khác nh Knight, đ c thi t k
ch y trên Windows, sử d ng kỹ thu t cƠi đặt c a troijan back Orifice. Knight dùng các
kỹ thu t t n công nh SYV, UDP Flood vƠ Urgent Pointer Flooder.
- Sau cùng là Kaiten, là bi n th c a Knight, h tr r t nhi u kỹ thu t t n công nh :
UDP, TCP flood, SYN, PUSH + ACK attack. Kaiten cũng thừa h ng kh năng ng u
nhiên hóa đ a ch gi m o c a Trinity.
2.2.3. T n công từ chối d ch v ph n x nhi u vùng DRDoS (Distributed
Reflection Denial of Service)

Xu t hi n vƠo đầu năm 2002, lƠ ki u t n công m i nh t, m nh nh t trong họ DoS.
N u đ c thực hi n b i kẻ t n công có tay ngh thì có th h g c b t c h thống phút chốc NGUY N V NG NGH Trang 30
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- M c tiêu chính c a DDDoS là chi m đo t toàn b băng thông c a máy ch , t c là
làm tắc ng n hoƠn toƠn đ ng k t nối từ máy ch vƠo x ng sống c a Internet và tiêu
hao tài nguyên máy ch . Trong suốt quá trình máy ch b t n công bằng DrDoS, không
m t máy khách nào ch th k t nối đ c vào máy ch đó. T t c các d ch v ch y trên
n n TCP/IP nh DNS, HTTP, FTP, POP3, ... đ u b vô hi u hóa.
- V c b n, DrDoS là sự phối h p giữa hai ki u DoS và DDoS. Nó có ki u t n
công SYN v i m t máy tính đ n, vừa có sự k t h p giữa nhi u máy tính đ chi m
d ng băng thông nh ki u DDoS. Kẻ t n công thực hi n bằng cách gi m o đ a ch c a
server m c tiêu r i gửi yêu cầu SYN đ n các server l n nh Yahoo,Micorosoft…,đ
các server này gửi các gói tin SYN/ACK đ n server m c tiêu. Các server l n, đ ng
truy n m nh đư vô tình đóng vai trò zoombies cho kẻ t n công nh trong DdoS
Hình 10. Sơ đồ mô tả kiểu tấn công DRDOS
- Quá trình gửi c lặp l i liên t c v i nhi u đ a ch IP gi p từ kẻ t n công, v i nhi u
server l n tham gia nên server m c tiêu nhanh chóng b quá t i, bandwidth b chi m
d ng b i server l n. Tính ngh thu t là ch ch cần v i m t máy tính v i modem
56kbps, m t hacker lành ngh có th đánh b i b t c máy ch nào trong giây lát mà
không cần chi m đo t b t c máy nƠo đ làm ph ng ti n thực hi n t n công. NGUY N V NG NGH Trang 31
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER 2.3. SQL Injection
2.3.1. T n công SQL injection
2.3.1.1. SQL Injection là gì?
- Khi tri n khai các ng d ng web trên Internet, nhi u ng i v n nghĩ rằng vi c đ m
b o an toàn, b o m t nhằm gi m thi u tối đa kh năng b t n công từ các tin tặc ch
đ n thuần t p trung vào các v n đ nh chọn h đi u hành, h qu n tr c s dữ li u,
webserver s ch y ng d ng, ... mà quên m t ằng ngay c b n thân ng d ng ch y trên
đó cũng ti m n m t l h ng b o m t r t l n. M t trong số các l h ng nƠy đó lƠ SQL
injection. T i Vi t Nam, đư qua th i kì các qu n tr website l lƠ vi c quét virus, c p
nh t các b n vá l i từ các phần m m h thống, nh ng vi c chăm sóc các l i c a các
ng d ng l i r t ít đ c quan tơm. Đó lƠ lí do t i sao trong th i gian vừa qua, không ít
website t i Vi t Nam b t n công vƠ đa số đ u là l i SQL injection. V y SQL injection là gì ?
- SQL injection là m t kĩ thu t cho phép những kẻ t n công l i 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 đ "tiêm vào" (inject) và thi hành các câu l nh SQL b t h p pháp (không
đ c ng i phát tri n ng d ng l ng tr c). H u qu c a nó r t tai h i vì nó cho
phép những kẻ t n công có th thực hi n các thao tác xóa, hi u ch nh, … do có toƠn
quy n trên c s dữ li u c a ng d ng, th m chí là server mà ng d ng đó đang ch y.
L i nƠy th ng x y ra trên các ng d ng web có dữ li u đ c qu n lí bằng các h
qu n tr c s dữ li u nh SQL Server, MySQL, Oracle, DB2, Sysbase.
2.3.1.2. Các Dạng Tấn Công SQL Injection
- Có bốn d ng thông th ng bao g m: v t qua ki m tra lúc đăng nh p
(authorization bypass), sử d ng câu l n SELECT, sử d ng câu l nh INSERT, sử d ng các stored-procedures.
- Đ bi t các website bán hàng sử d ng CSDL SQL ta sử d ng các soft hoặc các
công c tìm l i.Hoặc các công c tìm ki m nh Google.VƠ dùng các Dork tìm ki m
nh : inurl : product.php?id= NGUY N V NG NGH Trang 32
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
Hình 11. Một tools tìm site lỗi Online
- Đ bi t website nào dính l i SQL Injection ta thêm d u “ ’ ” vƠo sau thanh đ a ch .
Ví d : http://www.doanchuyenganh.com/product.php?id=123’
Hình 12. Một site bị lỗi SQL Injection NGUY N V NG NGH Trang 33
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
i. D ng t n công v t qua ki m tra đăng nh p
- V i d ng t n công này, tin tặc có th d dƠng v t qua các trang đăng nh p nh
vào l i khi dùng các câu l nh SQL thao tác trên c s dữ li u c a ng d ng web.
Xét m t ví d đi n hình, thông th ng đ cho phép ng i dùng truy c p vào các trang
web đ c b o m t, h thống th ng xây dựng trang đăng nh p đ yêu cầu ng i dùng
nh p thông tin v tên đăng nh p và m t kh u. Sau khi ng i dùng nh p thông tin vào,
h thống s ki m tra tên đăng nh p và m t kh u có h p l hay không đ quy t đ nh cho
phép hay từ chối thực hi n ti p. Trong tr ng h p nƠy, ng i ta có th dùng hai trang,
m t trang HTML đ hi n th form nh p li u và m t trang ASP dùng đ xử lí thông tin
nh p từ phía ng i dùng. Ví d : login.htm Username: Password: execlogin.asp <%
Dim vUsrName, vPassword, objRS, strSQL
vUsrName = Request.Form("fUSRNAME")
vPassword = Request.Form("fPASSWORD")
strSQL = "SELECT * FROM T_USERS " & _
"WHERE USR_NAME=' " & vUsrName & _
" ' and USR_PASSWORD=' " & vPassword & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..." If (objRS.EOF) Then
Response.Write "Invalid login." Else
Response.Write "You are logged in as " & objRS("USR_NAME") End If Set objRS = Nothing NGUY N V NG NGH Trang 34
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER %>
- Tho t nhìn, đo n mư trong trang execlogin.asp d ng nh không ch a b t c m t
l h ng v an toƠn nƠo. Ng i dùng không th đăng nh p mƠ không có tên đăng nh p
và m t kh u h p l . Tuy nhiên, đo n mã này thực sự không an toàn và là ti n đ cho
m t l i SQL injection. Đặc bi t, ch s h nằm ch dữ li u nh p vào từ ng i dùng
đ c dùng đ xây dựng trực ti p câu l nh SQL. Chính đi u này cho phép những kẻ t n
công có th đi u khi n câu truy v n s đ c thực hi n. Ví d , n u ng i dùng nh p
chu i sau vào trong c 2 ô nh p li u username/password c a trang login.htm là: ' OR ' '
= ' '. Lúc này, câu truy v n s đ c gọi thực hi n là: SELECT * FROM T_USERS WHERE
USR_NAME ='' OR ''='' and
USR_PASSWORD= '' OR ''=''
- Câu truy v n này là h p l và s tr v t t c các b n ghi c a T_USERS vƠ đo n mã
ti p theo xử lí ng i dùng đăng nh p b t h p pháp nƠy nh lƠ ng i dùng đăng nh p h p l .
ii. D ng t n công sử d ng câu l nh SELECT
- D ng t n công này ph c t p h n. Đ thực hi n đ c ki u t n công này, kẻ t n công
ph i có kh năng hi u và l i d ng các s h trong các thông báo l i từ h thống đ dò
tìm các đi m y u kh i đầu cho vi c t n công. Xét m t ví d r t th ng gặp trong các
website v tin t c. Thông th ng, s có m t trang nh n ID c a tin cần hi n th r i
sau đó truy v n n i dung c a tin có ID này.
Ví d : http://www.doanchuyennganh.com/product.asp?ID=123 . Mã ngu n cho
ch c năng nƠy th ng đ c vi t khá đ n gi n theo d ng <%
Dim vNewsID, objRS, strSQL
vNewsID = Request("ID")
strSQL = "SELECT * FROM T_NEWS WHERE NEWS_ID =" & vNewsID
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..." Set objRS = Nothing %> NGUY N V NG NGH Trang 35
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Trong các tình huống thông th ng, đo n mã này hi n th n i dung c a tin có ID
trùng v i ID đư ch đ nh và hầu nh không th y có l i. Tuy nhiên, giống nh ví d
đăng nh p tr c, đo n mư nƠy đ l s h cho m t l i SQL injection khác. Kẻ t n
công có th thay th m t ID h p l bằng cách gán ID cho m t giá tr khác, và từ đó,
kh i đầu cho m t cu c t n công b t h p pháp, ví d nh : 0
OR 1=1 (nghĩa là, http://www.doanchuyennganh.com/product.asp?ID=0 or 1=1).
- Câu truy v n SQL lúc này s tr v t t c các article từ b ng dữ li u vì nó s thực hi n câu l nh:
SELECT * FROM T_NEWS WHERE NEWS_ID=0 or 1=1
- M t tr ng h p khác, ví d nh trang tìm ki m. Trang nƠy cho phép ng i dùng
nh p vào các thông tin tìm ki m nh Họ, Tên, … Đo n mư th ng gặp là: <%
Dim vAuthorName, objRS, strSQL
vAuthorName = Request("fAUTHOR_NAME")
strSQL = "SELECT * FROM T_AUTHORS WHERE AUTHOR_NAME =' " & _
vAuthorName & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..." Set objRS = Nothing %>
- T ng tự nh trên, tin tặc có th l i d ng s h trong câu truy v n SQL đ nh p
vƠo tr ng tên tác gi bằng chu i giá tr :
' UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ' '='
- Lúc này, ngoài câu truy v n đầu không thƠnh công, ch ng trình s thực hi n thêm
l nh ti p theo sau từ khóa UNION nữa.
- T t nhiên các ví d nói trên, d ng nh không có gì nguy hi m, nh ng hưy thử
t ng t ng kẻ t n công có th xóa toàn b c s dữ li u bằng cách chèn vƠo các đo n
l nh nguy hi m nh l nh DROP TABLE.
Ví d nh : ' DROP TABLE T_AUTHORS -- NGUY N V NG NGH Trang 36
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Chắc các b n s thắc mắc là làm sao bi t đ c ng d ng web b l i d ng nƠy đ c.
R t đ n gi n, hãy nh p vào chu i (*) nh trên, 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, vì nh v y m i có th tr v l i mƠ ta đư cố tình t o ra trong câu l nh SELECT.
- Cũng s có thắc mắc là làm th nào có th bi t đ c tên c a các b ng dữ li u mà
thực hi n các thao tác phá ho i khi ng d ng web b l i SQL injection. Cũng r t đ n
gi n, b i vì trong SQL Server, có hai đối t ng là sysobjects và syscolumns cho phép
li t kê t t c các tên b ng và c t có trong h thống. Ta ch cần ch nh l i câu l nh SELECT, ví d nh :
' UNION SELECT name FROM sysobjects WHERE xtype = 'U' là có th li t kê đ c
tên t t c các b ng dữ li u.
iii. D ng t n công sử d ng câu l nh INSERT
- Thông th ng các ng d ng web cho phép ng i dùng đăng kí m t tài kho n đ
tham gia. Ch c năng không th thi u lƠ sau khi đăng kí thƠnh công, ng i dùng có th
xem và hi u ch nh thông tin c a mình. SQL injection có th đ c dùng khi h thống
không ki m tra tính h p l c a thông tin nh p vào.
Ví d , m t câu l nh INSERT có th có cú pháp d ng:
INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three').
N u đo n mã xây dựng câu l nh SQL có d ng : <%
strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _
& strValueTwo & " ', ' " & strValueThree & " ') "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..." Set objRS = Nothing %>
- Thì chắc chắn s b l i SQL injection, b i vì n u ta nh p vƠo tr ng th nh t ví d
nh : ' + (SELECT TOP 1 FieldName FROM TableName) + '. Lúc này câu truy v n s
là: INSERT INTO TableName VALUES(' ' + (SELECT TOP 1 FieldName FROM NGUY N V NG NGH Trang 37
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
TableName) + ' ', 'abc', 'def'). Khi đó, lúc thực hi n l nh xem thông tin, xem nh b n
đư yêu cầu thực hi n thêm m t l nh nữa đó lƠ: SELECT TOP 1 FieldName FROM TableName
iiii. D ng t n công sử d ng stored-procedures
- Vi c t n công bằng stored-procedures s gây tác h i r t l n n u ng d ng đ c
thực thi v i quy n qu n tr h thống 'sa'.
- Ví d : n u ta thay đo n mã tiêm vào d ng: ' ; EXEC xp_cmdshell ‘cmd.exe dir C: '.
- Lúc này h thống s 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 đằng sau cmd.exe. N u cài SQL
Server ch đ mặc đ nh thì SQL Server ch y trên n n SYSTEM, t ng đ ng m c
truy c p Windows. Có th dùng master..xp_cmdshell đ thi hành l nh từ xa:
; exec master..xp_cmdshell 'ping 10.10.1.2'--
Thử dùng d u nháy đôi (") n u d u nháy đ n (') không làm vi c.
D i đơy lƠ m t số extended stored procedure mƠ hacker th ng hay sử d ng đ thực
thi những câu l nh xem n i dung thông tin trong máy n n nhân:
Xp_availablemedia: Hi n th những đĩa hi n hành trên máy
Xp_dirtree: Hi n th t t c các th m c k c th m c con
Xp_loginconfig: L y thông tin v ch đ b o m t trên server
Xp_makecab: Cho phép ng i sử d ng t o các t p tin l u trữ trên Server (hay b t c
t p tin nào mà server có th truy xu t
Xp_ntsec_enumdomain: li t kê những domain mà server có th truy v n.
Xp_terminate_process: ch m d t m t ti n trình v i tham số PID c a nó.
iiiii. T n công SQL Injection nâng cao.
Chu i kí tự không có d u nháy đ n:
- Những nhà l p trình có th b o v ng d ng c a họ bằng cách lo i bỏ t t c d u
nháy, thông th ng lo i bỏ d u nháy bằng cách thay m t d u nháy thành 2 d u nháy. NGUY N V NG NGH Trang 38
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER Ví d a.1 :
function escape( input )
input = replace(input, "'", "''") escape = input end function
Rõ rƠng lƠ, nó ngăn chặn đ c t t c những ki u t n công trên. Tuy nhiên n u muốn
t o ra m t chu i giá tr mà không dùng các d u nháy, có th dùng hƠm “char()” nh ví d sau: Ví d a.2:
INSERT into User VALUES(666, char(0x63) +char(0x68)
+char(0x72) char(0x69) +char(0x73) ,char(0x63) +char(0x68)
+char(0x72) +char(0x69) +char(0x73),0xffff)
Ví d a.2 trên tuy là m t câu truy v n không có d u nháy đ n nƠo nh ng nó v n có
th insert chu i vào b ng, vƠ t ng đ ng v i:
INSERT into User VALUES( 666,’chris’,’chris’,255)
Hacker cũng có th chọn username , password là sốđ tránh d u nháy nh ví d sau: Ví d a.3:
INSERT into User VALUES( 667,123,123,0xffff)
SQL server s tự đ ng chuy n từ số sang chu i. • T n công 2 t ng:
- Mặc dù ng d ng đư thay th d u nháy đ n nh ng v n còn kh năng b chèn đo n mã SQL .
Ví d b.1: Đ đăng kí account trong ng d ng, nh p username nh sau: Username: admin'— Password: passofadmin
- ng d ng s thay th d u nháy, k t qu trong câu insert s nh sau:
INSERT into User VALUES(123, 'admin''--', 'password',0xffff) (nh ng
trong c s dữ li u s l u lƠ “admin’--“) NGUY N V NG NGH Trang 39
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Gi sử rằng ng d ng cho phép ng i dùng thay đ i m t kh u. Các đo n mã ASP
đ c thi t k đ m b o rằng ng i sử d ng ph i nh p đúng m t kh u cũ tr c khi nh p
m t kh u m i. Đo n mư nh sau:
username = escape( Request.form("username") );
oldpassword = escape( Request.form("oldpassword") );
newpassword = escape( Request.form("newpassword") );
var rso = Server.CreateObject("ADODB.Recordset");
var sql = "select * from users where username = '" + username
+ "' and password = '" + oldpassword + "'"; rso.open( sql, cn ); if (rso.EOF) {…
- Câu truy v n thi t l p m t kh u m i nh sau:
sql = "update users set password = '" + newpassword + "' where username= '" + rso("username") + "'"
rso(“username”) chính lƠ giá tr username có đ c câu truy v n login và nó là admin’--
Câu truy v n lúc nƠy nh sau:
update users set password = 'password' where username = 'admin'--'
- Nh đó hacker có th thay đ i m t kh u c a admin bằng giá tr c a mình. Đơy lƠ 1
tr ng h p còn t n t i trong hầu h t những ng d ng l n ngày nay có sử d ng c ch
lo i bỏ dữ li u. Gi i pháp tốt nh t là lo i bỏ những giá tr l i h n lƠ ch nh sửa l i.
Nh ng có m t v n đ là có m t số ô nh p dữ li u (nh ô nh p tên) cho phép những kí tự này. Ví d : O’Brien.
- Cách tốt nh t đ gi i quy t v n đ này là không cho phép nh p d u nháy đ n. N u
đi u này không th thựchi n đ c , thì lo i bỏ và thay th nh trên. Trong tr ng h p
này, cách tốt nh t lƠ đ m b o t t c dữ li u đ c đ a vƠo câu truy v n SQL (k c
những giá tr trong c s dữ li u) ph i đ c ki m soát m t cách chặt ch .
M t số ng d ng phòng chống vi c thêm câu truy v n từ ng i dùng bằng cách gi i
h n chi u dài c a ô nh p. Tuy nhiên, v i gi i h n này thì m t số ki u t n công không
th thực hi n đ c nh ng v n có ch h đ hacker l i d ng. NGUY N V NG NGH Trang 40
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER Ví d b.2:
Gi sử c username và password đ u b gi ih n tối đa lƠ 16 kí tự.Nh p:
Username: aaaaaaaaaaaaaaa’ Password :‘; shutdown--
ng d ng s thay th m t d u nháy đ n bằng hai d u nháy đ n nh ng do chi u dài
chu i b gi i h n ch là 16 kí tự nên d u nháy đ n vừa đ c thêm s b xoá m t. Câu l nh SQL nh sau:
Select * from users where username=’aaaaaaaaaaaaaaa’’ and
password=’’’; shutdown—‘

k t qu là username trong câu l nh có giá tr là:
aaaaaaaaaaaaaaa’ and password=’
iiiii.3. Tránh sự ki m soát:
- SQL server có m t giao th c ki m soát chặt ch bằng họ hàm sp_traceXXX, cho
phép ghi nhân nhi u sự ki n x y ra trong c s dữ li u. Đặc bi t là các sự ki n T-SQL,
ghi nh n l i t t c các câu l nh SQL thực hi n trên Server. N u ch đ ki m soát đ c
b t thì t t c các câu truy v n SQL c a hacker cũng b ghi nh n và nh đó mƠ m t
ng i qu n tr có th ki m soát những gì đang x y ra vƠ nhanh chóng tìm ra đ c gi i
pháp. Nh ng cũng có m t cách đ chống l i đi u này, bằng cách thêm dòng
“sp_password” vƠo cơu l nh T-SQL, vì khi gặp chu i này thì vi c ki m tra s ghi nh nnh sau:
-- ‘sp_password’ was found in the text of this event.
-- The text has benn replaced with this comment for security reasons.
ngay c khi “sp_password” xu t hi n trong phần chú thích. Vì th đ d u t t c câu
truy v n t n công, ch cần đ n gi n là thêm sp_password vƠo sau ‘--’ nh sau:
2.3.2.Cách Phòng Tránh SQL Injection
- Nh v y, có th th y l i SQL injection khai thác những b t c n c a các l p trình
viên phát tri n ng d ng web khi xử lí các dữ li u nh p vƠo đ xây dựng câu l nh
SQL. Tác h i từ l i SQL injection tùy thu c vƠo môi tr ng và cách c u hình h
thống. N u ng d ng sử d ng quy n dbo (quy n c a ng i s hữu c s dữ li u -
owner) khi thao tác dữ li u, nó có th xóa toàn b các b ng dữ li u, t o các b ng dữ NGUY N V NG NGH Trang 41
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
li u m i, … N u ng d ng sử d ng quy n sa (quy n qu n tr h thống), nó có th đi u
khi n toàn b h qu n tr c s dữ li u và v i quy n h n r ng l n nh v y nó có th
t o ra các tài kho n ng i dùng b t h p pháp đ đi u khi n h thống c a b n.
• Trong hầu h t trình duy t, những kí tự nên đ c mư hoá trên đ a ch URL tr c khi đ c sử d ng.
• Vi c t n công theo SQL Injection dựa vào những câu thông báo l i do đó vi c
phòng chống hay nh t v n là không cho hi n th những thông đi p l i cho ng i dùng
bằng cách thay th những l i thông báo bằng 1 trang do ng i phát tri n thi t k m i khi l i x y ra trên ng d ng.
• Ki m tra kĩ giá tr nh p vào c a ng i dùng, thay th những kí tự nh ‘ ; v..v.. Hưy
lo i bỏ các kí tự meta nh “',",/,\,;“ vƠ các kí tự extend nh NULL, CR, LF, ... trong các string nh n đ c từ:
o dữ li u nh p do ng i dùng đ trình o các tham số từ URL o các giá tr từ cookie
• Đối v i các giá tr numeric, hãy chuy n nó sang integer tr c khi thực hi n câu
truy v nSQL, hoặc dùng ISNUMERIC đ chắc chắn nó là m t số integer.
• Dùng thu t toán đ mã hoá dữ li u i. Ki m tra dữ li u
- Ki m tra tính đúng đắn c a dữ li u là 1 v n đ ph c t p vƠ th ng ch a đ c quan
tơm đúng m c trong các ng d ng. Khuynh h ng c a vi c ki m tra tính đúng đắn c a
dữ li u không ph i là ch cần thêm m t số ch c năng vƠo ng d ng, mà ph i ki m tra
m t cách t ng quát nhanh chóng đ đ t đ c m c đích.
- Những tóm tắt sau đơy s bàn v vi c ki m tra tính đúng đắn c a dữ li u, cùng v i
ví d m u đ minh ho cho v n đ này.
Có ba gi i pháp ti p c n v n đ này:
1) Cố gắng ki m tra và ch nh sửa đ làm cho dữ li u h p l .
2) Lo i bỏ những dữ li u b t h p l .
3) Ch ch p nh n những dữ li u h p l
• Gi i pháp 1: khó thực hi n NGUY N V NG NGH Trang 42
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Th nh t, ng i l p trình không cần thi t ph i bi t t t c dữ li u b t h p l , b i vì
những d ng dữ li u b t h pl r t đa d ng.
- Th hai, là v n đ c a tr ng h p b t n công 2 tầng (second-oder SQL
injection) trong vi c l y dữ li u từ h thống ra.
• Gi i pháp 2: b vô hi u trong các tr ng h p nh gi i pháp 1 là do :
- Dữ li u b t h p l luôn luôn thay đ i và cùng v i vi c phát tri n các ki u t n công m i.
• Gi i pháp 3: tốt h n hai gi i pháp kia, nh ng s gặp m t số h n ch khi cƠi đặt.
- Cách b o m t tốt nh t là k t h p c gi i pháp 2 và 3. M t ví d cho sự cần thi t
k t h p 2-3 là d u nối giữa họ vƠ tên “Quentin Bassington-Bassington” ph i cho phép
d u g ch ngang trong b đ nh nghĩa dữ li u h p l , nh ng chu i kí tự “--“ lƠ m t chu i
kí tự đặc bi t trong SQL server. - Ví d n u có b lọc đ :
+ Lọc bỏ những dữ li u b t h p l nh ‘--‘,’select’ vƠ ‘union’
+ M t hàm ki m soát đ lo i bỏ d u nháy đ n thì có th đối phó nh sau.
uni’on se’lect @@version-‘-
- M t số cách cƠi đặt các ch c năng ki m tra dữ li u c b n
• Cách 1: Từ chối dữ li u b t h p l
function validate_string( input )
known_bad = array("select","insert", "update", "delete", "drop","--", "'" ) validate_string = true
for i = lbound( known_bad ) to ubound( known_bad )
if ( instr( 1, input, known_bad(i), vbtextcompare ) <> 0 ) then
validate_string = false exit function end if next end function NGUY N V NG NGH Trang 43
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
• Cách 2: Thay th d u nháy đ n:
function escape( input )
input = replace(input, "'", "''") escape = input end function
• Cách 3: Ch ch p nh n dữ li u h p l function validate password( input ) good_pass word_chars = "abcdefghijkl
mnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123 456789" validatepassword = true for i = 1 to len( input ) c = mid( input, i, 1 )
if ( InStr( good_password_chars, c ) = 0 ) then validatepassword = false exit function end if next end function
ii. Khoá chặt SQL Server (SQL Server Lockdown)
Đơy lƠ m t danh sách các công vi c cần lƠm đ b o v SQL server:
• Xác đ nh các ph ng pháp k t nối đ n server:
o Dùng ti n ích Network Utility đ ki m tra rằng ch có các th vi n m ng đang dùng lƠ hoat đ ng.
• Ki m tra t t c các tài kho n có trong SQL Server
o Ch t o tài kho n có quy n th p cho các ng d ng
o Lo i bỏ những tài kho n không cần thi t NGUY N V NG NGH Trang 44
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
o Đ m b o rằng t t c tài kho n có m t m t kh u h p l , …
• Ki m tra các đối t ng t n t i
o Nhi u extended stored procedure có th đ c xoá bỏ m t cách an toàn.
N u đi u nƠy đ c thực hi n, thì cũng nên xem xét vi c lo i bỏ luôn những t p tin
.dll ch a mã c a các extended stored procedure
o Xoá bỏ t t c c s dữ li u m u nh “northwind” vƠ “pubs”
o Xóa các stored procedure không dùng nh : master..xp_cmdshell, xp_startmail, xp_sendmail, sp_makewebtask
• Ki m tra những tài kho n nào có th truy xu t đ n những đối t ng nào
o Đối v i những tài kho n c a m t ng d ng nƠo đó dùng đ truy xu t c s dữ
li u thì ch đ c c p những quy n h n cần thi t tối thi u đ truy xu t đ n những đối
t ng nó cần dùng. Ki m tra l p sửa chữa c a server
o Có m t số cách t n công nh “buffer overflow”, “format string” th ng chú ý đ n l p b o v này.
• Ki m tra các phiên làm vi c trên server
• Thay đ i "Startup và ch y SQL Server" m c ng i dùng quy n h n th p trong SQL Server Security. - Nh n xét:
+ Qua phần tìm hi u v SQL Injection,càng th y rằng vi c ki m tra dữ li u
tr c khi xử lý là cần thi t.
+ ng d ng ngoài vi cki m tra tính đúng đắn c a dữ li u, cần mã hóa dữ li u
ngay bên trong c s dữ li u và không cho xu t trang Web l i, báo n i dung l i cú
pháp SQL đ hacker không th thu th p thông tin c s dữ li u.
- Song song đó lƠ công vi c c a ng i qu n tr m ng.
iii. Thi t l p c u hình an toàn cho h qu n tr c s dữ li u
- Cần có c ch ki m soát chặt ch và gi i h n quy n xử lí dữ li u đ n tài kho n
ng i dùng mà ng d ng web đang sử d ng. Các ng d ng thông th ng nên tránh
dùng đ n các quy n nh dbo hay sa. Quy n càng b h n ch , thi t h i càng ít.
NgoƠi ra đ tránh các nguy c từ SQL Injection attack, nên chú ý lo i bỏ b t kì thông
tin kĩ thu t nào ch a trong thông đi p chuy n xuống cho ng i dùng khi ng d ng có NGUY N V NG NGH Trang 45
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
l i. Các thông báo l i thông th ng ti t l các chi ti t kĩ thu t có th cho phép kẻ t n
công bi t đ c đi m y u c a h thống.
2.4. Cross Site Scripting (XSS) 2.4.1. T n công XSS
- Cross-Site Scripting (XSS) là m t trong những kĩ thu t t n công ph bi n nh t hiên
nay, đ ng th i nó cũng lƠ m t trong những v n đ b o m t quan trọng đối v i các nhà
phát tri n web và c những ng i sử d ng web. B t kì m t website nào cho phép
ng i sử d ng đăng thông tin mƠ không có sự ki m tra chặt ch các đo n mã nguy
hi m thì đ u có th ti m n các l i XSS.
- Cross-Site Scripting hay còn đ c gọi tắt là XSS (thay vì gọi tắt lƠ CSS đ tránh
nhầm l n v i CSS-Cascading Style Sheet c a HTML) là m t kĩ thu t t n công bằng
cách chèn vƠo các website đ ng (ASP, PHP, CGI, JSP ...) những thẻ HTML hay
những đo n mã script nguy hi m có th gây nguy h i cho những ng i sử d ng khác.
Trong đó, những đo n mã nguy hi m đự c chèn vƠo hầu h t đ c vi t bằng các
Client-Site Script nh JavaScript, JScript, DHTML vƠ cũng có th là c các thẻ
HTML.Kĩ thu t t n công XSS đư nhanh chóng tr thành m t trong những l i ph bi n
nh t c a Web Applications và mối đe do c a chúng đối v i ng i sử d ng ngày càng
l n. Ng i chi n thắng trong cu c thi eWeek OpenHack 2002 lƠ ng i đư tìm ra 2
XSS m i. Ph i chăng mối nguy hi m từ XSS đư ngƠy cƠng đ c mọi ng i chú Ủ h n.
2.4.1.1. Hoạt động của XSS:
- V c b n XSS cũng nh SQL Injection hay Source Injection, nó cũng lƠ các yêu
cầu (request) đ c gửi từ các máy client t i server nhằm chèn vƠo đó các thông tin
v t quá tầm ki m soát c a server. Nó có th là m t request đ c gửi từ các form dữ
li u hoặc cũng có th đó ch lƠ các URL nh lƠ
http://www.example.com/search.cgi?query= was found !');
- Và r t có th trình duy t c a b n s hi n lên m t thông báo "XSS was found !". Các
đo n mã trong thẻ script không h b gi i h n b i chúng hoàn toàn có th thay th
bằng m t file ngu n trên m t server khác thông qua thu c tính src c a thẻ script. Cũng
chính vì l đó mƠ chúng ta ch a th l ng h t đ c đ nguy hi m c a các l i XSS. NGUY N V NG NGH Trang 46
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
- Nh ng n u nh các kĩ thu t t n công khác có th lƠm thay đ i đ c dữ li u ngu n
c a web server (mã ngu n, c u trúc, c s dữ li u) thì XSS ch gây t n h i đối v i
website phía client mà n n nhân trực ti p là những ng i khách duy t site đó. T t
nhiên đôi khi các hacker cũng sử d ng kĩ thu t nƠy đ deface các website nh ng đó
v n ch t n công vào b mặt c a website. Th t v y, XSS là những Client-Side Script,
những đo n mã này s ch ch y b i trình duy t phía client do đó XSS không lƠm nh
h ng đ n h thống website nằm trên server. M c tiêu t n công c a XSS không ai
khác chính là những ng i sử d ng khác c a website, khi họ vô tình vào các trang có
ch a các đo n mã nguy hi m do các hacker đ l i họ có th b chuy n t i các website
khác, đặt l i homepage, hay nặng h n lƠ m t m t kh u, m t cookie th m chí máy tính
b n có th s b cài các lo i virus, backdoor, worm
2.4.1.2. Cách tấn công
i. Scan l h ng XSS cua ng d ng web
- Cách 1: Sử d ng nhi u ch ng trình dò quét l i c a ng d ng web, ví d nh
ch ng trình Web Vulnerability Scanner đ dò quét l i XSS.
- Cách 2: Thực hi n 5 b c:
• B c 1: M website cần ki m tra
• B c 2: Xác đ nh các ch (phần) cần ki m tra XSS. 1 Site b t kỳ bao gi cũng có các phần:
Search, error message, web form. Ch y u l i XSS nằm phần này, nói chung
XSS có th x y ra ch nƠo mƠ ng i dùng có th nh p dữ li u vƠo vƠ sau đó nh n
đ c m t cái gì đó. Ví d chúng ta nh p vào chu i ‘XSS’
• B c 3: Xác minh kh năng site có b l i XSS hay không bằng cách xem các
thông tin tr v . Ví d chúng ta th y th nƠy: ‘Không tìm th y XSS…’ , hay lƠ ‘TƠi
kho n XSS không chính xác’, ‘Đăng nh p v i XSS không thƠnh công’… thì khi đó
kh năng ch đó b dính XSS là r t cao.
• B c 4: Khi đư xác đ nh ch có kh năng b dính l i XSS thì chúng ta s chèn
những đo n code c a chúng ta vƠo đ thử ti p, ví d nh sau:
Chèn đo n code này: < script>alert('XSS')< /script> vào ô b l i và nh n nút
Login, n u chúng ta nh n đ c m t popup có chữ ‘XSS’ thì 100% b dính XSS.
Nh ng xin chú Ủ , th nh tho ng v n có tr ng h p website đó b dính XSS nh ng v n NGUY N V NG NGH Trang 47
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
không xu t hi n cái popup thì bu c lòng b n ph i VIEW SOURCES (m b ng) nó ra
đ xem . Khi view sources nh ki m dòng này < script>alert('XSS)< /script> , n u có
thì h t ch y , XSS đơy r i.
Gọi http://doannguyennganh.com/index.php là site b dính l i XSS và ta tìm
đ c n i b l i nh th này : http://doannguyennganh.com/index.php?page=script> , nghĩa lƠ ta có th chèn code ngay trên thanh ADDRESS.
• B c 5: Lên k ho ch k ch b n t n công ii. T n công
- Th t ra thì có r t nhi u kỹ thu t t n công dựa trên l i XSS này, ch y u là sau khi
đư bi t cách tìm l h ng thì m i ng i s có m t m u mô cho cách t n công c a mình.
đơy mình xin gi i thi u đ n các b n m t kỹ thu t mƠ mình đư thực hi n thành công
trên trang moodle c a khoa công ngh thông tin KHTN. Kỹ thu t ăn cắp password.
- Sau khi đư xác minh m t đi u chắc chắn rằng trang moodle b l i XSS ch đăng nh p
- Tôi l p t c vi t ngay m t ng d ng nhỏ r i up lên m t cái host free, ng d ng này
s có nhi m v nh n thông tin v mssv và password gửi v và ghi xuống file txt. Còn
nh n th nào thì m i các b n xem ti p... Sau đó:
• B c 1: Tôi t o m t mail gi d ng nói là: Di n đƠn tuy n d ng c a Intel, m i
các b n nào quan tâm thì tham gia.R i t o ra m t cái đ ng link gi :
http://doannguyennganhgia.com/index.php nh ng tôi lƠ reference nó t i m t cái trang
gi c a tui. Trong tích tắc trang này s gắn m t cái đo n script đ c có nhi m v l y v
username vƠ password sau khi đăng nh p và gắn vào cái trang th t(Vì trang th t b l i
XSS nên cho phép chúng ta gắn mư đ c lên, gắn đơy có nghĩa lƠ khi chúng ta view
source code c a trang lên, chúng ta s th y có m t đo n script c a chúng ta nằm đơu
đó), r i sau đó redirect sang trang th t ngay l p t c đ khỏi b nghi ng .
• B c 2: Ng i dùng vƠo mail, t ng th t, click vào link và th y ch y đúng
trang moodle (Họ đơu ng rằng, trang th t đư b gắn mư đ c lên, trong th i gian quá
nhanh nên họ không nghi ng gì c , nh ng n u ai đ ý s th y link không đúng).
• B c 3: Họ đăng nh p, khi đó ng d ng s ch y biên d ch từ trên xuống, và t t NGUY N V NG NGH Trang 48
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
nhiên s ch y luôn c script mƠ chúng ta đư cƠi, khi đó MSSV vƠ password s đ c l y
v đ gửi cho m t cái trang trên server mƠ chúng ta đư dựng ra.
• B c 4: ng d ng server c a ta nh n đ c mssv và password, ghi ra file txt.
• B c 5: K t thúc quá trình t n công, chúng ta có m t danh sách các tài kho n c a sinh viên. 2.4.2. Phòng chống.
- Nh đư đ c p trên, m t t n công XSS ch thực hi n đ c khi gửi m t trang web
cho trình duy t web c a n n nhơn có kèm theo mư script đ c c a kẻ t n công. Vì v y
những ng i phát tri n web có th b o v website c a mình khỏi b l i d ng thông qua
những t n công XSS nƠy, đ m b o những trang phát sinh đ ng không ch a các tag c a
script bằng cách lọc và xác nh n h p lý các dữ li u đầu vào từ phía ng i dùng hoặc
mã hóa(endcoding) và lọc các giá tr xu t cho ng i dùng. 2.4.2.1. Lọc
- Luôn luôn lọc các dữ li u nh p từ phía ng i dùng bằng cách lọc các kí tự meta (kí
tự đặc bi t) đ c đ nh nghĩa trong đặc t c a HTML. M i tr ng nh p li u bao g m
c tham số liên k t s đ c ki m tra đ phát hi n các thẻ script. 2.4.2.2. Mã hóa
- L i XSS có th tránh đ c khi máy ch Web đ m b o những trang phát sinh đ c
mã hóa (encoding) thích h p đ ngăn ch y ch y các script không mong muốn.
- Mã hóa phía máy ch là m t ti n trình mà t t c n i dung phát sinh đ ng s đi qua
m t hƠm mư hóa n i mƠ các thẻ script s đ c thay th b i mã c a nó.
- Nói chung, vi c mư hóa(encoding) đ c khuy n khích sử d ng vì nó không yêu
cầu b n ph i đ a ra quy t đ nh những kí tự nào là h p l hoặc không h p l .Tuy nhiên
vi c mã hóa t t c dữ li u không đáng tin c y có th tốn tài nguyên và nh h ng đ n
kh năng thực thi c a m t số máy ch NGUY N V NG NGH Trang 49
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER CH NG 3
DEMO, ĐỄNH GIỄ VÀ H NG PHÁT TRI N Đ TÀI 3.1. Demo
- Tr c tiên ta sử d ng m t th thu t tìm ki m nhỏ trên google đ có th tìm ki m
site b l i SQL Injecton. đơy tôi dùng từ khóa: inurl:keywords
Ví d : inurl:sanpham.php?id=3
- Sử d ng từ khóa trên google.com tôi chọn đ c m t website thi t k s sƠi lƠ
http://nhanquynhphat.com/sanpham.php?id=3 ; tôi đoán nó b dính l i SQL Injetion và ti n hành khai thác l i.
- Tôi ti n hành ki m tra l i và th y website này b l i SQL Injection, tôi ti p t c l y
các thông tin v website nh version MySQL đ vi c khai thác tr nên rõ rƠng h n.
đơy website sử d ng version MySQL >=5 nên tôi có th d dàng khai thác l i thông
qua information_shema.tables mà không cần ph i đoán table c a nó là gì.
Hình 13. Thông tin các table lấy được.
- Bỏ qua các table không liên quan ta l y đ c các table nh sau: khuyenmai, lienhe,
loaispcon, online, sanpham, tbl_gioithieu, tbl_lienhe, tbl_lienket, tbl_tintuc, thanhtoan, tintuc, user

- Sau đó tôi ti n hành l y thông tin column và data và k t qu nh hình 14. NGUY N V NG NGH Trang 50
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
Hình 14. Dữ liệu ta khai thác được ở dạng mã hóa
- Theo hình 14. dữ li u l y đ c đang d ng mã hóa. Vi c khai thác SQL Injection
đ n đơy còn 1 b c nữa lƠ tìm đ ng d n đăng nh p qu n tr và n u m t kh u nằm
d ng mã hóa thì ta cần ph i ti n hành gi i mã. 3.2. K t lu n
3.2.1. Các v n đ đ t đ c

- Theo yêu cầu đặt ra ban đầu thì cho đ n th i đi m hi n t i, đ án đư đ t đ c các n i dung sau:
• Tìm hi u các kĩ thu t t n công ng d ng Web bao g m các kĩ thu t
o Chèn mã l nh thực thi trên trình khách Cross-site Scripting.
o Chèn câu truy v n SQL và T n công SQL Injection nâng cao o T n công Local Acttack. o Từ chối d ch v .
• Các bi n pháp b o m t từ sự k t h p giữa nhà qu n tr m ng, nhà thi t k ng d ng Web vƠ ng i dùng
o Ki m tra m t trang Web có kh năng b t n công bằng những kĩ thu t
chèn câu l nh SQL, thay đ i tham số hay không. NGUY N V NG NGH Trang 51
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
o Có th phòng chống đ c các l i t n công thông d ng hi n nay, nh các v n đ đư tìm hi u trên. 3.2.2. H n ch
Trong quá trình lƠm đ án có r t nhi u tài li u tôi tìm ki m tuy có m c đích lƠ giống
nhau song l i có ph ng pháp khác nhau hoƠn toƠn.Tôi đư cố gắng tìm hi u thêm v
chúng nh ng không khỏi có nhi u sai sót
3.2.3. H ng phát tri n đ tƠi
Trong ph m vi đ án chuyên ngƠnh, đư đ t đ c các yêu cầu đặt ra.
B n thơn cá nhơn em xin đ xu t h ng phát tri n đ án m r ng h n vƠ s cố gắng
phát tri n thêm những n i dung sau:
• Tìm hi u thêm v các kĩ thu t t n công đ đ a ra ph ng pháp b o m t ng d ng Web m c đ sơu h n.
• Tìm hi u v v n đ b o m t sơu h n, không ch dừng m c đ m t ng d ng
Web mà phát tri n h n vần đ b o m t các h thống m ng và d ch v .
• Khai tri n ch ng trình phát hi n l h ng tốt h n, trên nhi u ph ng di n kĩ thu t. NGUY N V NG NGH Trang 52
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER TÀI LI U THAM KH O
A. Tài li u Ti ng Vi t:
[1] T n công từ chối d ch v Dos,Ddos,DRDos. Tác gi Ng.Ng.Thanh Ngh -HVA
[2] Bài gi ng An Ninh M ng.Tác gi GV.Nguy n Anh Tu n-Trung tâm TH-NN Trí Đ c
[3] L i b o m t trên ng d ng web và cách khắc ph c.Tác gi Đặng H i S n-Trung
tâm ng c u kh n c p máy tính Vi t Nam
[4] T n công ki u SQL Injection-Tác h i và phòng tránh. Tác gi Lê Đình Duy-Khoa
CNTT-Tr ng ĐH Khoa Học Tự Nhiên TP.HCM
[5] Web Application Attack & Defense. Tác gi Võ Đ Thắng-Trung tâm An ninh m ng Athena
[6] XSS c b n. Tác gi Mask-NBTA
B. Tài li u Ti ng Anh:
[7] SQL Injection-Are you web Applications vulnerable. Author Kevin Spett
[8] An Introduction to SQL Injection Attacks For Oracle Developers.Author Stephen Kost
[9] How to Attack and fix Local File Disclosure. Author Sangteamtham C. Tài li u internet:
[10]http://thuvienkhoahoc.com/wiki/K%C4%A9_thu%E1%BA%ADt_t%E1%BA%A
5n_c%C3%B4ng_CROSS-SITE_SCRIPTING »
[11]http://vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:T
%E1%BA%A5n_c%C3%B4ng_t%E1%BB%AB_ch%E1%BB%91i_d%E1%BB%8B
ch_v%E1%BB%A5&action=edit&redlink=1
[12]http://www.hvaonline.net/hvaonline/posts/list/6720.hva;jsessionid=38F900726E07 641F712734A3B2A6F2EC
[13]http://www.ddcntt.vn/forum/showthread.php?t=14
[14]http://ttgtc.com/forum/showthread.php?1385-T%C3%ACm-hi%E1%BB%83u-
v%E1%BB%81-t%E1%BA%A5n-c%C3%B4ng-t%E1%BB%AB-ch%E1%BB%91i-
d%E1%BB%8Bch-v%E1%BB%A5-DoS&s=c580b874a6ea05d220258132c9cef9e3 NGUY N V NG NGH Trang 53
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
NH N XÉT C A GI NG VIểN H NG D N
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
............................................................................................................................. NGUY N V NG NGH Trang 54
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn) lOMoARcPSD|36212343 CÁC PH
NG TH C T N CÔNG & PHÒNG TH WEB SERVER
NH N XÉT C A GI NG VIÊN PH N BI N
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
............................................................................................................................. NGUY N V NG NGH Trang 55
Downloaded by Di?p DN - Chuyên Viên R&D (diepdn@bibabo.vn)