web安全学习(5)SQL注入中sqlmap的使用
数据库在做web题时经常会遇到,一般数据库也有比较明显的特征,就是有很多数据
很多人做sql注入的时候会手工尝试进行注入
但是那个我还没学会,所以这里先介绍用SQL注入神器sqlmap来注入
(好像有些用词错误,毕竟是自学难免有错,但是写的内容都是我自己也这样理解的)
sqlmap的准备
sqlmap下载:https://github.com/sqlmapproject/sqlmap
要用到python 2和3都行
然后可以将sqlmap放入python的文件夹里
在桌面创建快捷方式
然后将起始位置改为刚才放置sqlmap的路径
将目标改为cmd的路径
像这样
当然因为我用的是cmder
其实都一个意思,最终目的就是在桌面用快捷方式打开sqlmap位置的cmd窗口来方便使用
sqlmap使用
如果觉得题里有注入点就把url粘一下
然后打开刚才那个快捷方式或者在sqlmap的文件夹里打开cmd
然后键入python sqlmap.py -u url
然后sqlmap就会跑起来,检测是否有注入点
像这样
当然这样是不行的,最后会报错
你需要一个id来帮助它注入
像这样
这样最后就可以检测成功
然后就可以进行注入
先在后面加 --dbs 来爆数据库
也就是python sqlmap.py -u url --dbs
得到数据库名称后 再加上 -D “数据库名称” --tables 爆破指定数据库的表
也就是python sqlmap.py -u url --dbs -D “数据库名称” --tables
得到数据库表名称后 再加上 -T “表名” --col 爆破指定表的列名
得到列名后 再加上 -C “列名” --dump 爆破指定列里的全部数据
这样就可以完成了数据库的注入
最后结果就像这样
最后得到具体数据
更难些的注入
有时候尽管加了?id还是无法注入 并且报错里会有让用户尝试 --level 和 --risk 的提示
这时候我们就可以这样注入
python sqlmap.py -u url --level=3 --risk=3
其他步骤都和上面一样
level最多可以到5 risk最多到3
但是一般两个都是3就够用
当id不管用时
有时候我们直接在url后面加?id=x不管用
这时候我们可以利用burp抓包
随便输入一些东西然后抓包
然后将抓包的内容放在本地的txt里
然后我们这样注入
python sqlmap.py -r txt路径
其他就和上面一样了