Co Ban Ve Web

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Co Ban Ve Web as PDF for free.

More details

  • Words: 4,314
  • Pages: 12
I.Kiến trúc tổng quan của ứng dụng Web

Các thành phần cơ bản chủ yếu trong Kiến trúc Ứng dụng Web bao gồm các Web client (thường là web browser), 1 Web server lưu trữ các web application có kết nối đến các Database server để cung cấp, thể hiện thông tin cho các web client. I.1 Web client Web client thường là 1 trình duyệt web, có giao tiếp với web server qua giao thức HTTP và hiển thị nội dung trang HTML cho người sử dụng. I.2 Web server

Web server còn gọi là HTTP deamon service thực hiện chức năng nhận yêu cầu từ phía client và xử lý các yêu cầu này để đảm bảo rằng nguồn tài nguyên yêu cầu đến là tồn tại sau đó nó chuyển yêu cầu cho web application xử lý và nhận kết quả trả về và trả lại phía client thông qua HTTP response. I.3 Web application Ta cần phải phân biệt web server và web application. Trong thực tế web server là máy chủ phục vụ web còn web application là ứng dụng web chạy trên máy chủ đó. Một web server có thể host nhiều web application khác nhau. Một ví dụ cụ thể là yêu cầu tìm kiếm từ phía client được gửi tới web server qua 1 form trên

trang search.html, từ khóa tìm kiếm này dược web server chuyển cho web application xử lý. Trong ứng dụng web động, kết quả trả về là khác nhau tùy thuộc vào yêu cầu tìm kiếm từ phía client. Web application chịu trách nhiệm sinh ra các file HTML results.htm khác nhau ứng với các yêu cầu đó. Trang HTML results.htm này sau đó được web server trả lại phía client. HTML(Hypertext markup language) và HTTP(hypertext transfer protocol) được sử dụng như là chuẩn ngôn ngữ và giao thức để truyền dẫn và hiển thị thông tin trong Kiến trúc ứng dụng Web. HTML hay ngôn ngữ đánh dấu siêu văn bản được thể hiện bằng các tags(thẻ) cho phép thể hiện lên trang web. Được định nghĩa như là một ứng dụng đơn giản của SGML, vốn được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp, HTML giờ đây đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản mới nhất của nó hiện là HTML 4.01. Tuy nhiên, HTML hiện không còn được phát triển tiếp. Người ta đã thay thế nó bằng XHTML. Giao thức cho phép truyền tin giữa web server tới web client là giao thức HTTP. Version hiện tại của giao thức HTTP là 1.1 và được mô tả trong RFC 2616. Trong giao thức HTTP, web client còn được gọi là user agent. Các user agent này gửi HTTP request tới các webserver để lấy nguồn tài nguyên mang trả lại cho người sử dụng trong đó nguồn tài nguyên được phân biệt bởi các địa chỉ duy nhất URIs(Uniform resource identifiers) hay địa chỉ URL của trang web.

I.4 Database server Chịu trách nhiệm quản lý dữ liệu cho ứng dụng web. Trong các ứng dụng web hiện đại, database server không đặt trên cùng 1 máy tính với web server. Thường đứng sau firewall để bảo mật hệ thống, chống lại nguy cơ thâm nhập máy chủ database 1 cách bất hợp pháp. Các firewall thường chỉ cho phép duy nhất kết nối từ web server tới database server. Trong các hệ thống lớn phục vụ 1 số lượng hàng ngàn client cùng gửi yêu cầu đến 1 lúc(ví dụ dantri.com.vn ) nếu chỉ có 1 web server thì sẽ bị quá tải, do vậy cần phải sử dụng nhiều web server khác nhau và các yêu cầu từ phía client đến các web server sẽ được phân phối cân bằng cho các web server khác nhau (load balancer) II. Các nguy cơ bị khai thác trong kiến trúc ứng dụng web

II.1 Nguy cơ trong giao thức HTTP và định dạng văn bản HTML Cũng như các giao thức tầng ứng dụng khác (application layer), HTTP là giao thức hướng ký tự. cú pháp 1 HTTP request và response được thể hiện dưới dạng văn bản text thuần túy nên 1 khi trao đổi thông tin quan trọng ( tài liệu mật, user name, password) bị nghe trộm(man in the middle) Hacker hoàn toàn đọc được và lấy trộm user name, password của client cũng như các thông tin mà client và web server trao đổi. Trong mạng LAN, hacker có thể dễ dàng monitor các gói tin IP trong mạng và hoàn toàn lấy được các thông tin quan trọng đó.

Hình trên là capture của 1 HTTP header khi người sử dụng đăng nhập vào 1 trang web, thông tin về user name và password được hiển thị dưới dạng cleatext và hoàn toàn không mã hóa. Dưới đây là thông tin mà 1 sniffer trên máy tính của hacker lấy được:

II.2 Nguy cơ Khai thác web server

Trên đây là địa chỉ trên thanh URL giả định mà người sử dụng gõ trên trình duyệt browser của họ. Trình duyệt tách URL này thành 3 phần: Giao thức sử dụng HTTP Tên site www.ddth.com Tên file + tham số Forumdisplay.php?f=12

Tên site được chuyển đổi thành địa chỉ IP. Trình duyệt sau đó tạo 1 kết nối tới web server có địa chỉ IP trên tại cổng 80 ( cổng mặc định cho HTTP protocol). Browser send 1 GET request tới server, yêu cầu tới file forumdisplay.php. Server gửi trả lại HTML text tương ứng sau khi xử lý trên file forumdisplay.php. Browser của người sử dụng cuối cùng đọc các thẻ HTML và hiển thị lên cho người dùng. Trên thực tế tồn tại rất nhiều web server phổ biến như Apache và IIS(internet information service) và SUN ONE web server . Tuy nhiên hàng trăm web server thường xuyên bị hacker tấn công giành quyền kiểm soát. Một trong những nguy cơ bị tấn công thường thấy là do sự cấu hình lỏng lẻo các security policy, nghe lén server và tấn công từ chối dịch vụ(Denial of service). II.2.1 Apache Risks Apache web server là 1 web server mã nguồn mở(open source) và thường được sử dụng trên các máy chủ linux hơn windows server. II.2.2 IIS Risks IIS(internet information service) là web server do microsoft phát triển, chỉ sử dụng trên các máy chủ windows server, không sử dụng cho các máy chủ khác (linux, sun..). Dưới đây là một số các lỗ hổng đã được công bố mã khai thác: 1 Apache And Microsoft IIS Range Denial of Service Vulnerability (Vulnerabilities) Rank: 349 Last modified on: 2007-01-03 00:00:00 MST URL: http://www.securityfocus.com/bid/21865 2 Microsoft IIS ASP Remote Code Execution Vulnerability (Vulnerabilities) Rank: 349 II.3 Web application risks II.3.1 HTTP Authentication BASIC Basic authentication(chứng thực cơ bản) là dạng cơ bản nhất để chứng thực quyền sử dụng của người dùng đối với ứng dụng web. Nó được định nghĩa trong http specification. Dưới đây là luồng HTTP header cơ bản bắt đầu từ khi người dùng gõ địa chỉ trang web đến khi nhập username và password

DIGEST Digest được thiết kế để cung cấp một cấp độ bảo mật cao hơn Basic authentication. Nó được mô tả trong RFC 2617. Trong digest authentication, username assword không đươc base 64 trực tiếp mà nó sử dụng 1 giá trị mà web server gửi tới gọi là none, như vậy xâu authentication gửi đi là encode MD5 của username assword +none. Mức bảo mật có cao hơn vì MD5 là mã khóa 1 chiều, nhưng MD5 cũng có thể decode được bằng thuật toán bruteforce. NTML Là sự kết hợp giữa thuânt toán chứng thực windows(windows authentication) trên giao thức HTTP. Nó hiếm được sử dụng hơn Basic và Digest vì chỉ làm việc giữa trình duyệt Internet

explorer và IIS web server nhưng hầu hết các site trên internet đều mong muốn người sử dụng có thể dùng nhiều trình duyệt khác nhau. Do vậy NTML thường chỉ được sử dụng trong các mạng INTRANET microsoft. Khả năng an toàn cao nhưng có thể bị tấn công bằng thuật toán bruteforce. II.3.2 Web form Authentication II.3.2.1 Password guessing Kĩ thuật dò password là kĩ thuật cơ bản và đơn giản nhất trong trường hợp hacker muốn đoán password để đăng nhập vào 1 trang web nào đó Dưới đây là 1 ví dụ về cách thức tấn công dò passord, cách thức tấn công này thường áp dụng là phương pháp cuối cùng vì đòi hỏi thời gian lâu nếu password cần đoán có số lượng ký tự lớn và nhiều loại ký tự:

Keep-Alive: 300 Connection: keep-alive Referer: http://www.hackerscenter.com/error.asp?type=nologin Cookie: __utmz=116171679.1179280504.1.1.utmccn=(direct)|ut mcsr=(direct)| utmcmd=(none); __utma=116171679.1609349937.1179280504.1180427494. 1180499458.8; bblastactivity=0; bblastvisit=1179283053; __utmb=116171679; __utmc=116171679; ASPSESSIONIDAQSQRSCT=ODOCHKACLPMKIAFNOLDBMDAM Content-Type: application/x-www-form-urlencoded Content-Length: 44 user=_____&password=___&submit=LogIn II.3.3 Web authorization II.3.3.1 Phân loại các hình thức tấn công Leo thang đặc quyền theo chiều ngang(horizontal privilege escalation). Đây là hình thức 1 user truy cập thông tin trái phép của 1 user khác trong hệ thống web application. Chẳng hạn trong hệ thống tài khoản ngân hàng, 1 user chỉ được phép xem và giao dịch với tài khoản của chính user đó. Nhưng hệ thống web application lại tiềm ẩn lỗi và 1 user này có thể xem và giao dịch dưới vai trò là 1 user khác. Leo thang đặc quyền theo chiều dọc(vertical privilege escalation). Đó là hình thức hacker từ 1 user bình thường trong hệ thống bằng cách khai thác lỗi của web application, hacker nâng quyền tải khoản của mình lên thành tài khoản có quyền cao hơn như tài khoản quản trị hệ thống. Từ đó nắm được quyền quản trị hệ thống. Xâm nhập tập tin trái phép(arbitrary file access). Đó là hình thức hacker xâm nhập các file không thuộc hệ thống web aplication nhờ vào lỗi của chính hệ thống web application. Chẳng hạn như truy cập các file trái phép của hệ điều hành như boot.ini hoặc /etc/passwd II.3.3 Web authorization

II.3.3.1 Phân loại các hình thức tấn công Leo thang đặc quyền theo chiều ngang(horizontal privilege escalation). Đây là hình thức 1 user truy cập thông tin trái phép của 1 user khác trong hệ thống web application. Chẳng hạn trong hệ thống tài khoản ngân hàng, 1 user chỉ được phép xem và giao dịch với tài khoản của chính user đó. Nhưng hệ thống web application lại tiềm ẩn lỗi và 1 user này có thể xem và giao dịch dưới vai trò là 1 user khác. Leo thang đặc quyền theo chiều dọc(vertical privilege escalation). Đó là hình thức hacker từ 1 user bình thường trong hệ thống bằng cách khai thác lỗi của web application, hacker nâng quyền tải khoản của mình lên thành tài khoản có quyền cao hơn như tài khoản quản trị hệ thống. Từ đó nắm được quyền quản trị hệ thống. Xâm nhập tập tin trái phép(arbitrary file access). Đó là hình thức hacker xâm nhập các file không thuộc hệ thống web aplication nhờ vào lỗi của chính hệ thống web application. Chẳng hạn như truy cập các file trái phép của hệ điều hành như boot.ini hoặc /etc/passwd III. Phân loại các cách thức tấn công dựa vào lỗi phía web application Đặc điểm chung của các lỗ hổng phía web application là sự quá tin cậy vào dữ liệu được đẩy lên từ phía web client(reliability of Client-side data). Các nhà lập trình thiếu chuyên nghiệp thường không bao giờ kiểm tra xem thông tin người dùng đưa lên có đúng quy cách hay không, có được phép đưa yêu cầu như thế hay không? Mà lại thường xuyên nhận thông tin từ phía client, không qua kiểm tra mà đưa trực tiếp vào hàm xử lý yêu cầu của client. Điều này sẽ gây ra lỗi nếu thông tin đưa vào là không đúng quy cách( chẳng hạn dữ liệu số mà client lại gửi lên là 1 string), nếu thông tin là đúng quy cách thì cũng rất có khả năng đó là yêu cầu thông tin trái phép mà lại bị bỏ qua. III.1 Thiếu kiểm tra xâu truy vấn GET (Query String) Xét truy vấn có dạng sau: http://www.mail.com/mail.aspx?mailbo...any=acme%20com Nhìn vào Url này ta thấy, đây có thể là yêu cầu check mail từ người có yêu cầu là [email protected]. Điều đặc biệt là tham số GET mailbox=joe này có thể thay đổi trực tiếp trên Url của web browser. Nếu phía web application thiếu kiểm tra thì joe có địa chỉ mail [email protected] có khả năng đọc mail của người khác như peter bằng cách gõ lên Url địa chỉ sau: http://www.mail.com/mail.aspx?mailbo...any=acme%20com III.2 Thiếu kiểm tra Post data (Query String) Các tham số dữ liệu kiểu post không hiện trực tiếp lên url của web browser nhưng có rất nhiều các công cụ riêng cũng như 1 số add ons cho các web browser cho phép theo dõi và chỉnh sửa các tham số này. Dưới đây là add-ons tamper data cho firefox II.3.3 Web authorization II.3.3.1 Phân loại các hình thức tấn công Leo thang đặc quyền theo chiều ngang(horizontal privilege escalation). Đây là hình thức 1 user truy cập thông tin trái phép của 1 user khác trong hệ thống web application. Chẳng hạn trong hệ thống tài khoản ngân hàng, 1 user chỉ được phép xem và giao dịch với tài khoản của chính user đó. Nhưng hệ thống web application lại tiềm ẩn lỗi và 1 user này có thể xem và giao dịch dưới vai trò là 1 user khác. Leo thang đặc quyền theo chiều dọc(vertical privilege escalation). Đó là hình thức hacker từ 1 user bình thường trong hệ thống bằng cách khai thác lỗi của web application, hacker nâng quyền tải khoản của mình lên thành tài khoản có quyền cao hơn như tài khoản quản trị hệ thống. Từ đó nắm được quyền quản trị hệ thống.

Xâm nhập tập tin trái phép(arbitrary file access). Đó là hình thức hacker xâm nhập các file không thuộc hệ thống web aplication nhờ vào lỗi của chính hệ thống web application. Chẳng hạn như truy cập các file trái phép của hệ điều hành như boot.ini hoặc /etc/passwd III. Phân loại các cách thức tấn công dựa vào lỗi phía web application Đặc điểm chung của các lỗ hổng phía web application là sự quá tin cậy vào dữ liệu được đẩy lên từ phía web client(reliability of Client-side data). Các nhà lập trình thiếu chuyên nghiệp thường không bao giờ kiểm tra xem thông tin người dùng đưa lên có đúng quy cách hay không, có được phép đưa yêu cầu như thế hay không? Mà lại thường xuyên nhận thông tin từ phía client, không qua kiểm tra mà đưa trực tiếp vào hàm xử lý yêu cầu của client. Điều này sẽ gây ra lỗi nếu thông tin đưa vào là không đúng quy cách( chẳng hạn dữ liệu số mà client lại gửi lên là 1 string), nếu thông tin là đúng quy cách thì cũng rất có khả năng đó là yêu cầu thông tin trái phép mà lại bị bỏ qua. III.1 Thiếu kiểm tra xâu truy vấn GET (Query String) Xét truy vấn có dạng sau: http://www.mail.com/mail.aspx?mailbo...any=acme%20com Nhìn vào Url này ta thấy, đây có thể là yêu cầu check mail từ người có yêu cầu là [email protected]. Điều đặc biệt là tham số GET mailbox=joe này có thể thay đổi trực tiếp trên Url của web browser. Nếu phía web application thiếu kiểm tra thì joe có địa chỉ mail [email protected] có khả năng đọc mail của người khác như peter bằng cách gõ lên Url địa chỉ sau: http://www.mail.com/mail.aspx?mailbo...any=acme%20com III.2 Thiếu kiểm tra Post data (Query String) Các tham số dữ liệu kiểu post không hiện trực tiếp lên url của web browser nhưng có rất nhiều các công cụ riêng cũng như 1 số add ons cho các web browser cho phép theo dõi và chỉnh sửa các tham số này. Dưới đây là add-ons tamper data cho firefox Như vậy thay vì đưa tham số Get mailbox=joe trên Url, ta có thể truyền qua tham số kiểu Post có thể an toàn hơn vì ẩn đối với người dùng. Nhưng với hacker thì đấy không phải là vấn đề phức tạp. III.3 Uri Một số nhà phát triển web thường chứa các tài liệu quan trọng trong các thư mục khác nhau hoặc tài liệu của các user trong hệ thống trong các thư mục khác nhau Ví dụ báo cáo của các user: http://ctyA.com/quangtt/baocao.doc http://ctyA.com/trungtv/baocao.doc http://ctyA.com/administration/baocao.doc Như vậy trong nhiều trường hợp, quangtt hoàn toàn có thể lấy tài liệu báo cáo của administrator hay trungtv và bất kỳ người nào khác. III.4 HTTP header Trước đây một số web firewall chốn DOS attack thường có dạng là 1trang web nhỏ và yêu cầu người dùng kích vào đó thì mới được đăng nhập vào trang web. Dây là một kỹ thuật tin cậy vào tham số HTTTP referer luôn trỏ đến trang web trước đó mà người dùng truy cập tới.

các DOS agent như flash không tự chỉnh sửa được tham số này. Nhưng hiện nay ngay cả Xflash cũng có kỹ thuật vượt qua firewall kiểu này. Như vậy quá tin cậy vào HTTP header cũng là 1 yếu tố khiến web application có thể bị khai thác. III.5 Cookies Cookies là dạng phổ biến để quản lý phiên giao dịch giữa client và server. Chẳng hạn web server có thể sử dụng cookie để xem user đã đăng nhập hay chưa, nếu đăng nhập rồi thì không yêu cầu đăng nhập lần nữa khi user xem 1 trang thông tin khác. Khi user đăng nhập, webserver sẽ gửi cookies kèm theo trong response(nếu có) các request tiếp sau của client phải truyền kèm thông số cookies trong HTTP header. Cookie: HIM_on_off=1; HIM_daucu=1; HIM_method=0; HIM_ckspell=1; bbpassword=d0ec83b9a9b534c02b1615aeaf6d86a2; bblastvisit=1179795591; bbuserid=26097; bblastactivity=0; __utmz=139177842.1179795491.1.1.utmccn=(direct)|ut mcsr=(direct)|utmcmd=(none); __utma=139177842.2116029114.1179795491.1180170773. 1180582665.5; __utmb=139177842; __utmc=139177842; PHPSESSID=upp7d9bhlusbn76pfj0ucggig5; bbsessionhash=1994461ff432120599c2a96e743b68bd Như vậy, cookies cũng có vai trò xác thực client với web application. Nếu hacker ăn cắp được cookies của client thì hacker hoàn toàn có thể giả mạo khách hàng khi giao dịch với web application. Một số nhà lập trình không chuyên còn lưu user name và password, thông tin cá nhân của client dưới dạng clear text, điều này thực sự rất nguy hiểm. III.6 Trường tham số ẩn(Hidden fields) HTML tồn tại dưới dạng clear text nên người sử dụng hoàn toàn có thể view source của trang web đó. Trong quá trình view source, ta hoàn toàn có thể thấy các tham số ứng với 1 thẻ form trong tài liệu HTML. Trong số các tham số đó có thể bao gồm các tham số ẩn
User Name: Password: Các tham số ẩn thường đóng các vai trò khá quan trong trong việc nhận dạng client và quản lý phiên giao dịch giữa client và web server. Bằng việc lưu lại trang web đó và chỉnh sửa các tham số được post lên phía server,Hacker có thể tiêm nhiểm vào các trường ẩn để leo thang đặc quyền. Ví dụ sau đây là 1 cách khai thác bằng cách sửa code HTML, hacker có thể lấy được các thông tin không được phép của người khác.

III.7 kĩ thuật tấn công CROSS-SITE SCRIPTING(XSS) Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. Cái này anh em chắc cũng chán rồi

chỉ xin góp 1 link rất hay ho

http://ha.ckers.org/xss.html

III.8 SQL inJection SQL Injection là một trong những kiểu hack web đang dần trở nên phổ biến hiện nay. Bằng cách inject các mã SQL query/command vào input trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần username và password, remote execution, dump data và lấy root của SQL server. Công cụ dùng để tấn công là một trình duyệt web bất kì, chẳng hạn như Internet Explorer, Netscape, Lynx, ... Cũng không nên nói nhiều làm gì http://ferruh.mavituna.com/makale/sq...on-cheatsheet/ III.8.2 CÁCH PHÒNG CHỐNG • Trong hầu hết trình duyệt, những kí tự nên được mã hoá trên địa chỉ URL trước khi được sử dụng.

• Việc tấn công theo SQL Injection dựa vào những câu thông báo lỗi do đó việc phòng chống hay nhất vẫn là không cho hiển thị những thông điệp lỗi cho người dùng bằng cách thay thế những lỗi thông báo bằng 1 trang do người phát triển thiết kế mỗi khi lỗi xảy ra trên ứng dụng. • Kiểm tra kĩ giá trị nhập vào của người dùng, thay thế những kí tự như ‘ ; v..v.. Khoa CNTT •Loại bỏ các kí tự meta như “',",/,\,;“ và các kí tự extend như NULL, CR, LF, ... trong các string nhận được từ: o dữ liệu nhập do người dùng đệ trình o các tham số từ URL o các giá trị từ cookie • Đối với các giá trị numeric, hãy chuyển nó sang integer trước khi thực hiện câu truy vấn SQL, hoặc dùng ISNUMERIC để chắc chắn nó là một số integer. • Dùng thuật toán để mã hoá dữ liệu Kiểm tra tính đúng đắn của dữ liệu là 1 vấn đề phức tạp và thường chưa được quan tâm đúng mức trong các ứng dụng. Khuynh hướng của việc kiểm tra tính đúng đắn của dữ liệu không phải là chỉ cần thêm một số chức năng vào ứng dụng, mà phải kiểm tra một cách tổng quát nhanh chóng để đạt được mục đích. Những tóm tắt sau đây sẽ bàn về việc kiểm tra tính đúng đắn của dữ liệu, cùng với ví dụ mẫu để minh hoạ cho vấn đề này. Có ba giải pháp tiếp cận vấn đề này: 1) Cố gắng kiểm tra và chỉnh sửa để làm cho dữ liệu hợp lệ. 2) Loại bỏ những dữ liệu bất hợp lệ. 3) Chỉ chấp nhận những dữ liệu hợp lệ Giải pháp 1: khó thực hiện Thứ nhất, người lập trình không cần thiết phải biết tất cả dữ liệu bất hợp lệ, bởi vì những dạng dữ liệu bất hợp lệ rất đa dạng. Thứ hai, là vấn đề của trường hợp bị tấn công 2 tầng (second-oder SQL injection) trong việc lấy dữ liệu từ hệ thống ra. Giải pháp 2: bị vô hiệu trong các trường hợp như giải pháp 1 là do : Dữ liệu bất hợp lệ luôn luôn thay đổi và cùng với việc phát triển các kiểu tấn công mới. Giải pháp 3: tốt hơn hai giải pháp kia, nhưng sẽ gặp một số hạn chế khi cài đặt. Cách bảo mật tốt nhất là kết hợp cả giải pháp 2 và 3. Một ví dụ cho sự cần thiết kết hợp 2-3 là dấu nối giữa họ và tên “Quentin Bassington-Bassington” phải cho phép dấu gạch ngang trong bộ định nghĩa dữ liệu hợp lệ, nhưng chuỗi kí tự “--“ là một chuỗi kí tự đặc biệt trong SQL server. Ví dụ nếu có bộ lọc để : • Lọc bỏ những dữ liệu bất hợp lệ như ‘--‘,’select’ và ‘union’ • Một hàm kiểm soát để loại bỏ dấu nháy đơn thì có thể đối phó như sau. uni’on se’lect @@version-‘III.9 PHP File Include - Phát hiện, khai thác và khắc phục

Lỗi này cho phép hacker có thể inject sever side code vào trang web của nạn nhân và thực thi nó. Thường là 1 web shell cho phép chạy giao diện dòng lệnh như cmd hoặc sh shell trên linux Như ta đã biết hàm include() hay require() trong PHP giúp cho lập trình viên không phải lập đi lập lại một đoạn mã thường sử dụng nào đó và làm cho chương trình trở nên gọn hơn. Nhưng song song với mặt tích cực là mặt tiêu cực, tuy hai hàm này rất tiện lợi nhưng nếu ta dùng nó không cẩn thận thì sẽ rất nguy hiểm. Lỗi kiểu này upshell là ngon nhất roài III.10 Tấn công từ chối dịch vụ(DOS) phát cuối cho nó đủ bộ Tấn công bằng từ chối dịch vụ DoS (Denial of Service) có thể mô tả như hành động ngăn cản những người dùng hợp pháp khả năng truy cập và sử dụng vào một dịch vụ nào đó. Nó bao gồm làm tràn ngập mạng, mất kết nối với dịch vụ… mà mục đích cuối cùng là máy chủ (Server) không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các máy trạm (Client).

DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ, thậm chí cả một hệ thống mạng rất lớn. Về bản chất thực sự của DoS, kẻ tấn công sẽ chiếm dụng một lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu cầu dịch vụ từ các client khác.

Related Documents