1. Trang chủ
  2. » Tất cả

Skipfish – web application security scanner

66 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Skipfish – Web Application Security Scanner
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành An Toàn Mạng
Thể loại Bài báo cáo kết thúc học phần
Thành phố Hà Nội
Định dạng
Số trang 66
Dung lượng 10,1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Skipfish là một trong các công cụ hữu ích và mạnh mẽ phục vụ cho công việc rà quétcác thông tin về các lỗ hổng của một trang web, từ đó giúp chúng ta có thể khắc phụcđược các điểm yếu để

Trang 1

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI BÁO CÁO KẾT THÚC HỌC PHẦN

HỌC PHẦN: AN TOÀN MẠNG SKIPFISH – WEB APPLICATION SECURITY SCANNER

Trang 2

MỤC LỤC

1.3 Các vấn đề thường gặp và cách khắc phục với công cụ Skipfish 36 CHƯƠNG 2: THỬ NGHIỆM KỊCH BẢN TẤN CÔNG TRÊN CÔNG CỤ SKIPFISH42 2.1 Các kỹ thuật tấn công và công cụ tích hợp sử dụng trong bài LAB 42

Trang 3

DANH SÁCH THUẬT NGỮ VÀ VIẾT TẮT

STT Từ viết tắt Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt / Giải thích

2 CSS Cascading Style Sheets

Được dùng để miêu tả cách trình bàycác tài liệu viết bằng ngôn ngữ HTML

và XHTML Ngoài ra ngôn ngữ địnhkiểu theo tầng cũng có thể dùng choXML, SVG, XUL

3 DNS Domain Name System

Mang ý nghĩa đầy đủ là hệ thống phângiải tên miền DNS được phát minh vàonăm 1984 cho Internet, chỉ một hệthống cho phép thiết lập tương ứng giữađịa chỉ IP và tên miền

4 EXIF

Exchangeable ImageFile Format

Định dạng tệp hình ảnh có thể trao đổi

là một tiêu chuẩn chỉ định các địnhdạng cho hình ảnh, âm thanh và thẻ phụtrợ được sử dụng bởi máy ảnh kỹ thuật

số, máy quét và các hệ thống khác xử lýcác tệp hình ảnh và âm thanh được ghilại bởi máy ảnh kỹ thuật số

5 GNU General Public

License

Là một hệ điều hành và bộ sưu tập phầnmềm máy tính phong phú GNU baogồm toàn bộ phần mềm tự do, hầu hếtđược cấp phép theo General PublicLicense của GNU Project

Trang 4

6 GUI Graphical User Interface

Là một thuật ngữ trong ngành côngnghiệp máy tính Đó là một cách giaotiếp với máy tính hay các thiết bị điện

8 I/O Input/Output

Là sự giao tiếp giữa một hệ thống xử lýthông tin hay máy tính với thế giới bênngoài, có thể là con người hoặc một hệthống xử lý thông tin khác

9 IP Internet Protocol Địa chỉ IP / là địa chỉ của các máy tính

dùng để phân biệt và kết nối với nhau

10 IPC Inter Process

Communication

Trong khoa học máy tính, giao tiếp giữacác quá trình hoặc giao tiếp giữa cácquá trình (IPC) đề cập cụ thể đến các cơchế mà hệ điều hành cung cấp để chophép các quá trình quản lý dữ liệu đượcchia sẻ

11 IPS Intrusion Prevention

System

Là một hệ thống phát hiện xâm nhậpngoài khả năng theo dõi, giám sát thìcòn có chức năng ngăn chặn kịp thờicác hoạt động xâm nhập không mongmuốn đối với hệ thống máy tính

12 LAN Local Area Network

Mạng máy tính nội bộ, giao tiếp nàycho phép các máy tính kết nối với nhau

để cùng làm việc và chia sẻ dữ liệu

Trang 5

DANH MỤC HÌNH VẼ

Hình 1.1: Giới thiệu công cụ Skipfish 9 Hình 1.2: Báo cáo của Skipfish về việc quét các lỗ hổng bảo mật của một trang web 10 Hình 1.3: Bảng so sánh giữa 2 công cụ Skipfish và Acunetix 11 Hình 1.4: Bảng so sánh giữa 2 công cụ Skipfish và Nikto 11 Hình 1.5: Bảng so sánh đưa ra tính năng vượt trội của Skipfish so với Grabber 12 Hình 1.6: Các phiên bản khác nhau của Skipfish trên trang chủ 15 Hình 1.7: Cách khởi động công cụ Skipfish bằng câu lệnh trên Kali Linux 18 Hình 1.8: Cách khởi động công cụ Skipfish đã được tích hợp sẵn trên Kali Linux 19 Hình 1.9: Các tính năng và tham số trong bộ công cụ Skipfish phần 1 20 Hình 1.10: Các tính năng và tham số trong bộ công cụ Skipfish phần 2 21 Hình 1.11: Các tham số trong tùy chọn xác thực và truy cập 21 Hình 1.13: Các tham số cho tính năng tùy chọn phạm vi thu thập thông tin 23 Hình 1.14: Các tham số cho tính năng báo cáo 25 Hình 1.15: Các tham số trong tùy chọn quản lý từ điển 26 Hình 1.16: Các tham số trong tính năng cài đặt hiệu suất 27 Hình 1.17: Các tham số trong tính năng một số các tùy chọn cài đặt khác 28 Hình 1.18: Trang báo cáo được trình bày chi tiết và có thể mở bằng trình duyệt 30 Hình 1.19: Sử dụng giao diện dòng lệnh Skipfish để thực hiện rà quét 33 Hình 1.20: Giao diện hiển thị các trường thông tin trong quá trình rà quét 34 Hình 1.21: Một giao diện khác có thể xem chi tiết các thư mục được quét 34 Hình 1.22: Skipfish báo cáo quá trình rà quét đã thực hiện xong 35 Hình 1.23: Thư mục báo cáo được trích xuất sau quá trình rà quét 35 Hình 1.24: Báo cáo chi tiết các thông tin thu thập và cảnh báo sau quá trình rà quét 36 Hình 1.25: Thông thường các vấn đề luôn được cập nhật trên trang chủ của Skipfish 41 Hình 2.1: Khởi động công cụ Skipfish trong Kali Linux 45 Hình 2.2: Truyền lệnh vào công cụ Skipfish để tiến hành rà quét 45 Hình 2.3: Hiển thị các tính năng quét của Skipfish 46 Hình 2.4: Một vài thông số về quá trình rà quét của Skipfish 46 Hình 2.5: Chi tiết các yêu cầu được rà quét để thu thập thông tin trang web 47 Hình 2.6: Thư mục chưa báo cáo đầu ra sau khi quá trình quét hoàn tất 48 Hình 2.7: Báo cáo kết quả cho trang web testphp.vulnweb.com trên trình duyệt 48 Hình 2.8: Giao diện đăng nhập của trang web testphp.vulnweb.com 49

Trang 6

Hình 2.9: Sử dụng truy vấn order by với N=3 50 Hình 2.10: Sử dụng truy vấn order by với N=4 51 Hình 2.11: Sử dụng truy vấn union select để trích xuất các bảng bị lỗi hiển thị 52 Hình 2.12: Sử dụng truy vấn để kiểm tra phiên bản cơ sở dữ liệu 53 Hình 2.13: Sử dụng truy vấn để trích xuất tên cơ sở dữ liệu 54 Hình 2.14: Sử dụng truy vấn để trích xuất các bảng có trong cơ sở dữ liệu 55 Hình 2.15: Sử dụng truy vấn trường thông tin trong bảng users 56 Hình 2.16: Truy xuất được thành công username và password 57 Hình 2.17: Sử dụng username và password vừa thu thập được để đăng nhập 57 Hình 2.18: Giao diện đăng nhập thành công vào hệ thống 58 Hình 2.19: Mở công cụ Skipfish trên Kali Linux 58 Hình 2.20: Đưa vào câu lệnh để rà quét cho trang web nhuaphucthich.com.vn 59 Hình 2.21: Các tính năng rà quét của công cụ Skipfish 59 Hình 2.22: Một số thông tin hiển thị trong quá trình rà quét bằng Skipfish 60 Hình 2.23: Quá trình thu thập thông tin bằng Skipfish 60 Hình 2.24: Thư mục đầu ra sau quá trình rà quét trang web nhuaphucthinh.com.vn 61 Hình 2.25: Bản báo cáo các lỗ hổng và dữ liệu cho trang web nhuaphucthich.com.vn 61 Hình 2.26: Sử dụng SQL Map để trích xuất cơ sở dữ liệu 62 Hình 2.27: Các cơ sở dữ liệu của trang web đã được tìm thấy 62 Hình 2.28: Trích xuất dữ liệu bảng của cơ sở dữ liệu nhuaphucth_inh 63 Hình 2.29: Các bảng tồn tại trong cơ sở dữ liệu nhuaphucth_inh 63 Hình 2.30: Trích xuất thông tin các trường trong bảng administrator 63 Hình 2.31: Chi tiết các trường thông tin trong bảng administrator 64 Hình 2.32: Dùng lệnh –dump để trích xuất tất cả dữ liệu trong bảng administrator 64 Hình 2.33: Lấy được AdmPass và AdmUsername của người quản trị 64

Trang 7

LỜI MỞ ĐẦU

Hiện nay trên thế giới nói chung và ở Việt Nam ta nói riêng đang quan tâm đến một sốvấn đề hết sức nổi cộm và nhức nhối đó là vấn đề rò rỉ thông tin, một loại tội phạmmới đang xuất hiện trong thời đại công nghệ đó là tội phạm công nghệ cao, các loại tintặc chuyên đánh cắp thông tin (hacker) Những đối tượng này thường xuyên khai thác,xâm nhập vào các lỗ hỏng của các hệ thống thông tin, hệ thống mạng nhằm vào mụcđích phá hoại, khai thác dữ liệu quan trọng của hệ thống Vấn nạn rò rỉ thông tin

không chỉ ảnh hưởng lớn đến sự phát triển về mặt kinh tế của các quốc gia mà còn pháhoại diễn biến hòa bình và an ninh của các quốc gia Do đó việc đảm bảo an toànthông tin cho các hệ thống thông tin, các hệ thống mạng là điều quan trọng, cần thiết

và không thể thiếu trong thời đại tin học hóa như hiện nay

Việc đánh giá, kiểm thử, thử nghiệm các ứng dụng web trong quá trình xây dựng,hoặc ngay cả sau quá trình xây dựng là vô cùng cần thiết và hữu ích Công việc kiểmthử sẽ giúp cho ứng dụng web của chúng ta có thể chịu đựng được các cuộc tấn côngcủa các kẻ tấn công Có rất nhiều các công cụ hữu ích có thể giúp chúng ta kiểm thửứng dụng web của mình

Skipfish là một trong các công cụ hữu ích và mạnh mẽ phục vụ cho công việc rà quétcác thông tin về các lỗ hổng của một trang web, từ đó giúp chúng ta có thể khắc phụcđược các điểm yếu để làm cho hệ thống trở nên an toàn hơn Ngoài ra nó cũng giúpnhững người sử dụng thống kê lại các thư mục của một trang web để dễ dàng hơntrong việc kiểm soát truy nhập

Bài báo cáo nhằm mục đích giới thiệu công cụ Skipfish, cách cài đặt, sử dụng và thựchiện một số kịch bản thử nghiệm dựa trên việc tích hợp công cụ này với một số cáccông cụ hữu dụng khác Nội dung này chỉ sử dụng cho mục đích học tập, nghiên cứu,không sử dụng với mục đích xấu ảnh hướng đến bất kỳ tổ chức, cá nhân nào

Em xin chân thành cảm ơn đến giảng viên TS Đặng Minh Tuấn đã giúp em rất nhiềutrong môn học An toàn mạng vì vậy em đã có đủ kiến thức và kỹ năng để hoàn thiệnđược bài báo cáo một cách hoàn chỉnh

Trang 8

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG CỤ SKIPFISH

1.1Tổng quan về công cụ Skipfish

Skipfish là một trình quét ứng dụng web mã nguồn mở mới được viết và duy trìbởi Michal Zalewski, Niels Heinen và Sebastian Roschke Công cụ này sử dụng ngônngữ lập trình C, được phát triển bởi Google và đã có bản quyền được bảo lưu vào năm

2009 – 2012 Khi Skipfish chính thức được phát hành thì nó đã được cấp phép mộtcách đầy đủ theo các điều khoản và điều kiện của Apache phiên bản 2.0

Hình 1.1: Giới thiệu công cụ Skipfish

Mục tiêu của Skipfish tương tự như mục tiêu của các máy quét lỗ hổng bảo mậtweb trước đây như Nmap và Nessus, cho phép các nhà phát triển web quét ứng dụnghoặc trang web của họ để tìm các vấn đề bảo mật tiềm ẩn Skipfish có thể được sửdụng để xác định xem mã có dễ bị tấn công bởi các cuộc tấn công phổ biến như chèncác đoạn mã cho trang web XSS, SQL và tấn công chèn XML hay không vì nó thựchiện quét các lỗ hổng với các mức độ rủi ro cao, lỗ hổng rủi ro trung bình và quét sự

cố thấp Sau khi Skipfish hoàn thành quá trình quét của nó, nó chuẩn bị một bản đồtrang web tương tác cho trang web được nhắm mục tiêu bằng cách thực hiện thu thập

dữ liệu đệ quy và các thăm dò dựa trên từ điển Skipfish được cho là có thể dễ dàng xử

lý hơn 2.000 yêu cầu HTTP mỗi giây nếu máy chủ đang được kiểm tra có thể xử lýtải

Các vấn đề bảo mật mà Skipfish tập trung vào là các vấn đề của trang web vàứng dụng web trên internet và các giao diện không an toàn của chúng Như đã nóitrước đó Skipfish cho phép nhà phát triển quét ứng dụng cho các lỗ hổng Một lỗ hổngbảo mật là bất kỳ tình huống hoặc điều kiện nào gia tăng mối đe dọa do đó làm tăngrủi ro, xác suất điều gì đó có thể xảy ra Điều quan trọng của công cụ này là các nhà

Trang 9

phát triển không phải đợi và xem liệu ứng dụng của họ có dễ bị tấn công không ngaylập tức “Một khi chúng tôi biết điểm yếu của mình, họ sẽ không làm chúng tôi nữagây hại” - một trích dẫn của Georg Christoph Lichtenberg Điều đó có thể khẳng địnhrằng Skipfish có thể cho phép chúng ta tìm ra điểm yếu trong ứng dụng của mình vàthực hiện các biện pháp bảo vệ cần thiết để giảm thiểu nguy cơ các rủi ro có thể gặpphải một cách sớm và hiệu quả nhất.

Hình 1.2: Báo cáo của Skipfish về việc quét các lỗ hổng bảo mật của một trang web

Một số công cụ mã nguồn mở và thương mại nổi tiếng hiện nay có chức năngtương tự Skipfish có sẵn ví dụ: Acunetix, Nikto, Websecurify, Netsparker, w3af,

Arachni, … rất quen thuộc đối với những người làm trong ngành an ninh an toànthông tin và được sử dụng phổ biến vì tính dễ sử dụng của chúng với các giao diệnGUI và còn cả việc các công cụ này được cập nhật thường xuyên tính tới thời điểmhiện tại Chính vì thế khó có thể so sánh với các công cụ này vì đơn giản Skipfish

Trang 10

không hướng tới mục đích thương mại, mà chỉ đơn giản là nhắm về vấn đề nghiên cứunhiều hơn và phiên bản sửa đổi gần đây nhất cũng đã trôi qua gần một thập kỷ Chúng

ta biết rằng trong thời đại công nghệ hiện nay, mỗi ngày trôi qua đã có những sự thayđổi nhất định nên các công cụ ngày nay có khả năng rà quét cao hơn rất nhiều

Hình 1.3: Bảng so sánh giữa 2 công cụ Skipfish và Acunetix

Hình 1.4: Bảng so sánh giữa 2 công cụ Skipfish và Nikto

Từ các bảng so sánh Skipfish với các công cụ rà quét lỗ hổng hiện nay thì ta sẽthấy rằng khả năng giám sát, tìm kiếm các vấn đề về bảo mật ứng dụng web, các công

cụ mới đều có sự nổi bật hơn

Tuy nhiên nếu để so sánh Skipfish với các công cụ rà quét khác trong cùng thờiđiểm đó như Grabber, Vega, … thì kết quả mà công cụ này đem lại là cực kỳ ấn tượng

và đương nhiên là nằm trong top đầu các công cụ rà quét đáng để sử dụng

Trang 11

Hình 1.5: Bảng so sánh đưa ra tính năng vượt trội của Skipfish so với Grabber

Mỗi công cụ khác nhau lại có cho mình những ưu điểm và các đặc trưng khácnhau mà có thể các công cụ khác không làm được hoặc không được tích hợp để suycho cùng cũng cố gắng hướng đến một mục đích chung là giải quyết một số vấn đềphổ biến liên quan đến an toàn bảo mật cho ứng dụng web

Một số các tính năng cũng như ưu điểm nổi bật của công cụ Skipfish: + Hiệu suất cao: Hơn 500 yêu cầu mỗi giây đối với các mục tiêu Internet đáp

ứng, hơn 2000 yêu cầu mỗi giây trên mạng LAN/MAN và hơn 7000 yêu cầu đối vớicác phiên bản cục bộ đã được quan sát, với dấu chân CPU, mạng và bộ nhớ rất khiêmtốn Điều này có thể xuất phát từ:

• Ghép kênh đơn luồng, I/O mạng hoàn toàn không đồng bộ và môhình xử lý dữ liệu giúp loại bỏ sự thiếu hiệu quả của quản lý bộ nhớ,lập lịch và IPC có trong một số máy khách đa luồng

• Các tính năng HTTP/1.1 nâng cao như yêu cầu phạm vi, nén nộidung và duy trì kết nối, cũng như giới hạn kích thước phản hồi bắtbuộc, để kiểm soát chi phí cấp mạng

• Bộ nhớ đệm phản hồi thông minh và phỏng đoán hành vi máy chủnâng cao được sử dụng để giảm thiểu lưu lượng truy cập không cầnthiết

• Triển khai C thuần túy theo định hướng hiệu suất, bao gồm một ngănxếp HTTP tùy chỉnh

Trang 12

+ Dễ sử dụng: Skipfish hỗ trợ trên nhiều khuôn khổ web khác nhau, thậm chí

cả các trang web công nghệ hỗn hợp, với khả năng nghiên cứu tự động, tạo danh sách

từ nhanh chóng và tự động hoàn thành biểu mẫu Công cụ này có tính thích nghi cao

và đáng tin cậy tích hợp rất nhiều các tính năng khác nhau:

• Nhận dạng theo kinh nghiệm của các lược đồ xử lý tham số dựa trênđường dẫn và truy vấn không rõ ràng

• Xử lý khéo léo các trang web đa khuôn khổ trong đó các đường dẫnnhất định tuân theo ngữ nghĩa hoàn toàn khác hoặc tuân theo các quytắc lọc khác nhau

• Xây dựng danh sách từ tự động dựa trên phân tích nội dung trangweb

• Tính năng quét xác suất để cho phép đánh giá định kỳ, có giới hạnthời gian đối với các trang web phức tạp tùy ý

+ Việc kiểm tra bảo mật được thiết kế tốt: Skipfish được kiểm định đạt chất

lượng tương đối cao, ít dương tính giả, kiểm tra bảo mật khác biệt, có khả năng pháthiện một loạt các lỗ hổng tinh vi, bao gồm cả vectơ tiêm mù Công cụ này nhằm cungcấp kết quả các chính xác và có ý nghĩa:

• Từ điển thủ công cung cấp phạm vi bảo hiểm tuyệt vời và cho phép

$keyword, $extension kiểm tra kỹ lưỡng trong một khung thời gianhợp lý

• Quá trình thăm dò các khác biệt sử dụng ba bước triển khai được ưutiên hơn để kiểm tra các chữ ký và phát hiện các lỗ hổng

• Logic kiểu Ratproxy được sử dụng để phát hiện các vấn đề bảo mậttinh vi: giả mạo yêu cầu trên nhiều trang web, bao gồm tập lệnh trênnhiều trang, nội dung hỗn hợp, vấn đề MIME - và bộ mã ký tự khôngkhớp, chỉ thị bộ nhớ đệm không chính xác, v.v

• Kiểm tra bảo mật theo gói được thiết kế để xử lý các tình huốngphức tạp: XSS được lưu trữ (đường dẫn, tham số, tiêu đề), chèn SQLhoặc XML

Trang 13

• Báo cáo sau quá trình xử lý làm giảm đáng kể nhiễu do bất kỳ lỗi xácthực sai nào còn lại hoặc các quảng cáo với nội dung không phù hợpcủa máy chủ bằng cách xác định các mẫu lặp lại.

Với những tính năng nổi trội như vậy, công cụ Skipfish có thể giúp cho nhữngngười làm an toàn thông tin có thể phát hiện ra các điểm yếu, lỗ hổng một cách dễdàng hơn Nhưng cũng không vì thế mà nó có thể giải quyết được tất cả các vấn đềkhác nhau Nó cũng tồn tại một số các thiếu xót cũng như tích hợp thiếu một số chứcnăng ưu việt khác mà các công cụ khác sở hữu Chính vì vậy tùy thuộc vào mục đích

và quy mô của mỗi tổ chức, chúng ta có thể lựa chọn một công cụ với các tính năngphù hợp để có thể tiết kiệm thời gian, chi phí, công sức trong khâu rà quét Nhưng nhớrẳng, nếu chúng ta cần sử dụng một công cụ với nhiều tính năng và rà quét một cách tỉ

mỉ và chính xác, thì hãy nhớ rằng Skipfish luôn là một lựa chọn đáng tin cậy

1.2 Hướng dẫn cài đặt và sử dụng công cụ Skipfish

1.2.1 Hướng dẫn cài đặt công cụ Skipfish

Skipfish là một công cụ đã phổ biến từ rất lâu và rất dễ sử dụng Nó được pháthành phiên bản đầu tiên vào ngày 19 tháng 3 năm 2010 với tên là Skipfish, version1.00 beta Trải qua các giai đoạn xây dựng và phát triển thì đến nay nó đã cho ra mắtphiên bản mới nhất có tên là Skipfish, version 2.10 beta vào tháng 4 năm 2012 Công

cụ này được viết bằng mở nguồn mở với ngôn ngữ lập trình C nên có thể được tíchhợp và cài đặt rất dễ dàng trên các nền tảng hệ điều hành khác nhau như OSX, Linuxhay Window

Trang 14

Hình 1.6: Các phiên bản khác nhau của Skipfish trên trang chủ

Đối với các nền tảng hệ điều hành khác nhau thì điều đầu tiên khi muốn cài đặtcông cụ Skipfish là chúng ta sẽ phải truy cập vào trang chủ của Skipfish và chọn vào

mục Downloads (https://code.google.com/archive/p/skipfish/downloads) để tải về

phiên bản mong muốn cho mình Có rất nhiều các phiên bản khác nhau thích hợp chotừng hệ điều hành được chú thích màu xanh lá cây tương đối rõ ràng để người dùng cóthể lựa chọn

Sau khi đã tải xuống về máy tính của mình, nó sẽ được lưu dưới dạng nén Vàvới mỗi hệ điều hành khác nhau sẽ thao tác hơi khác nhau một chút để hoàn tất quátrình giải nén và sử dụng công cụ Dưới đây là hướng dẫn tiếp quá trình cài đặt công

cụ cho hai hệ điều hành phổ biến là Window và Linux

Trang 15

* Đối với hệ điều hành Windows

Vì công cụ không phải là một ứng dụng Windows "thực", nên khi giải nén bảnSkipfish đã tải xuống trước đó, thì chúng ta sẽ không thể nhìn thấy có bất kỳ cửa sổtệp nào có thể thực thi (chẳng hạn như tệp exe hoặc msi) như các ứng dụng thôngthường cả Như vậy để chạy được công cụ Skipfish này thì chúng ta sẽ phải cần sửdụng công cụ Cygwin (http://www.cygwin.com/) và sau đó thao tác trên đó và sửdụng tương tự như một ứng dụng Linux

Bước 1: Tải xuống và tiến hành cài đặt phần mềm Cygwin trên trang chủ

http://www.cygwin.com/ với các phiên bản tương thích cho máy tính Windows 32 bithoặc 64 bit Trên đó có hướng dẫn cài đặt rất chi tiết về phần mềm này hoặc có thểtruy cập vào đường dẫn sau để xem chi tiết cài đặt trên hệ điều hành Windows 10(https://github.com/lakelse/videos/tree/master/01-install-cygwin-on-windowsyoutube)

Bước 2: Thực hiện tiêu chuẩn các bước của Trình hướng dẫn cài đặt công cụ

Cygwin cho đến khi màn hình 'Thiết lập Cygwin - Packages' Chọn các gói bổ sungsau và cài đặt sau phiên bản 'devel' nếu có:

• All -> Base -> zlib

• All -> Devel -> openssl-devel

• All -> Devel -> libiconv

• All -> Devel -> make

• All -> Devel -> gcc

• All -> Devel -> pcre

• All -> Libs -> libiconv2

• All -> Libs -> libidn

Bước 3: Bật Terminal của Cygwin sẽ xuất hiện giao diện khá giống với Linux

và sẽ thực hiện việc cài đặt Skipfish sử dụng các câu lệnh sau để tiến hành giải nén tệp

tin Skipfish đã tải về từ ban đầu và tiến hành cài đặt từ mã nguồn bằng lệnh make:

• $ tar -xf /path to/ skipfish-2.10b.tgz 16

• make

• make install

Trang 16

Như vậy, quá trình cài đặt đã hoàn tất và ta có thể sử dụng công cụ Skipfishtrên Cygwin tại hệ điều hành Windows bằng giao diện dòng lệnh.

* Đối với hệ điều hành Linux

Hệ điều hành nhân Linux được phân ra thành nhiều phiên bản hệ điều hànhkhác nhau như Ubuntu, Kali Linux, Fedora RedHat, CenOS, Linux Mint, … Dưới đây

là phần hướng dẫn cài đặt công cụ Skipfish cho hai nền tảng phổ biến nhất là Ubuntu

và Kali Linux

+ Hệ điều hành Ubuntu: Ubuntu là một hệ điều hành nhân Linux có lẽ là phổ

biến nhất với đa số người dùng hiện nay vì giao diện đẹp và khả năng tương tác tuyệtvời Đương nhiên là công cụ Skipfish thì không được tích hợp sẵn ở trong này rồi màchúng ta phải thực hiện cài đặt nó Quá trình cài đặt cũng cực kỳ đơn giản với cácbước như sau:

Bước 1: Nếu các bạn chưa tải tập tin nén trên trang chủ của Skipfish như ở

phần đầu đã nói thì không sao cả, hãy bật Terminal của Ubuntu lên và thao tác lệnhsau đây để tiến hành tải về tập tin nén của công cụ này:

wget https://skipfish.googlecode.com/files/skipfish-2.10b.tgz

Bước 2: Sau khi tải về được tập tin nén của phiên bản Skipfish, chúng ta sẽ tiến

hành giải nén nó bằng lệnh: tar zxvf skipfish-2.10b.tgz.

Bước 3: Tiếp tục tiến hành tải về thư viện libidn-dev phiên bản 11 Đây là một

yêu cầu bắt buộc để quá trình cài đặt được thành công vì nó có thể mã hóa và giải mã

các tên miền được quốc tế hóa, sử dụng câu lệnh sau: sudo apt-get install

Bước 5: Quá trình cài đặt hoàn tất, bây giờ chúng ta có thể sử dụng công cụ

Skipfish bằng các thao tác trên dòng lệnh ví dụ như:

Trang 17

./skipfish -o output-folderhttp://example.com

+ Hệ điều hành Kali Linux: với các phiên bản mới nhất hiện nay thì công cụ

Skipfish đã được tích hợp sẵn ở trong đó nên chúng ta không cần phải mất thời giancài đặt nữa mà có thể sử dụng trực tiếp công cụ bằng giao diện dòng lệnh trên

Terminal Có hai cách để mở công cụ Skipfish trên Kali Linux như sau:

Cách 1: Bật cửa sổ Terminal lên và gõ vào đó câu lệnh skipfish -h

Hình 1.7: Cách khởi động công cụ Skipfish bằng câu lệnh trên Kali Linux

Cách 2: Nếu không muốn sử dụng câu lệnh trên Terminal, chúng ta có thể bật

công cụ Skipfish như sau: Chọn Applications -> 03 - Web Application Analysis-> skipfish Cụ thể như hình dưới đây:

Trang 18

Hình 1.8: Cách khởi động công cụ Skipfish đã được tích hợp sẵn trên Kali Linux

Ở phía trên chính là hướng dẫn cài đặt chi tiết công cụ Skipfish trên các nền tảng hệđiều hành khác nhau Tùy thuộc vào mỗi người dùng và mục đích sử dụng mà họ cóthể chọn cho mình việc cài đặt và thực hiện trên môi trường mà họ mong muốn vàthuận tiện nhất Còn trong bài báo cáo này thì sẽ chủ yếu sử dụng công cụ Skipfishchạy trên hệ điều hành Kali Linux vì nó đã được tích hợp sẵn với phiên bản mới nhất

Và thuận tiện cho quá trình kết hợp các công cụ và các phương thức tấn công khácnhau để thông qua việc rà quét các lỗ hổng bảo mật từ công cụ Skipfish, có thể thựchành vá các lỗ hổng đó một cách nhanh chóng

1.2.2 Hướng dẫn sử dụng công cụ Skipfish

Để sử dụng Skipfish một cách thành thạo và hiệu quả nhất thì đầu tiên chúng ta sẽxem xét các tính năng, cũng như các tham số của công cụ này bằng cách khởi độngTerminal của Kali Linux và truyền vào câu lệnh skipfish -h Lúc này một bảng danhsách các tính năng và tham số truyền vào dòng lệnh của công cụ sẽ hiện ra một cáchrất rõ ràng và chi tiết Sau đây, chúng ta sẽ đi tìm hiểu những điều này để việc sử dụngcông cụ trở nên linh hoạt và hiệu quả trong bất cứ tình huống cụ thể nào

Trang 19

Hình 1.9: Các tính năng và tham số trong bộ công cụ Skipfish phần 1

Trang 20

Hình 1.10: Các tính năng và tham số trong bộ công cụ Skipfish phần 2

+ Authentication and access options: Đầu tiên ta sẽ tìm hiểu về các tùy chọn trong

xác thực và truy cập Trong tùy chọn này có các tham số được truyền vào dòng lệnhvới các ý nghĩa như sau:

Hình 1.11: Các tham số trong tùy chọn xác thực và truy cập

• -A user:pass - đối với các trang web yêu cầu xác thực HTTP cơ bản,

Trang 21

có thể sử dụng cờ này để chỉ định thông tin đăng nhập của mình.

• -F host=IP – khi sử dụng cờ này, ta có thể đặt giá trị tiêu đề 'host' để

xác định ánh xạ tùy chỉnh giữa máy chủ và IP (bỏ qua trình phângiải)

Tính năng này đặc biệt hữu ích cho các dịch vụ chưa được khởi chạyhoặc các dịch vụ kế thừa không có các mục nhập DNS cần thiết

• -C name=val - cờ này có thể được sử dụng để thêm cookie vào các

yêu cầu HTTP Điều này đặc biệt hữu ích để thực hiện quét xác thựcbằng cách cung cấp cookie phiên Khi làm như vậy, hãy nhớ rằng cácURL như /logout (đăng xuất) có thể phá hủy phiên làm việc Ta cóthể chống lại điều này theo hai cách: bằng cách sử dụng tùy chọn -N,tùy chọn này khiến máy quét từ chối các nỗ lực thiết lập hoặc xóacookie hoặc bằng cách sử dụng tùy chọn -X để loại trừ URL đăngxuất

• -H name=val - khi nói đến việc tùy chỉnh các yêu cầu HTTP, ta cũng

có thể sử dụng tùy chọn -H để chèn bất kỳ tiêu đề bổ sung, khôngchuẩn nào Cờ này cũng cho phép ghi đè các tiêu đề mặc định

• -b (i|f|p) - cờ này cho phép tác nhân người dùng được chỉ định trong

đó 'i' là viết tắt của Internet Explorer, 'f' cho Firefox và 'p' choiPhone Sử dụng cờ này được khuyến nghị trong trường hợp trangweb đích hiển thị các hành vi khác nhau dựa trên tác nhân ngườidùng (ví dụ: một số trang web sử dụng các mẫu khác nhau cho điệnthoại di động và máy khách máy tính để bàn)

Với form authentication (biểu mẫu xác thực) sẽ gửi thông tin đăng nhập bằng biểumẫu đăng nhập nhất định Máy chủ dự kiến sẽ trả lời bằng các cookie đã xác thực sẽkhông được sử dụng trong phần còn lại của quá trình quét Một tính năng quan trọngcủa biểu mẫu xác thực là Skipfish sẽ xác thực lại trong trường hợp máy chủ kết thúcphiên làm việc

+ Crawl scope options: tiếp theo sẽ là tùy chọn phạm vi thu thập thông tin Đây là

một tính năng cực kỳ quan trọng để giúp việc rà quét trở nên nhanh hơn, cụ thể hơn

Trang 22

tùy thuộc cho từng đối tượng khác nhau.

Hình 1.13: Các tham số cho tính năng tùy chọn phạm vi thu thập thông tin

• - d max_depth - giới hạn độ sâu thu thập thông tin cho một số thư

mục con được chỉ định

• -c max_child - giới hạn số lượng con trên mỗi thư mục.

• -x max_desc - giới hạn tổng số các thư mục con mỗi nhánh cây thư

Nó cực kỳ hữu ích khi bạn đang thiết lập các đánh giá có giới hạnthời gian, nhưng định kỳ về cơ sở hạ tầng của bạn

• -q hex - cờ này đặt hạt giống ngẫu nhiên ban đầu cho trình thu thập

thông tin thành một giá trị được chỉ định Điều này có thể được sửdụng để tái tạo chính xác một lần quét trước đó để so sánh kết quả.Tính ngẫu nhiên chủ yếu dựa vào chế độ -p, nhưng cũng ảnh hưởngđến một vài quyết định quản lý quét khác

• -I string - với cờ này, bạn có thể yêu cầu Skipfish chỉ thu thập dữ

Trang 23

liệu và kiểm tra các URL khớp với một chuỗi nhất định Điều này cóthể giúp thu hẹp phạm vi quét bằng cách chỉ đưa vào danh sách trắngcác phần nhất định của trang web (ví dụ: -I /shop).

• -X string - tùy chọn -X có thể được sử dụng để loại trừ các tệp/thư

mục khỏi quá trình quét Điều này rất hữu ích để tránh kết thúc phiên(tức là bằng cách loại trừ việc đăng xuất) hoặc chỉ để tăng tốc quátrình quét của bạn bằng cách loại trừ các thư mục nội dung tĩnh như/icons/, /doc/, /manuals/ và các vị trí thông thường, tiêu chuẩn khácdọc theo những dòng này

• -K string - cờ này cho phép bạn chỉ định tên tham số không bị mờ

(hữu ích cho các ứng dụng đặt ID phiên trong URL, để giảm thiểunhiễu)

• -D domain - cho phép bạn chỉ định các máy chủ hoặc miền bổ sung

nằm trong phạm vi thử nghiệm Theo mặc định, tất cả các máy chủxuất hiện trong URL dòng lệnh đều được thêm vào danh sách –nhưng bạn có thể sử dụng -D để mở rộng các quy tắc này Kết quảcủa việc này là trình thu thập thông tin sẽ đi theo các liên kết và kiểmtra các liên kết trỏ đến các máy chủ bổ sung này

• -B domain - trong một số trường hợp, bạn không muốn thực sự thu

thập dữ liệu tên miền của bên thứ ba, nhưng bạn tin tưởng chủ sởhữu của tên miền đó đủ để không phải lo lắng về việc bao gồm nộidung tên miền chéo từ vị trí đó Để loại bỏ cảnh báo, bạn có thể sửdụng tùy chọn -B

• -Z - không thu thập thông tin vào các trang/thư mục có lỗi 5XX.

• -O - sử dụng cờ này sẽ khiến biểu mẫu bị bỏ qua trong quá trình

quét

• -P - cờ này sẽ vô hiệu hóa tính năng trích xuất liên kết và vô hiệu

hóa hiệu quả việc thu thập thông tin Sử dụng -P hữu ích khi bạnmuốn kiểm tra một URL cụ thể hoặc khi bạn muốn cung cấp danhsách URL được thu thập bằng trình thu thập thông tin bên ngoài

Trang 24

+ Reporting options: các lựa chọn báo cáo có thể giúp chúng ta có thể trích xuất ra

được các thông tin trong khi quá trình rà quét được hoàn tất một cách hệ thống và hiệuquả nhất tránh được sự trùng lặp, và các thông tin không cần thiết Ngoài ra với cáctham số tùy chọn khác nhau sẽ có thể cho chúng ta thêm một số nội dung khác ví dụnhư đưa ra log cảnh báo hay trích xuất thông tin tất cả các URL, email từ quá trìnhquét,

Hình 1.14: Các tham số cho tính năng báo cáo

• -o dir - báo cáo sẽ được viết tới vị trí này Thư mục là một trong hai

tùy chọn bắt buộc và không được tồn tại khi bắt đầu quét

• -M - cho phép ghi nhật ký nội dung hỗn hợp Điều này rất được

khuyến khích khi quét các trang web chỉ có SSL để phát hiện việcđưa nội dung không an toàn vào thông qua các liên kết không đượcbảo vệ bằng SSL

• -E - điều này sẽ gây ra lỗi bộ nhớ đệm nội dung bổ sung được báo

cáo

• -U - ghi lại tất cả các URL và địa chỉ email bên ngoài đã được nhìn

thấy trong quá trình quét

• -Q - bật tính năng này để loại bỏ hoàn toàn các nút trùng lặp trong

báo cáo

• -u - điều này sẽ làm cho Skipfish ngăn chặn tất cả đầu ra bảng điều

khiển trong quá trình quét

• -v - sử dụng cờ này để bật báo cáo thời gian chạy, ví dụ, các vấn đề

Trang 25

được phát hiện Có thể được sử dụng nhiều lần để tăng tính chi tiết

và nên được sử dụng kết hợp với -u trừ khi bạn chạy Skipfish vớistderr được chuyển hướng đến một tệp

+ Dictionary management options: Các tùy chọn trong việc quản lý từ điển Việc

đảm bảo đã đọc các hướng dẫn được cung cấp trong cây thư mục của Skipfish (có thểtìm trong File System/usr/share/skipfish/dictionary để chọn tệp từ điển phù hợp vàđịnh cấu hình tệp đó một cách chính xác Bước này có ảnh hưởng sâu sắc đến chấtlượng kết quả quét sau này

Hình 1.15: Các tham số trong tùy chọn quản lý từ điển

• -W wordlist - chỉ định một tệp trống ban đầu cho bất kỳ từ khóa

trang web cụ thể mới học nào (sẽ hữu ích trong các đánh giá trongtương lai) Bạn có thể sử dụng -W hoặc -W /dev/null nếu bạn khôngmuốn lưu trữ các từ khóa tự động học ở bất kỳ đâu Thông thường,bạn sẽ muốn sử dụng một trong các từ điển đóng gói (tức là

complete.wl) và có thể thêm một từ điển tùy chỉnh

• -S wordlist - tải danh sách từ được chỉ định (chỉ đọc) để sử dụng

trong quá trình quét Cờ này là tùy chọn nhưng bạn nên sử dụng từđiển khi thực hiện quét hộp đen vì nó sẽ làm nổi bật các tệp và thưmục ẩn

• -L - trong quá trình quét, Skipfish sẽ cố gắng nghiên cứu và sử dụng

các từ khóa mới Cờ này vô hiệu hóa hành vi đó và sẽ được sử dụngkhi không mong muốn bất kỳ hình thức brute-force nào

Trang 26

• -Y - cờ này sẽ vô hiệu hóa tính năng đoán tiện ích mở rộng trong quá

trình brute-force thư mục

• -R age - việc sử dụng cờ này cho phép loại bỏ các từ cũ khỏi danh

sách từ Nó nhằm mục đích giúp giữ sạch từ điển khi được sử dụngtrong quá trình quét định kỳ

• -T name=val - Skipfish cũng có cơ chế tự động hoàn thành biểu mẫu

để tối đa hóa phạm vi quét Các giá trị phải không độc hại, vì chúngkhông dùng để thực hiện kiểm tra bảo mật - mà là để lấy logic xácthực đầu vào trong quá khứ Bạn có thể xác định các quy tắc bổ sunghoặc ghi đè các quy tắc hiện có, với tùy chọn -T (-T

form_field_name = field_value, ví dụ: -T login = test123 -Tpassword = test321 - mặc dù lưu ý rằng -C và -A là phương pháp ghinhật ký tốt hơn nhiều ở tính năng xác thực truy cập)

• -G max_guess - trong quá trình quét, một bộ đệm tạm thời của các

từ khóa mới được phát hiện được duy trì Kích thước của vùng đệmnày có thể được thay đổi với cờ này và làm như vậy sẽ ảnh hưởngđến quá trình brute-force

+ Performance settings: đây là tính năng cài đặt hiệu suất, việc cài đặt hiệu suất mặc

định sẽ ổn đối với hầu hết các máy chủ nhưng khi báo cáo cho biết có sự cố kết nối, cóthể điều chỉnh một số giá trị tại đây Đối với các máy chủ không ổn định, phạm vi quét

có thể được cải thiện khi sử dụng các giá trị thấp cho các cờ tỷ lệ và kết nối

Hình 1.16: Các tham số trong tính năng cài đặt hiệu suất

• -g max_conn - các kết nối TCP đồng thời tối đa (toàn cầu) có thể

được đặt bằng cờ này

Trang 27

• -m host_conn - các kết nối TCP đồng thời tối đa, trên mỗi IP mục

tiêu, có thể được đặt bằng cờ này

• -f max_fail - kiểm soát số lượng lỗi HTTP liên tiếp tối đa muốn thấy

trước khi hủy quá trình quét Đối với các bản quét lớn, ta có thểmuốn đặt giá trị cao hơn ở đây

• -t req_tmout - đặt tổng thời gian chờ yêu cầu, để tính đến các trang

web thực sự chậm hoặc thực sự nhanh

• -w rw_tmout - đặt thời gian chờ I/O của mạng.

• -i idle_tmout - chỉ định thời gian chờ cho các kết nối HTTP nhàn

rỗi

• -s s_limit - đặt độ dài tối đa của phản hồi để tìm nạp và phân tích cú

pháp (các phản hồi dài hơn sẽ bị cắt bớt)

• -e - điều này ngăn các tài liệu nhị phân được lưu trong bộ nhớ cho

mục đích báo cáo và giải phóng rất nhiều RAM

• flush-to-disk - điều này khiến dữ liệu yêu cầu/ phản hồi được

chuyển vào đĩa thay vì được lưu trong bộ nhớ Do đó, việc sử dụng

bộ nhớ để quét lớn sẽ thấp hơn đáng kể

+ Other Settings: Ngoài ra còn có một số các cài đặt tùy chọn khác ta có thể sử dụng

trong quá trình thiết lập tham số để rà quét

Hình 1.17: Các tham số trong tính năng một số các tùy chọn cài đặt khác

• -l max_req - cờ này có thể được sử dụng để giới hạn số lượng yêu

cầu mỗi giây Điều này rất hữu ích khi máy chủ mục tiêu không thểtheo kịp với số lượng yêu cầu cao do cá bỏ qua tạo ra Giữ số lượngyêu cầu mỗi giây ở mức thấp cũng có thể giúp ngăn một số cơ chếbảo vệ DoS dựa trên tốc độ bắt đầu và làm hỏng quá trình quét

Trang 28

• -k duration - cờ này có thể được sử dụng để đặt thời gian cho quá

trình rà quét Vì một số trang web rất nhiều dữ liệu chứa các filekhác nhau nên việc rà quét bằng Skipfish sẽ mất rất nhiều thời giannên việc thiết lập thời gian quét cụ thể theo giờ phút giây sẽ làm choquá trình rà quét được kết thúc theo đúng mong muốn của người sửdụng

• config file - thông thường ta có thể sử dụng các tham số, các câu

lệnh đơn để đưa vào làm đối số cho việc thực thi công cụ Skipfish.Tuy nhiên để cho câu lệnh được tinh chỉnh một cách ngắn gọn màvẫn chứa đầy đủ các nội dung tham số truyền vào thì cờ này sẽ giúpchúng ta làm điều đó Rất đơn giản ta chỉ việc gõ nội dung tham sốcần truyền vào một file ví dụ như test.config sau đó sử dụng Skipfish

và truyền vào –config test.config Như vậy câu lệnh sẽ rất ngắn gọn

và dễ kiểm soát hơn

Sau khi sử dụng các tham số truyền vào dòng lệnh để công cụ Skipfish thực thi thìviệc rà quét sẽ được diễn ra, tùy thuộc vào trang web khác nhau mà tốc độ quét sẽdiễn ra nhanh hay chậm một cách khác nhau Khi quá trình quét hoàn tất nó sẽ đượctrích xuất ra một ra một thư mục đã định sẵn, và trong thư mục sẽ có một file với đuôi

là html để hiện thị báo cáo kết quả rà quét trên trình duyệt Điều đáng quan tâm ở đây

là danh sách báo cáo sẽ gồm những nội dung liên quan để các thư mục ở các dang filekhác nhau được đưa vào từng nhánh để người dùng tiện theo dõi, thứ hai chính là nộidung về các lỗ hổng bảo mật của trang web Dưới đây là danh sách sơ bộ về các biệnpháp kiểm tra bảo mật do công cụ cung cấp được đánh màu phân loại theo các cấp độkhác nhau

Trang 29

Hình 1.18: Trang báo cáo được trình bày chi tiết và có thể mở bằng trình duyệt

+ Rủi ro rủi ro cao (có thể dẫn đến xâm nhập hệ thống):

• Chèn SQL/PHP phía máy chủ (bao gồm vectơ mù, tham số)

• Cú pháp giống SQL rõ ràng trong các tham số GET hoặc POST

• Chèn lệnh shell phía máy chủ (bao gồm các vectơ mù)

• Chèn XML/XPath phía máy chủ (bao gồm các vectơ mù)

• Định dạng lỗ hổng chuỗi

• Lỗ hổng tràn số nguyên

• Vị trí chấp nhận HTTP PUT

+ Rủi ro rủi ro trung bình (có khả năng dẫn đến xâm phạm dữ liệu):

• Các vectơ XSS được lưu trữ và phản ánh trong nội dung tài liệu(hiện tại hỗ trợ JS XSS tối thiểu)

• Các vectơ XSS được lưu trữ và phản ánh thông qua chuyển hướng

Trang 30

• Các vectơ XSS được lưu trữ và phản ánh thông qua phân tách tiêu đềHTTP

• Truyền tải thư mục/bao gồm tệp (bao gồm các vectơ bị ràng buộc)

• Các POI tệp được phân loại (nguồn phía máy chủ, cấu hình, v.v.)

• Tập lệnh do kẻ tấn công cung cấp và vectơ bao gồm CSS (được lưutrữ và phản ánh)

• Tập lệnh không đáng tin cậy bên ngoài và vectơ bao gồm CSS

• Sự cố nội dung hỗn hợp trên tài nguyên tập lệnh và CSS (tùy chọn)

• Các biểu mẫu mật khẩu gửi từ hoặc đến các trang không phải SSL(tùy chọn)

• Loại MIME không chính xác hoặc bị thiếu trên kết xuất

• Các loại MIME chung trên kết xuất

• Các bộ ký tự không chính xác hoặc bị thiếu trên kết xuất

• Xung đột thông tin MIME/bộ ký tự trên kết xuất

• Chỉ thị bộ nhớ đệm không hợp lệ về phản hồi cài đặt cookie

+ Các vấn đề rủi ro thấp (tác động hạn chế hoặc tính đặc hiệu thấp):

• Danh sách thư mục bỏ qua vectơ

• Chuyển hướng đến các URL do kẻ tấn công cung cấp (được lưu trữ

và phản ánh)

• Nội dung nhúng do kẻ tấn công cung cấp (được lưu trữ và phản ánh)

• Nội dung nhúng bên ngoài không đáng tin cậy

• Nội dung hỗn hợp trên các nguồn phụ không thể tập lệnh (tùy chọn)

• HTTPS -> HTTP gửi biểu mẫu HTML (tùy chọn)

• Thông tin xác thực HTTP trong URL

• Chứng chỉ SSL đã hết hạn hoặc chưa hợp lệ

• Các biểu mẫu HTML không có bảo vệ XSRF

• Chứng chỉ SSL tự ký

• Tên máy chủ chứng chỉ SSL không khớp

• Chỉ thị bộ nhớ đệm không hợp lệ đối với nội dung ít nhạy cảm

Trang 31

+ Cảnh báo nội bộ:

• Các lần tìm nạp tài nguyên không thành công

• Đã vượt quá giới hạn thu thập thông tin

• Kiểm tra hành vi 404 không thành công

• Đã phát hiện lọc IPS

• Các biến thể phản hồi không mong muốn

• Có vẻ như các nút thu thập thông tin bị phân loại sai

+ Các mục thông tin không cụ thể:

• Thông tin chung về chứng chỉ SSL

• Thay đổi đáng kể cookie HTTP

• Thay đổi Server, Via hoặc X- tiêu đề

• 404 chữ ký mới

• Các tài nguyên không thể truy cập

• Tài nguyên yêu cầu xác thực HTTP

• Liên kết bị hỏng

• Lỗi máy chủ

• Tất cả các liên kết bên ngoài không được phân loại khác (tùy chọn)

• Tất cả các e-mail bên ngoài (tùy chọn)

• Tất cả các trình chuyển hướng URL bên ngoài (tùy chọn)

• Liên kết đến các giao thức không xác định

• Các trường biểu mẫu không thể tự động hoàn thành

• Các biểu mẫu nhập mật khẩu (đối với bạo lực bên ngoài)

• Các biểu mẫu tải tệp lên

• Các dạng HTML khác (không được phân loại khác)

• Tên tệp số (đối với brute-force bên ngoài)

• Các liên kết do người dùng cung cấp khác được hiển thị trên mộttrang

• Loại MIME không chính xác hoặc bị thiếu trên nội dung ít quantrọng hơn

• Loại MIME chung cho nội dung ít quan trọng hơn

Trang 32

• Bộ ký tự không chính xác hoặc bị thiếu trên nội dung ít quan trọnghơn.

• Xung đột MIME/thông tin bộ ký tự về nội dung ít quan trọng hơn

• Các quy ước truyền tham số giống OGNL

1.2.3 Ví dụ minh họa về sử dụng công cụ Skipfish để rà quét một trang web

Để dễ hình dung hơn quá trình hoạt động của Skipfish thì ta sẽ đến với việc ràquét trực tiếp một trang web và xem báo cáo kết quả mà Skipfish đem lại Trang webthực hiện rà quét là một trang web quản lý đào tạo của trường Học viện nông nghiệpViệt Nam để kiểm tra độ an toàn của hệ thống này

Bước 1: Sử dụng câu lệnh skipfish -o qldthvnn http://daotao.vnua.edu.vn/ để bắt đầu

sử dụng được)

Hình 1.19: Sử dụng giao diện dòng lệnh Skipfish để thực hiện rà quét

Bước 2: Sau khi thực hiện lệnh trên xong một giao diện sẽ được hiển thị lên với các

lựa chọn rà quét khác nhau Chúng ta có thể ấn một nút bất kỳ hoặc đợi 60 giây để tiếptục quá trình rà quét

Bước 3: Bắt đầu quá trình rà quét với Skipfish, một số thông tin được hiển thị như

thời gian quét, các yêu cầu HTTP, các gói tin TCP, hoặc các thông tin về cơ sở dữ liệu,

và các vấn đề được tìm thấy trên trang web với các cấp độ cảnh báo khác nhau

Trang 33

Hình 1.20: Giao diện hiển thị các trường thông tin trong quá trình rà quét

Có thể sử dụng nút Space để chuyển sang xem chế độ quét chi tiết các file, thư mục cótrong trang web được áp dụng theo một từ điển mặc định của công cụ

Hình 1.21: Một giao diện khác có thể xem chi tiết các thư mục được quét

Bước 4: Quá trình rà quét hoàn tất sẽ thông báo cho bạn các thông số đã phân tích và

kết quả báo cáo được lưu ở trong thư mục qldthnvv/index.html

Ngày đăng: 26/02/2023, 16:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Zalewski, M., " Skipfish Doc For Project documentation," 9 2011. [Online].Available: https://code.google.com/archive/p/skipfish/wikis/SkipfishDoc.wiki Sách, tạp chí
Tiêu đề: Skipfish Doc For Project documentation
Tác giả: Zalewski, M
Năm: 2011
[2] Kali Linux, " SkipFish - Web Application Security Scanner," 30 1 2021. [Online].Available: https://www.kalilinux.in/2021/01/sikpfish.html Sách, tạp chí
Tiêu đề: SkipFish - Web Application Security Scanner
Tác giả: Kali Linux
Năm: 2021
[3] SysTutorial, " Skipfish Tool - Linux Man Pages," 23 4 2015. [Online]. Available:https://www.systutorials.com/docs/linux/man/1-skipfish/ Sách, tạp chí
Tiêu đề: Skipfish Tool - Linux Man Pages
Tác giả: SysTutorial
Năm: 2015
[7] Brisk Infosec, " Skipfish - powerful reconnaissance tool," 24 3 2021. [Online].Available: https://www.youtube.com/watch?v=kmroxG6GXdM Sách, tạp chí
Tiêu đề: Skipfish - powerful reconnaissance tool
Tác giả: Brisk Infosec
Năm: 2021
[10] Geekforgeek, " How to use SQLMAP to test a website for SQL Injection," 1 2021. [Online]. Available: https://www.geeksforgeeks.org/use-sqlmap-test-website-sql-injection-vulnerab ility/ Sách, tạp chí
Tiêu đề: How to use SQLMAP to test a website for SQL Injection
Tác giả: Geekforgeek
Năm: 2021
[4] Kendy Chua, " SKIPFISH LATEST WINDOWS PRECOMPILED BINARY,” 10 Nov 2011. [Online]. Available: https://kennychua.net/skipfish-latest-windows-precompiled-binary/ Link
[5] Devin Ford, Latana Banks, "Skipfish – Midterm Report," 24 9 2020. [Online].Available: http://www.famu.edu/cis/project4_skipfish.pdf Link
[6] Lê Tuấn Anh, " Kiểm tra ứng dụng trực tuyến Skipfish của Google," 25 5 2010.[Online]. Available: https://quantrimang.com/kiem-tra-ung-dung-truc-tuyen-skipfish-cua-google-67975 Link
[8] TechChip, “Skipfish Web Application Scanner Kali Linux tools”, 1 4 2018.[Online]. Available: https://www.youtube.com/watch?v=YKILueSxLR0 Link
[9] Matthew Fuller, “Skipfish - Introduction Tutorial”, 1 8 2012. [Online]. Available:https://www.youtube.com/watch?v=kqx8rp7Cnwc Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w