不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途!

不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
【不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令】 
前面讲过sqlmap入门参数,这里主要讲解sqlmap的进阶参数 。
--level 5:探测等级这个参数指需要执行的测试等级,一共有5个等级;默认情况下,不加level,就是进行最低的1级探测 。
Sqlmap在探测的时候会添加自己内置的payload,不同的等级添加的payload附加就不一样 。其中5级是使用全方位的payload进行探测,会自动破解出cookie、XFF等头部注入 。当然万事有两面,这样会导致扫描破解非常慢 。
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
这个参数还会影响测试的注入点,GET和POST的数据都会进行测试,HTTP cookie在level为2时就会测试,HTTP User-Agent/Referer头在level为3时就会测试 。总之,不确定如何测试时,为了保证全面性,建议使用最高的level值 --level 5进行测试 。
--is-dba:当前用户是否为管理员权限该命令用于查询当前用户是否为数据库的管理员 。返回True就是,否则就不是:
sqlmap -u http://192.168.31.16/sql/Less-2/?id=1 --is-dba
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
--referer:HTTP Referer头HTTP Referer是请求头的一部分,当浏览器向web发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理 。
SQLMap可以在请求中伪装HTTP中的referer 。当--level设置成3或3以上时,会尝试对referer注入 。可以使用referer命令来欺骗,如--referer 这里就相当于假装从百度页面开始进行sql扫描,形成一个欺骗,而不是从自己电脑发起扫描 。
sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --referer
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
--sql-shell:运行自定义SQL语句该命令用于执行指定的SQL语句,相当于返回一个sql环境下的命令窗口!
sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --sql-shell
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
这个就是在sql-shell>下可以执行sql查询语句的命令行形式 。
比如:select * from users,由于我们访问的是sql目录,对应的数据库就是我们之前创建的sql注入环境的数据库security 。所以例举当前数据库security中的表users下所有的内容(其实就是用户和密码) 。
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
比如:select version(),就能在sql的命令行中查询对方数据库的版本 。
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
--roles:列出数据库管理员角色该命令查看数据库用户的角色(管理员能够执行的数据库操作行为) 。如果当前用户具有权限读取包含所有用户的表,输入该命令会列举每个用户的角色,也可以用-U参数指定想看哪个用户的角色 。
sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --roles
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
--os-cmd,--os-shell:运行任意操作系统命令该命令用于执行任意操作系统命令:
sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --os-shell
特别注意:使用该命令有几个必须具备的条件:
1、数据库用户权限是dba权限;
可以创建、删除数据库的最高用户权限(--is-dba参数查询为True)
2、知道网站的绝对路径;
就是要知道对方web服务器具体在哪个盘,什么文件夹下 。
比如:xampp web服务器脚本运行环境默认路径是C:/xampp/htdocs/, 比如wamp web服务器脚本运行环境默认路径是C:/wamp/www/, 还有lnetpub服务器脚本运行环境默认路径是C:/Inetpub/wwwroot/ 。
3、php当中的gpc为off,php自动转义为关闭状态
4、就算具备以上条件,由于是涉及到系统命令,也未必可以执行成功 。
比如我们使用:sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --os-shell
首先会提示web应用支持什么语言,我们选择4 php 。
我们win7靶机中的wamp有php环境 。
不可不知的sql扫描、注入利器sqlmap——实战演示sqlmap进阶命令

文章插图
 
然后提示我们选择目标web服务器的默认绝对路径!


推荐阅读