Bao cao thuc tap Trung tam ATHENA tuan4

35 %
65 %
Information about Bao cao thuc tap Trung tam ATHENA tuan4
Education

Published on April 26, 2014

Author: libpro

Source: slideshare.net

Description

Bao cao thuc tap Trung tam ATHENA tuan4

TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG & AN NINH MẠNG QUỐC TẾ ATHENA BÁO CÁO THỰC TẬP TUẦN IV Sinh viên thực tập: Nguyễn Văn Nam Khoa: Mạng máy tính & Truyền thông Trường: ĐH Công nghệ Thông tin ĐH Quốc Gia Tp Hồ Chí Minh Ngành thực tập: Công nghệ Thông tin Đề tài thực tập: Tìm hiểu các công cụ tấn công Web Application Giáo viên hướng dẫn: Võ Đỗ Thắng Trần Lâm Mẫn Tuần 4: 24/03/2014 – 28/03/2014

NỘI DUNG I. Hướng khai thác lỗi SQL Injection…………………………………….…..…....…..3 1. Thông qua “user input”…………………………………………...…………...…...3 2. Thông qua cookies…………………………………………………………………3 3. Thông qua các biến server…………………………………………………………4 4. Thông qua Second-Order Injection………………………………………………...5 II. Một số kỹ thuật khai thác lỗi SQL Injection………………………………………..6 1. Boolean Based và Time Based Blind SQL Injection…………………..….….……6 2. Union Query Based………………………………………………….………….….6 3. Batched Query………………………….……………………………………….….6 4. Order By Clause……………………………..……………………………………..6 5. Các bước khai thác thông tin…………………………………………………….…6 5.1 Phát hiện…………………….…………………………………………………..….6 5.2 Thu thập thông tin về hệ quản trị cơ sở dữ liệu………………..…………………..6 5.3 Xác định số lượng cột trong mệnh đề select………………..………………..…….7 5.4 Xác định thông tin………………………………………………..…………..….....7 5.5 Tấn công………………………………………………………………………..…..7 III. Một số kỹ thuật vượt qua cơ chế lọc…………………………….………………......8 IV. Một số tools khai thác………………………………………………..……………….9 1. Sqlmap…………………………………………………………..………….……..9 2. Havij………………………………………………………………..……..………10 3. Demo…………………………………………………………………………..….12

I. Hướng khai thác lỗi SQL Injection 1. Thông qua “user input” User input điển hình thường đến từ các form nhập liệu, form search hay link… Những dữ liệu này được web browser gửi đến server thông qua phương thức HTTP GET hay POSTvà trở thành các tham số cho ứng dụng web truy cập tới cơ sở dữ liệu. Ví dụ như trong một form search, khi người dùng điền vào “Sql Injection”, đơn giản ứng dựng web sẽ truy cập cơ sở dữ liệu và tìm ra các bản ghi mà nội dung của nó chứa từ khóa “Sql Injection” để trả lại kết quả cho người dùng Một trường hợp khác phổ biến hơn trong kỹ thuật tấn công Sql Injection, khi người dùng request một tài liệu mà các tham số của nó được truyền qua url (như ở ảnh minh họa bên dưới, tham số id được truyền qua url theo phương thức HTTP GET). Khi nhận được request, ứng dụng web tìm trong cơ sở dữ liệu và trả về cho người dùng bài viết có id=1 số nào đó hay 2. Thông qua cookies Cookies là những tệp tin lưu trữ thông tin trạng thái của người dùng khi truy cập các ứng dụng web. Những thông tin này do người lập trình quyết định, được tạo ra ở server và lưu trữ tại client. Khi người dùng truy cập lại ứng dụng web, cookies được browser gửi lên server giúp phục hồi lại những trạng thái của người dùng trong lần truy cập trước đó. Ở một số ứng dụng web thương mại, cookies còn được lưu trữ những sở thích của người dùng, khi đó ứng dụng web sẽ sử dụng cookies để đưa ra những gợi ý tốt nhất cho người dùng khi mua sản phẩm. Do được lưu trữ ở client nên người dùng có thể chỉnh sửa tùy ý, vì vậy nếu ứng dụng web sử dụng những thông tin lưu trong cookies để xây dựng các truy vấn tới cơ sở dữ liệu thì hacker hoàn toàn có thể chèn vào cookies những script sql để thực hiện một cuộc tấn công Sql Injection.

3. Thông qua các biến server Biến server có thể là một khái niệm tương đối lạ lẫm nhưng nó không hề mới. Một số ví dụ của biến server là Http header, Network header… Không phổ biến lắm nhưng các giá trị được lưu trong biến server có thể được ứng dụng web sử dụng như trong việc logging truy cập hay thống kê truy cập theo user agent… Những công việc này đều có sự tương tác với cơ sở dữ liệu nên các hacker hoàn toàn có thể sử dụng các biến server trong việc khai thác Sql Injection.

4. Thông qua Second-order Injection Đây là kỹ thuật ít được sử dụng vì rất khó để nhận biết một ứng dụng web có bị mắc lỗi này hay không. Kỹ thuật này được mô tả như sau : Trước hết, hacker “inject” vào cơ sở dữ liệu một đoạn mã. Đoạn mã này chưa hề gây nguy hiểm cho hệ thống nhưng nó sẽ được sử dụng làm bàn đạp cho lần inject tiếp theo của hacker. Chúng ta hãy xem một ví dụ cụ thể để hiểu hơn về kỹ thuật này. Một hacker truy cập vào một ứng dụng web và cố gắng đăng ký một tài khoản có username là “administrator’ --”. Sau đó hacker này thực hiện thao tác thay đổi mật khẩu. VD: update account set password = ‘ ‘‘ + newpass + ‘‘ ‘ where username = ‘ ‘‘+ administrator +‘‘ ‘ ‘‘;

II. Một số Các kỹ thuật khai thác lỗi SQL Injection 1. Boolean Based và Time Based Blind SQL Injection Boolean based: Cơ sở của kỹ thuật này là việc so sánh đúng sai để tìm ra từng ký tự của những thông tin như tên bảng, tên cột… Do đó, với dải giá trị chữ số, chữ cái (bao gồm cả hoa, thường) và một số ký tự đặc biệt, việc so khớp trở nên rất khó khăn và đòi hỏi nhiều thời gian. Do đó việc khai thác lỗi chủ yếu được tiến hành bằng tools. Trong kỹ thuật Blind SQL injection (BQLi), chúng ta cũng có nhiều phương pháp khác nhau. Điểm khác biệt giữa các phương pháp này là sự tối ưu thời gian. Khái niệm Time based: Giống như boolean based attacks chỉ khác nhau về cách suy diễn VD: id = 1 and ascii(mid((query), position, 1)) > ? -- 2. Union Query Based Đây là phương pháp phổ biến khi khai thác Sql Injection. Cơ sở của nó là sử dụng từ khóa union để gộp các kết quả của các mệnh đề select, qua đó lấy được thông tin từ cơ sở dữ liệu, cụ thể nó dùng để ghép nối các kết quả của hai hay nhiều câu lệnh SELECT lại với nhau thành một tập kết quả duy nhất. VD: http://www.abslatin.co.uk/node.php?id=null union select 1,2,3,4-- 3. Batched Query Đây là phương pháp áp dụng khả năng thực thi cùng lúc nhiều câu lệnh Sql của một số hệ quản trị cơ sở dữ liệu và khả năng hỗ trợ của ngôn ngữ lập trình. Phương pháp này rất mạnh mẽ và gây nguy hiểm ngay với hệ thống. Bằng cách thêm vào một dòng lệnh Update, Insert hay Delete, dữ liệu trong cơ sở dữ liệu của ứng dụng web không còn toàn vẹn nữa VD: http://www.abslatin.co.uk/node.php?id=1 delete tablename, insert column; 4. Order by Clause Không giống như các phương pháp trên, nội dung inject nằm trong mệnh đề điều kiện where. Trong phương pháp này, chúng ta sẽ cố gắng tiêm mã script vào mệnh đề order VD: http://www.abslatin.co.uk/node.php?id=1 order by 2-- Người lập trình muốn liệt kê sản phẩm của công ty bao gồm các thông tin: Mã sản phẩm, Tên sản phẩm, Ngày tháng… và có chức năng cho phép người dùng tùy chỉnh xem họ muốn sắp xếp theo thứ tự ngày tháng, theo tên hay mã của sản phẩm. VD: select id, name, price from product where id order by $varOrder Trong trường hợp này chúng ta không thể thêm trực tiếp một mệnh đề sub select thông qua từ khóa union như mọi khi được. Một cách khai thác đó là sử dụng BATCHED QUERY, phương pháp này có thể Inject được một sub select nhưng rõ ràng cách thực hiện này giờ đây phải kết hợp cả với kỹ thuật BOOLEAN BASED BLIND SQLI. 5. Các bước khai thác thông tin 5.1. Phát hiện lỗi Một cách thông thường, để phát hiện một ứng dụng web có dính lỗi Sql Injection hay không là thêm vào câu truy vấn các meta character trong các hệ quản trị cơ sở dữ liệu, chẳng hạn như dấu nháy đơn (single quote), dấu nháy kép (double quote), dấu chấm phẩy (semi colon) và các ký tự comment (--, ##, /**/)…và chờ xem ứng dụng web sẽ xứ lý câu truy vấn đó như thế nào. VD: Khi muốn xem item có id=2 ta request tới liên kết http://site/item.php?id=2. Để xem liên kết này có dính lỗi Sql Injection hay không ta thêm vào cuối liên kết một trong cácmeta character đã nói ở trên, chẳng hạn ta thêm vào dấu nháy đơn http://site/item.php?id=2’. Nếu như ứng dụng web

vẫn trả về cho chúng ta nội dung của item có id=2 hoặc đưa ra một thông báo về việc không tìm được item hoặc đưa chúng ta tới một trang khác (một trang thông báo lỗi mặc định hay trang chủ chẳng hạn), như vậy ta có thể kết luận rằng ứng dụng đã xứ lý tốt tham số đầu vào trước khi thao tác cơ sở dữ liệu. Ngược lại, nếu thấy xuất hiện một thông báo lỗi (exception) từ mysql, mssql… thì ứng dụng web đã dính lỗi Sql Injection. 5.2.Thu thập thông tin về hệ quản trị cơ sở dữ liệu Khi phát hiện ứng dụng bị dính lỗi Sql Injection, công việc cần làm tiếp theo là thu thập thông tin về hệ quản trị cơ sở dữ liệu mà ứng dụng đang dùng, thông tin này bao gồm loại cơ sở dữ liệu (mysql, mssql, oracle…) và phiên bản của nó. Tùy vào ứng dụng sử dụng phiên bản hay loại hệ quản trị sơ sở dữ liệu nào mà chúng ta có những kỹ thuật khai thác khác nhau. Một ví dụ đơn giản cho thấy sự khác nhau giữa các loại hệ quản trị cơ sở dữ liệu đó là, trong khi mssql sử dụng ký tự comment là ‘--’ thì mysql lại sử dụng ‘##’… VD: http://www.abslatin.co.uk/node.php?id=null union select 1,2,3,version()-- hay http://www.abslatin.co.uk/node.php?id=null union select 1,2,3,@@version()-- Để xác định hệ loại quản trị mà ứng dụng đang sử dụng, chúng ta có thể đánh giá theo nhiều tiêu chí. 5.3.Xác định số lượng cột trong mệnh đề select Khi khai thác Sql Injection, chúng ta thường sử dụng một hay nhiều mệnh đề select phụ (subselect), điều này được thực hiện thông qua từ khóa union. Union là từ khóa dùng để gộp kết quả của nhiều mệnh đề select do đó trong mỗi mệnh đề select đòi hỏi số lượng các trường đều phải bằng nhau và đều bằng số lượng các trường được select trong mệnh đề select ban đầu Một cách khác để làm điều này, nhanh chóng hơn đó là sử dụng ‘order by’. Trong các hệ quản trị cơ sở dữ liệu từ khóa ‘order by’ được sử dụng để sắp xếp thứ tự cho các bản ghi thu được trong mệnh đề select. Sau order by có thể là tên một cột để xác định rằng kết quả thu về sẽ được sắp xếp theo giá trị của cột đó (có thể tăng dần hay giảm dần). Sau order by cũng có thể là số thứ tự vị trí của cột đó. Nếu giá trị sau order lớn hơn số cột được select thì chúng ta sẽ thấy thông báo VD: http://www.abslatin.co.uk/node.php?id=5 uNion seleCt 1,2,3,group_concat(column_name) from information_schema.columns where table_name=0x61646d696e6973747261746f7273-- 5.4.Xác định thông tin Để khai thác được Sql Injection, chúng ta cần biết một số thông tin về cơ sở dữ liệu như tên bảng, tên cột, các kiểu dữ liệu của từng cột… Giai đoạn này đòi hỏi khá nhiều thời gian. Tên bảng và cột Chúng ta có nhiều cách để làm được công việc này, một trong những cách đó là “đoán” vì nó nhanh chóng và trong những trường hợp cụ thể, đây là cách rất hữu ích. Ví dụ khi tên bảng là một tên quen thuộc như :user, users, admin, administrator, staff, account…(chú ý tiền tố tbl_ rất hay được các lập trình viên sử dụng để đặt cho tên bảng). Một cách chính qui hơn để biết được tên bảng, tên cột là sử dụng đối tượng information_schema. Đối tượng này cung cấp các thông tin về tables, columns, views và procedures… của cơ sở dữ liệu VD: http://www.abslatin.co.uk/node.php?id=5 union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()--

hay http://www.abslatin.co.uk/node.php?id=5 uNion seleCt 1,2,3,group_concat(id,0x2f,user_name,0x2f,user_password) from administrators -- - 5.5. Tấn công Sau khi xác định thông tin chính xác, tìm đến trang đăng nhập của Admin, trang quản lý cơ sở dữ liệu, trang điều khiển hoạt động trang Web và tiến hành đăng nhập vào để tấn công hay khai thác thông tin, dữ liệu. III. Một số kỹ thuật vượt qua cơ chế lọc Trong quá trình khai thác Sql Injection chúng ta có thể gặp một số hạn chế khiến cho câu truy vấn mà chúng ta inject vào không thể thực thi được. Những hạn chế này có thể xuất phát từ những cấu hình filter trên web server, những ứng dụng được cài đặt trên máy chủ (WAF – Web Application Firewall) hay từ chủ định của người lập trình ứng dụng web hòng phát hiện những truy vấn bất thường và tìm cách loại bỏ chúng. Ứng dụng WAF hoạt động như một request filter. Trong đó chúng ta xây dựng các luật lọc được thể hiện bằng regular expression hay kiểu như pattern matching. Những request lên server mà match với những luật này sẽ được lọc bỏ. Một Web Application Firewall được chúng ta biết đến đó là Mod Security. Cũng với ý nghĩa đó, người lập trình ứng dụng web cố gắng xây dựng các đoạn code xử lý nhằm lọc bỏ những pattern hay keyword trong những request mà họ cho là có thể gây hại cho hệ thống. Chẳng hạn trong những ví dụ về khai thác Sql Injection chúng ta thường sử dụng những từ khóa như: union, select, information_schema… Nhiều trường hợp, người lập trình chỉ đơn giản là replace những từ khóa đó đi Khi gặp phải những hàm filter do những lập trình viên thiết kế, chúng ta phải biết cách phán đoán xem request của chúng ta được xử lý như thế nào mà có những phương pháp bypassphù hợp. Nhiều khi, một truy vấn được áp dụng nhiều luật lọc khác nhau nên đòi hỏi chúng ta phải áp dụng tổ hợp nhiều kỹ thuật khác nhau. Sau đây là một số ví dụ mà hi vọng qua đó mọi người có thể tự tìm cho mình những phương pháp bypass đúng đắn trong những trường hợp cụ thể. Cắt bớt nội dung câu truy vấn Trong trường hợp muốn lờ đi những đoạn script trong câu truy vấn. Ví dụ đối với đoạn xử lý dưới đây, trong câu truy vấn đòi hỏi điều kiện active=1 nhưng chúng ta có thể comment (--, #, /**/, //, ;%00, …)và lờ nó đi. Khi khai thác chúng ta thường không biết nội dung còn lại của câu truy vấn làm công việc gì nên sử dụng comment trong trường hợp nảy rất hiệu quả. Bypass việc lọc các từ khóa a. Inline Comment Inline comment được sử dụng rất hiệu quả trong việc bypass lọc các khoảng trắng. Hay bypass lọc các từ khóa (khả dụng với MySql). b. Character encoding Chúng ta có thể bypass khi WAF chặn các từ khóa bằng cách encode chúng. Rất nhiều ứng dụng WAF sẽ chỉ decode truy vấn một lần và lọc bỏ các từ khóa trong blacklist, khi đó chúng ta hãy encode 2 lần request như vậy có thể bypass được trong trường hợp này c. Bypass chặn nháy đơn, nháy kép Chúng ta hãy xét một ví dụ trước khi tìm hiểu cụ thể cách bypass này. Trong kịch bản này, chúng ta đã biết được một bảng trong cơ sở dữ liệu có tên là users. Công việc tiếp theo là phải biết được tên cột trong bảng để lấy được thông tin của nó. Như trong câu truy vấn trên, chúng ta sử dụng điều kiện: table_name=’users’. Nhưng nếu cả dấu nháy đơn (‘) và dấu

nháy kép (“) đều bị WAF chặn thì chúng ta không thể sử dụng ‘users’hay “users” được nữa. Vậy phải giải quyết vấn đề này như thế nào? Trong các hệ cơ sở dữ liệu built sẵn cho chúng ta function giải quyết rất tốt vấn đề này đó là hàm CHAR() (đối với Oracle là CHR()) Những lập trình viên php đều đã rất quen thuộc với hàm addslashes(). Hàm addslashes() có tác dụng thêm vào trước những ký tự đặc biệt như single quote (‘), double quote (“), backslash (), NUL (null byte) ký tự ” ”giúp hệ quản trị cơ sở dữ liệu không gặp khó khăn và nhầm lẫn khi xử lý chuỗi chứa các ký tự đó. Như vậy, khi chúng ta muốn inject vào câu truy vấn theo như kịch bản: name=’someName’ or ‘1’=’1’ -- thì kết quả không còn đúng như chúng ta mong đợi nữa. Tuy vậy, đã có kỹ thuật giúp hacker bypass hàm addslashes() để inject ký tự single quote (‘). Kỹ thuật này đã được public từ khá lâu và để thực hiện kỹ thuật này cũng khá khó khăn vì nó bị ràng buộc với kiểu mã hóa áp dụng cho website. d. Bypass lỗi “illegal mix of collation for operation UNION” Trong một số hệ quản trị (thường thấy trong MySql), các database, các table khi đã được set collation thì khi sử dụng từ khóa UNION sẽ bị báo lỗi “illegal mix of collation for operation UNION”. Việc thiết lập collation (đối chiếu font mã hóa) có thể do chủ định của người thiết kế cơ sở dữ liệu hoặc do được thiết lập mặc định của MySql. Trong trường hợp dùng union, chúng ta phải đảm bảo điều kiện giá trị select ở từng trường phải có kiểu mã tương ứng đã được định nghĩa. Theo mình đánh giá, lỗi này là khá phổ biến, đặc biệt đối với các CMS chạy Apache MySql. Chúng ta có thấy nhược điểm trong cách bypass này là chúng ta phải biết được mã được collation là _latin1 VD1: LOAD_FILE('/etc/passwd') thành LOAD_FILE(CHAR(47,101,116,99,47,112,97, 115,115,119,100)) Hay LOAD_FILE(0x2f6574632f706173737764) VD2: http://www.abslatin.co.uk/node.php?id=5 union select thành http://www.abslatin.co.uk/node.php?id=5 UniOn sElecT VD3: SELECT pg_sleep(3) thành S%ELEC%T %p%g_sle%ep(%3) IV. Một số công cụ khai thác Hiện nay có rất nhiều công cụ quét và khai thác lỗ hổng bảo mật (bao gồm SQL injection). Những công cụ này cho phép phát hiện vào khai thác lỗ hổng SQL injection khá mạnh mẽ. 1. Sqlmap 1.1Giới thiệu sqlmap là một công cụ kiểm tra xâm nhập bằng mã nguồn mở, nó tự động quá trình phát hiện và khai thác lỗ hổng SQL Injection và vượt qua sự kiểm tra của các máy chủ cơ sở dữ liệu. Nó đi kèm với một bộ máy phát hiện mạnh mẽ, nhiều tính năng thích hợp cho các thử nghiệm xâm nhập cuối cùng và một loạt các thiết bị chuyển mạch kéo dài đến cơ sở dữ liệu. Để truy cập vào hệ thống tập tin cơ bản và thực hiện lệnh trên hệ điều hành thông qua các kết nói ra ngoài.

1.2Đặc điểm - Hỗ trợ đầy đủ các cơ sở dữ liệu như ỗ trợ đầy đủ cho MySQL , Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird , Sybase và hệ thống quản lý cơ sở dữ liệu SAP MaxDB . - Hỗ trợ đầy đủ cho sáu kỹ thuật khai thác lỗi SQL injection như : boolean-based blind, time- based blind, error-based, UNION query, stacked queries and out-of-band. - Hỗ trợ kết nối trực tiếp đến cơ sở dữ liệu mà không cần đi qua một SQL injection , bằng cách cung cấp thông tin Database Management Systems, địa chỉ IP, cổng và tên cơ sở dữ liệu - Hỗ trợ để liệt kê người dùng, các hash mật khẩu , đặc quyền , vai trò, cơ sở dữ liệu , bảng và cột. - Tự động nhận dạng các định dạng băm mật khẩu và hỗ trợ cho việc bẻ khóa chúng bằng một cuộc tấn công dựa trên từ điển - Hỗ trợ để loại bỏ bảng cơ sở dữ liệu hoàn toàn , một loạt các mục hoặc cột cụ thể theo sự lựa chọn của người dùng. Người sử dụng cũng có thể chọn để lọai bỏ chỉ là một loạt các đối tượng nhập ở mỗi cột. - Hỗ trợ để tìm kiếm tên cơ sở dữ liệu cụ thể, bảng cụ thể trên tất cả các cơ sở dữ liệu hoặc cột cụ thể trên tất cả các bảng cơ sở dữ liệu . - Hỗ trợ để tải về và tải lên bất kỳ tập tin từ hệ thống tập tin máy chủ cơ sở dữ liệu cơ bản khi các phần mềm cơ sở dữ liệu là MySQL, PostgreSQL hoặc Microsoft SQL Server . - Hỗ trợ để thực hiện các lệnh tùy ý và lấy đầu ra tiêu chuẩn của họ trên hệ điều hành máy chủ cơ sở dữ liệu cơ bản khi các phần mềm cơ sở dữ liệu là MySQL, PostgreSQL hoặc Microsoft SQL Server - Hỗ trợ để thiết lập một kết nối TCP trạng thái out-of -band giữa các máy tính tấn công và máy chủ cơ sở dữ liệu chạy dưới hệ điều hành cơ bản . Kênh này có thể là một dấu nhắc lệnh tương tác , một phiên Meterpreter hoặc một giao diện người dùng đồ họa (VNC ) phiên theo sự lựa chọn của người dùng. - Hỗ trợ cho quá trình người sử dụng leo thang đặc quyền về cơ sở dữ liệu thông qua lệnh getsystem Meterpreter Metasploit 1.3Cách sử dụng Bạn download Sqlmap tại http://sqlmap.org/ Sqlmap được viết bằng ngôn ngữ Python, vì vậy để sử dụng tool này bạn cần cài đặt Python. Bạn có thể download python tại http://www.python.org/downloads/ Để thực hiện tấn công bạn làm như sau Bước 1: Mở cmd và gõ lệnh dưới đây để sqlmap sẽ phát hiện lỗ hổng của mục tiêu vào đưa ra thông tin về lỗ hổng. python sqlmap.py –u “http://tenwebsite.../....php?id=1” Bước 2: Khi đã xác định được là website mục tiêu tồn tại lỗ hổng SQL injection, ta tiến hành tìm tên cơ sở dữ liệu. python sqlmap.py –u “http://tenwebsite.../....php?id=1” --dbs Bước 3: Sau khi xác định được tên cơ sở dữ liệu, ta sẽ tìm tiếp tên các bảng có trong cơ sở dữ liệu. python sqlmap.py –u “http://tenwebsite.../....php?id=1” --tables –D tenCSDLvuatimduoc Bước 4: Xác định tên các cột trong bảng python sqlmap.py –u “http://tenwebsite.../....php?id=1” --columns –D tenCSDLvuatimduoc –T tenbangvuatimduoc

Bước 5: Lấy thông tin dữ liệu từ bảng và cột python sqlmap.py –u “http://tenwebsite.../....php?id=1” --dump –D tenCSDLvuatimduoc –T tenbangvuatimduoc Bước 6: Tìm trang đăng nhập của admin hay trang quan lý CSDL và tiến hành đăng nhập. 2. Havij 2.1 Giới thiệu Havij là một công cụ SQL Injection tự động giúp kiểm tra thâm nhập để tìm và khai thác lỗ hổng SQL Injection trên một trang web. Nó có thể tận dụng lợi thế của một ứng dụng web dễ bị tổn thương. Bằng cách sử dụng phần mềm này, người dùng có thể thực hiện back-end cơ sở dữ liệu, lấy tên đăng nhập Database Manager Systems và hash mật khẩu, bảng và cột, lấy dữ liệu từ cơ sở dữ liệu, thực hiện các câu lệnh SQL đối với máy chủ, và thậm chí truy cập hệ thống tập tin cơ bản và thực hiện lệnh shell trên hệ điều hành. Sức mạnh đặc biệt của Havij để phân biệt nó với các công cụ tương tự nằm trong phương pháp độc đáo là các phương pháp tiêm kích mới 2.2 Đặc điểm - Loại bỏ tất cả CSDL mà nó phát hiện - Các phương pháp bypass SQL mới và hiệu quả - Tính năng ghi lại đặc điểm tập tin MSSQL và MySQL - Load mã HTML vào form Input - Lưu dữ liệu tìm được ở dạng CVS - Đa dạng các phương thức Injection 2.3 Cách sử dụng Bước 1: Đầu tiên tải về Havij SQL Injection và cài đặt Bước 2: Chạy phần mềm Havij SQL Injection và sao chép và dán liên kết trang web muốn tấn công vào mục Target Bước 3: Bây giờ hãy nhấp vào nút "Analyse" Bước 4: Sau đó, nó cho thấy một số thông điệp tìm được. Là cảnh báo về nó và phải hiển thị kiên nhẫn cho đôi khi tìm thấy nó vulernable và loại tiêm và nếu máy chủ db mysql và nó sẽ tìm thấy cơ sở dữ liệu tên.Sau đó sau khi nhận được cơ sở dữ liệu của nó là tên là … Bước 5: Sau đó di chuyển đến tab Table để tìm bảng bằng. Bây giờ bấm "Nhận được bảng" sau đó chờ đợi một thời gian nếu cần thiết Bước 6: Sau khi nhận được các bảng, tìm đến tên các bảng muốn khai thác thông tin và đánh dấu vào đó, sau đó chuyển sang Tab Get Column để lấy danh sách các cột trong bảng Bước 7: Tiếp theo chuyển sang Tab Get Data để lấy CSDL trong các cột của bảng Bước 8: Cuối cùng, bạn đã có thông tin của admin hay user, bây giờ tìm trang đăng nhập của admin hay cùa cơ sở dữ liệu và tiến hành đăng nhập 3. Demo khai thác lỗi SQL Injection bằng tool sqlmap và Havij Xem video Demo

Add a comment

Related presentations

Related pages

SINH VIÊN THỰC TẬP - athena.com.vn

... nghiệm làm việc thực tế và những KỸ NĂNG MỀM giúp làm việc thành công và đạt hiệu quả cao.. ... trung tâm Athena) ...
Read more

báo cáo thực tập Athena - tuần 1. - YouTube

TRUNG TAM DAO TAO QUAN TRI MANG VAN NINH MANG ... DE TAI THUC TAP ATHENA ... Giới thiệu bản thân tại trung tâm athena ...
Read more

Trung Tâm Athena - thuctapvienathena.blogspot.com

... năm 2 của các trường trung cấp, cao ... trung tâm ATHENA đã thiết kế và ... Cần nhìn bao trùm sử tiến trình hóa ...
Read more

Báo cáo thực tập nhân sự về công tác tuyển dụng nhân lực ...

Tài liệu ôn thi Cao Học; ... Báo cáo thực tập nhân sự về công tác tuyển dụng nhân lực tại trung tâm an ninh mạng ATHENA
Read more

Athena - Dao tao Online Marketing,quan tri mang,An Ninh ...

Nhu cầu nhân lực an ninh mạng rất cao. ... TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG & AN NINH MẠNG QUỐC TẾ ATHENA ... Trung tâm Công ...
Read more

ATHENA NHẬN SINH VIÊN THỰC TẬP | Tinhte.vn

ATHENA NHẬN SINH VIÊN THỰC TẬP Trung Tâm ATHENA sẽ tiếp nhận các bạn Sinh viên đăng ký thực tập ...
Read more

Athena Nhận Sinh Viên Thực Tập Tốt Nghiệp - Athena

... nghiệm làm việc thực tế và những KỸ NĂNG MỀM giúp làm việc thành công và đạt hiệu quả cao.. ... Trung Tâm ATHENA ...
Read more

Báo cáo kết quả thực tập của sinh viên - TT.Athena - YouTube

Buổi báo cáo kết quả thực tập của hai bạn sinh viên Yến và Đạt tại trung tâm Athena. ... Bao cao thuc tap tot ...
Read more