|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
14-08-2009, 10:44 PM | #1 |
Guest
Trả Lời: n/a
|
Sử dụng isa server 2006 hạn chế tấn công sql injection
SỬ DỤNG ISA SERVER 2006 HẠN CHẾ TẤN CÔNG SQL INJECTION (Phần 1: Tìm hiểu và xây dựng cơ sở dữ liệu trên MSDE) I. Giới thiệu: Bạn là quản trị mạng của một doanh nghiệp, công ty bạn có xây dựng website đặt tại web server công ty bạn. Bạn sử dụng firewall Microsoft ISA Server 2006 để tiến hành publish web server để khách hàng có thể truy cập web site của công ty bạn. Đây là web site động, có tương tác với cơ sở dữ liệu. Cơ sở dữ liệu có thể là Microsoft SQL Server, MySQL, MSDE, Oracle,...SQL Injection là một trong những hình thức tấn công vào cơ sở dữ liệu dựa trên sự sơ hở của người lập trình web. Attacker (kẻ tấn công) sau khi tìm ra lỗi của trang web, attacker có thể nhập vào một số từ khóa đặc trưng vào FORM hoặc URL để tiến hành khai thác cơ sở dữ liệu như xem dữ liệu, xóa dữ liệu, cập nhật dữ liệu theo ý muốn. Để minh họa bài viết này tôi minh họa việc khai thác lỗi SQL Injection dựa trên đoạn code có sẵn , chưa khắc phục lỗi này và sử dụng ISA Server 2006 để hạn chế hình thức tấn công trên. Bài viết gồm 2 phần: Phần 1: Tìm hiểu và xây dựng cơ sở dữ liệu trên MSDE Phần 2: Thực hiện khai thác lỗi SQL Injection và dùng ISA Server 2006 hạn chế việc khai thác lỗi này II. Một số khái niệm cơ bản về MSDE MSDE (Microsoft Data Engine hoặc Microsoft Desktop Engine) là một hệ quản trị cơ sở dữ liệu của Microsoft, tương tự MS SQL Server. Phiên bản này là FREE, nên có một số giới hạn sau: - Không có công cụ giao diện đồ họa để quản lý cơ sở dữ liệu. - Kích thước database không vượt quá 2GB lưu trữ. - Không vượt quá 25 kết nối đồng thời. Một số giới hạn khác khi sử dụng MSDE: - Failover clustering. - Log shipping. - Parallel DBCC. - Parallel create index. - Enhanced read ahead and scan. - Indexed views. - Federated database server. - System area network support (SAN). - Graphical DBA, and developer utilities and wizards. - Full-text search. - Analysis services. - OLAP partitions. - Partition wizard. - Linked OLAP cubes. - ROLAP dimension support. - HTTP Internet support. - Custom rollups. - Calculated Cells. - Write back to dimensions. - Very large dimension support. - Actions. - Real-time OLAP. - Distributed partition cubes. - Data mining. - English query. Tuy nhiên MSDE lại phù hợp với web site nhỏ, doanh nghiệp nhỏ khi doanh nghiệp đó mới bắt đầu cho sự phát triển của mình. Yêu cầu khi cài đặt MSDE: - Hỗ trợ tối đa 2CPU trong Windows NT/Win2000/XP/2003 và 1CPU trong Win98/ME. - Hỗ trợ tối đa 2 GB Ram - Database lưu trữ tối đa 2GB. 1. Cài đặt MSDE - Download MSDE 2000 SP4 tại đây - Sau khi tải file này về, chạy file này để xả nén vào 1 thư mục (ví dụ C:\SQL2KSP4) - Để cài đặt MSDE, bạn vào thư mục sau khi xả nén (C:\SQL2KSP4\MSDE) có file setup.ini . Bạn có thể khai báo sẵn cơ chế chứng thực khi login vào database trong file setup.ini hoặc có thể không xài file setup.ini thì khai báo cơ chế chứng thực trong lúc quá trình setup. - Có 4 loại cơ chế chứng thực: + Windows authentication without network access + Windows authentication with network access + Mixed Windows and SQL mode authentication without network access + Mixed Windows and SQL mode authentication with network acces Để việc cài đặt tốt hơn, trước khi cài đặt MSDE, bạn nhớ disable các chương trình diệt virus, sau khi cài đặt xong thì có thể enable lại bình thường. Không sử dụng file setup.ini thì thực hiện như sau:
Điền vào sau từ khóa [Option] tùy theo mỗi loại chứng thực
Trường hợp MSDE đã cài sẵn rồi, và muốn cấu hình lại cơ chế chứng thực thì thực hiện như sau - Mở Administrative Tools > Services : stop dịch vụ database instance tương ứng - Vào Run gõ regedit , tìm tới HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\myinstance\MSSQLServer, tìm key LoginMode. Key này =1 sử dụng Windows authentication, key này =0 hoặc =2 sử dụng Windows và SQL authentication 2. Một số lệnh cơ bản khi sử dụng MSDE Để thay đổi password của user sa (system administrator) , truy cập vào đường dẫn C:\Program Files\Microsoft SQL Server\80\Tools\Binn, sử dụng công cụ osql - Đối với Windows authentication C:\Program Files\Microsoft SQL Server\80\Tools\Binn> osql –E –S localhost\myinstance 1> use master 2> go 1> exec sp_password @old = null, @new = ‘newpassword’, @loginame = 'sa' 2> go Password changed. 1>quit trong đó localhost là tên máy cài MSDE C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql –U sa –P password –S localhost\myinstance- Đối với Mixed mode 1> use master 2> go 1> exec sp_password @old = null, @new = ‘newpassword’, @loginame = 'sa' 2> go Password changed. 1>quit Để xem version của MSDE gõ lệnh C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -E -S localhost\myinstance1> select @@version 2> go Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Desktop Engine on Windows NT 5.2 (Build 3790: Service Pack 2) 8.00.194 - MSDE 2000 8.00.384 - MSDE 2000 SP1 8.00.534 - MSDE 2000 SP2 8.00.760 - MSDE 2000 SP3 8.00.2039 - MSDE 2000 SP4 Bạn có thể dùng lệnh osql /? để tìm hiểu thêm về lệnh này III. Chuẩn bị Download và cài đặt các công cụ sau:
IV. Các bước thực hiện 1. Cài đặt ASP.NET và IIS 2. Cài đặt Microsoft .NET Framework 2.0 Service Pack 1 (x86) 3. Cài đặt Microsoft Core XML Services (MSXML) 6.0 Service Pack 1 4. Cài đặt Microsoft SQL Server Management Studio Express 5. Cài đặt MSDE 6. Tạo cơ sở dữ liệu V. Thực hiện Thực hiện tại máy Web Server 1. Cài đặt ASP.NET và IIS 2. Cài đặt Microsoft .NET Framework 2.0 Service Pack 1 (x86) 3. Cài đặt Microsoft Core XML Services (MSXML) 6.0 Service Pack 1 4. Cài đặt Microsoft SQL Server Management Studio Express 5. Cài đặt MSDE B1. Mở file setup.ini và khai báo như sau: [Options]B2. Chạy file setup.exe, cài đặt xong thì khởi động lại máy 6. Tạo cơ sở dữ liệu Chạy chương trình SQL Server Management Studio Express, login bằng username sa, password P@ssword Sử dụng MS SQL Server Management Studio Express để tạo cơ sở dữ liệu Chuột phải Database chọn New Database Đặt tên database là CreditCardDB Chọn Script Action to New Query Windows, nhìn góc tay trái bên dưới đợi tạo xong query đóng cửa sổ này lại Chọn Menu Query > Excute Chuột phải Database chọn Refresh thấy CreditCardDB đã tạo xong Chuột phải Tables > New Table Khai báo các trường trong table này như hình Chuột phải UserID chọn Set Primary Key Đóng cửa sổ tạo table chọn Yes Đặt tên cho table này là Users >OK Chuột phải Tables chọn New Table Tạo các trường trong table như hình Chuột phải OrderID chọn Set Primary Key Đóng cửa sổ này Chọn Yes Đặt tên cho Table này là Orders Chuột phải dbo.Users chọn Open Table Nhập dữ liệu cho Table Users Chuột phải dbo.Orders chọn Open Table Nhập dữ liệu cho Table Orders Chuột phải CreditCardDB chọn New Query gõ lệnh như hình SELECT * FROM Users; SELECT * From Orders; Chọn Meny Query > Execute Kết quả của 2 Table Users và Orders như hình Kết thúc phần 1. Bây giờ bạn đã chuẩn bị xong cơ sở dữ liệu để tiếp tục phần 2. Chúc bạn thành công. Xem tiếp Phần 2 ———————————————— ———————————————— ———————————————— —— Mr. Sử Trí Thức Nhất Nghệ Support Team |
|
|