SVTT: HOÀNG MINH TUẤN
3.2 Demo tấn công vào một trang web
3.2.1 Công cụ sử dụng
Có thể sử dụng bất kì trình duyệt nào để tấn công, Demo này sử dụng trình duyệt Mozilla Firefox 3.6
3.2.2 Thực hiện tấn công
Vì thực hiện tấn công vào một trang web khác là vi phạm pháp luật. Do đó ở Demo 1, sử dụng Form login tự dựng lên. Nhưng để trực quan hơn, ở Demo 2 này, sẽ thực hiện tấn công trang web có trên mạng internet nhưng đã được giấu địa chỉ, những thông tin liên quan sẽ bị xóa trong hình trình bày dưới đây.
Click vào một sản phẩm bất kì và thêm kí tự đặc biệt “ ‘ “ vào
Khi đã xác định được trang web có tồn tại lỗi, tiến hành tấn công.
Tiến hành dò số trường bằng câu lệnh order by [số]
Giá trị nhập vào là 6
Nhận thấy trang web vẫn hiển thị bình thường, như thế có nghĩa cơ sở dữ liệu có tối thiểu là 6 trường. Cứ thử như vậy cho đến số tối đa nhập vào mà làm trang web vẫn hiển thị bình thường thì đó chính là số trường của cơ sở dữ liệu.
Thử giá trị bằng 7
Có thể thấy được số trường tối đa trong cơ sở dữ liệu này là 6 trường.
Tiếp theo sử dụng câu truy vấn union select 1,2,3,4,5,6, để tiện cho việc theo dõi, chỗ detail&id có thể sửa là detail&id=null.
Ở đây, cần lưu ý số 3, là giá trị đặc biệt. Số 6 nghĩa là có 6 trường trong cơ sở dữ liệu.
Sau đó tiến hành mò tên bảng chứa thông tin cần tìm bằng câu lệnh union select 1,2,3,4,5,6 from [tên bảng]. Ở đây sẽ mò bảng admin. Thường thì bảng này có tên là admin, administrator, tbl_admin,… sẽ có những từ khóa thông dụng để mò. Đối với trang web này, bảng cần tìm là tbl_admin
Hình 3.21. Sử dụng câu lệnh union select 1,2,3,4,5,6 from tbl_admin, trang web không hiển thị lỗi SQL chứng tỏ đã tìm ra đúng tên bảng.
Tiếp tục, tiến hành dò username từ table mới dò được. Những từ khóa thông dụng để tìm kiếm là: username, uname, name, user,… Đối với trang web này, từ khóa đúng là name. Và khai thác vào số 3 đặc biệt đã tìm được ở trên bằng câu lệnh union select 1,2,name,4,5,6 from tbl_admin
Hình 3.22. Sau khi sử dụng câu lệnh union select 1,2,name,4,5,6 from tbl_admin, thì tìm được user là admin
Tương tự với password, những từ khóa thông dụng là: password, pass, pword,… Đối với trang web này, từ khóa cần tìm là pass. Sử dụng câu lệnh union select 1,2, pass,4,5,6 from tbl_admin
Hình 3.23. Sau khi sử dụng câu lệnh union select 1,2,pass,4,5,6 from tbl_admin, thì tìm được password là qweqwe
Sau khi dò được username và password, để kiểm tra xem thông tin thu được có đúng không, vào trang đăng nhập admin để kiểm tra
3.2 Demo tấn công vào một trang web
3.2.1 Công cụ sử dụng
Có thể sử dụng bất kì trình duyệt nào để tấn công, Demo này sử dụng trình duyệt Mozilla Firefox 3.6
3.2.2 Thực hiện tấn công
Vì thực hiện tấn công vào một trang web khác là vi phạm pháp luật. Do đó ở Demo 1, sử dụng Form login tự dựng lên. Nhưng để trực quan hơn, ở Demo 2 này, sẽ thực hiện tấn công trang web có trên mạng internet nhưng đã được giấu địa chỉ, những thông tin liên quan sẽ bị xóa trong hình trình bày dưới đây.
Click vào một sản phẩm bất kì và thêm kí tự đặc biệt “ ‘ “ vào
Khi đã xác định được trang web có tồn tại lỗi, tiến hành tấn công.
Tiến hành dò số trường bằng câu lệnh order by [số]
Giá trị nhập vào là 6
Nhận thấy trang web vẫn hiển thị bình thường, như thế có nghĩa cơ sở dữ liệu có tối thiểu là 6 trường. Cứ thử như vậy cho đến số tối đa nhập vào mà làm trang web vẫn hiển thị bình thường thì đó chính là số trường của cơ sở dữ liệu.
Thử giá trị bằng 7
Có thể thấy được số trường tối đa trong cơ sở dữ liệu này là 6 trường.
Tiếp theo sử dụng câu truy vấn union select 1,2,3,4,5,6, để tiện cho việc theo dõi, chỗ detail&id có thể sửa là detail&id=null.
Ở đây, cần lưu ý số 3, là giá trị đặc biệt. Số 6 nghĩa là có 6 trường trong cơ sở dữ liệu.
Sau đó tiến hành mò tên bảng chứa thông tin cần tìm bằng câu lệnh union select 1,2,3,4,5,6 from [tên bảng]. Ở đây sẽ mò bảng admin. Thường thì bảng này có tên là admin, administrator, tbl_admin,… sẽ có những từ khóa thông dụng để mò. Đối với trang web này, bảng cần tìm là tbl_admin
Hình 3.21. Sử dụng câu lệnh union select 1,2,3,4,5,6 from tbl_admin, trang web không hiển thị lỗi SQL chứng tỏ đã tìm ra đúng tên bảng.
Tiếp tục, tiến hành dò username từ table mới dò được. Những từ khóa thông dụng để tìm kiếm là: username, uname, name, user,… Đối với trang web này, từ khóa đúng là name. Và khai thác vào số 3 đặc biệt đã tìm được ở trên bằng câu lệnh union select 1,2,name,4,5,6 from tbl_admin
Hình 3.22. Sau khi sử dụng câu lệnh union select 1,2,name,4,5,6 from tbl_admin, thì tìm được user là admin
Tương tự với password, những từ khóa thông dụng là: password, pass, pword,… Đối với trang web này, từ khóa cần tìm là pass. Sử dụng câu lệnh union select 1,2, pass,4,5,6 from tbl_admin
Hình 3.23. Sau khi sử dụng câu lệnh union select 1,2,pass,4,5,6 from tbl_admin, thì tìm được password là qweqwe
Sau khi dò được username và password, để kiểm tra xem thông tin thu được có đúng không, vào trang đăng nhập admin để kiểm tra
Comment