Bảo Mật

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống.

Trong bài này, rathuuich sẽ giúp bạn kiểm tra xem trang web của bạn có bị tấn công bởi cú pháp sqli bằng python hay không nhé 🙂 …!!!

Và nó sẽ chỉ hoạt động nếu các biến sử dụng GET method.

Ở đây chúng ta sẽ viết 1 đoạn code bằng ngôn ngữ python.

Chúng ta sẽ cần kết nối internet để check và 1 vulnerable website.

Để tìm 1 trang vulnerable website để thử nghiệm thì các bạn vào google gõ dorks SQLi :

inurl: "index.php? Cat_id ="

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống. 11

Các bạn làm theo từng bước sau đây để viết 1 đoạn code python :

Đầu tiên mở notepad/sublime Text ,… tạo 1 file sau đó lưu lại : new.py

Chúng ta sẽ sử dụng sys, urllib urllib.request modules. Vì thế import những thư viện sau vào : import  sys, urllib, urllib.request hoặc import sys, import urllib và import urllib.request

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống. 12

Tiếp theo : Bây giờ chúng ta sẽ cần chọn kiểu đầu vào.

1. Sử dụng lệnh input(“”) để lấy dữ liệu nhập từ người dùng. 

fullurl = input(“Please specify the full vulnerable url: “)

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống. 13

 

2. Code tạo một yêu cầu web

Đây là phần quan trọng nhất.

resp = urllib.request.urlopen(fullurl + "=1' or '1' = '1'")
body = resp.read()
fullbody = body.decode(‘utf-8’)

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống. 14

Bây giờ làm cho chương trình của chúng ta kiểm tra xem liệu mục tiêu có dễ bị tổn thương hay không, một khi chúng ta có response thì chúng ta phải kiểm tra nếu nó có lỗi SQL.

Chúng ta sẽ sử dụng code này :

if “You have an error in your SQL syntax” in fullbody:

print (“The website is classic SQL injection vulnerable!”)

else:

print (“The website is not classic SQL injection vulnerable!”)

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống. 15Ok. Giờ chúng ta chạy lên thử nhé :

Sử dụng lệnh : python “name”.py

Sau đó nhập site bạn tìm được lúc đầu vào.

Hướng dẫn code kiểm tra lỗ hổng bảo mật Sql Injection với Python script và cách phòng chống. 16

Ok vậy là nó work rồi.

Cách 2 : Sử dụng cho nhanh thì dùng

  • python “name”.py -w website

Bây giờ để ngăn chặn Hacker check site mình bằng SQL injection thì mình làm như sau :

Ngăn chặn SQLi on MYSQL đơn giản chỉ cần sử dụng chuỗi mysql_real_escape cho các truy vấn, ví dụ như:

$query = sprintf(“SELECT * FROM users where user=’%s’ AND password=’%s’,

                        mysql_real_escape_string($username)

                        mysql_real_escape_string($password)

Chúc các bạn thành công và đồng hành cùng rathuuich. 

Thân ái !!

Đánh giá post

Rất Hữu ích

RatHuuIch là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. RatHuuIch cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Bài liên quan

Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
Check Also
Close
Back to top button