Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
22/10/2020 13:10 # 1
buiducduong
Cấp độ: 22 - Kỹ năng: 1

Kinh nghiệm: 7/220 (3%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 25/09/2020
Bài gởi: 2317
Được cảm ơn: 0
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.


Ở đâ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 ="

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 sysimport urllib và import urllib.request

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: “)

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. 22

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. 23Ok. 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.

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 AnonyViet. 

Thân ái !!




 
Copyright© Đại học Duy Tân 2010 - 2024