1.首先我们要拥有python2的环境,sqlmap.py目前不支持python3
2.下载sqlmap的jar插件
3.设置对应的环境变量
4.看是否安装成功
5.打开burpsuit
Extender > option >Java Environment >Select folder(安装java的lib地址,如下图)
Extender > Extensions> Add > jar > Sqlmap.jar
问题:
我自己电脑里有pycharm,不知道为什么用之前的办法从burpsuit sent to sqlmap时总会调用pycharm,我猜想是不是默认方式不对(因为py文件可能默认会用pycharm打开)
我原本想说要不就把sqlmap.py选择默认用cmd打开,但是系统说不可以,emmmmmm
又一想它是说py文件不能用cmd(可能是文件类型不匹配)
那我要是用命令行的话是不是可不可以用python的命令行exe
就找到sqlmap.py,右键属性,更改默认打开方式,找到之前添加到环境变量里的那个python2.exe
在burpsuit中·抓包后 sent to sqlmap ,成功调用命令行
这里也可以用co2的方法:https://blog.csdn.net/cjx529377/article/details/81490750
相当于是页面形式,将sql语句写在相应的位置进行操作
————————————————————————————————————————————————————————————————
这里在找自己的问题时发现了别人的问题,也一起分享给大家
sqlmap 加入环境变量中后,cmd 下 sqlmap.py 是可以正常运行的,burp send to sqlmap 就不行了,会提示没有找到这个命令不是内部程序。
解决办法是把系统中的 python 环境变量和 sqlmap 环境变量同样在 administrator 中设置一份,如下图:
设置往后重启生效。为什么系统环境变量没有生效而 administrator 生效了,可以理解成 burp 调用 sqlmap 和 python 时,用的是当前用户 administrator 的环境变量而不是系统的。
再说一下 sqlmap 插件之前说到的那个框,你会发现 sqlmap 插件执行的是一个基本的命令只有一个 - r 参数,如果有特殊需求怎么办,例如 - level 5,这时候打开这个框输入 - level 5 然后保存就可以了,再次运行插件的时候这个参数就会加上,如下图:
最后,再说一下注入复测时的问题,当一个注入点被测出来后,开发去修改,改好后再复测依然存在,可是开发修了,参数化查询了,特殊符号也过滤了,那么可能就是缓存的问题,怎么判断?
没有扫描过程,直接输出注入点 payload 就是缓存,sqlmap 扫描时会先去自己的扫描记录里过一遍,有记录的话就会直接出记录的结果,这个目录在 C:UsersAdministrator.sqlmapoutput 中,里面都是以文件夹方式存放的之前的扫描项目,删除即可。或者用参数 --purge-output,清除所有的记录。
原文地址:https://www.cnblogs.com/my-mind/p/10575318.html