it-swarm-vi.com

Kiểm tra url sạch với sqlmap

Có thể kiểm tra các lỗ hổng SQL tiêm bằng cách sử dụng sqlmap với một url đang sử dụng mod viết lại (hoặc một cái gì đó giống như nó) để làm cho các url sạch không?

Tôi biết cách kiểm tra các trang web của mình có các url như: http://mysite.com/?id=1

Nhưng những gì về trang web của tôi có url sạch, như: http://mysite.com/1

19
chadgh

Bạn nên sử dụng * trong URI của bạn, tạo (các) điểm tiêm URI. Vì vậy, thay vì sử dụng:

sqlmap.py -u "website.com/script/paramrewrited1/paramrewrited2"

sử dụng:

sqlmap.py -u "website.com/script/paramrewrited1*/paramrewrited2*"

Xem sqlmap wiki để biết thêm tùy chọn sử dụng. Từ trang đó:

Điểm tiêm URI

Có những trường hợp đặc biệt khi điểm tiêm nằm trong chính URI. sqlmap không thực hiện bất kỳ kiểm tra tự động nào đối với các đường dẫn URI, trừ khi được trỏ thủ công. Bạn phải chỉ định các điểm tiêm này trong dòng lệnh bằng cách nối thêm dấu hoa thị (*) sau mỗi điểm URI mà bạn muốn sqlmap kiểm tra và khai thác SQL SQL.

Điều này đặc biệt hữu ích khi, ví dụ, mô đun mod_rewrite của máy chủ web Apache đang được sử dụng hoặc các công nghệ tương tự khác.

Một ví dụ về dòng lệnh hợp lệ sẽ là:

$ python sqlmap.py -u "http://targeturl/param1/value1*/param2/value2/"
24
dz.

Nếu tôi hiểu câu hỏi của bạn, tôi tin rằng sqlmap không được thiết kế để giải quyết tình huống này (nơi máy chủ web không tuân theo các tiêu chuẩn web về cách thể hiện các tham số yêu cầu). Vì vậy, tôi có thể nghĩ ra một vài lựa chọn:

  1. Tắt viết lại URL. Tắt tạm thời việc viết lại tham số yêu cầu trên máy chủ web của bạn (nếu có cách dễ dàng để làm điều đó), để cho phép bạn chạy sqlmap.

  2. Thử POST yêu cầu. Bạn đã cho chúng tôi thấy rằng máy chủ web của bạn mã hóa các tham số yêu cầu cho các yêu cầu GET theo cách không chuẩn. Làm thế nào để mã hóa các tham số yêu cầu cho POST yêu cầu? Nếu nó truyền tải máy chủ web mã hóa các tham số yêu cầu theo kiểu chuẩn hơn và nếu mọi yêu cầu có thể truy cập được thông qua cả GET và POST (cấu hình sai, nhưng phổ biến một), bạn có thể kiểm tra máy chủ của mình bằng cách gửi POST yêu cầu thay vì yêu cầu GET. Xem --data tùy chọn để sqlmap.

  3. Sử dụng một số công cụ khác. Hãy tìm một số công cụ khác, vì sqlmap dường như không được thiết kế cho trường hợp cụ thể này.

  4. Sửa đổi sqlmap. sqlmap là nguồn mở. Bạn có thể đi sâu vào mã nguồn và mở rộng nó để hỗ trợ cho trường hợp sử dụng mà bạn có trong đầu. (Bạn có thể muốn xem mã xử lý -p tùy chọn cho sqlmap.) Heck, nó là miễn phí; bạn phải hy vọng rằng nếu bạn có một tình huống bất thường, nó có thể chưa xử lý được và bạn có thể phải tự mình làm một chút công việc. Nếu bạn đi theo lộ trình này, hãy trả lại cho cộng đồng bằng cách tặng mã của bạn cho những người duy trì sqlmap.

3
D.W.