建议收藏:2023最新SQLMap进阶技术

本文详细介绍了SQLMap的高级参数,包括--level 5的探测等级、--is-dba权限检查、--roles角色查看、--referer HTTP头部注入等,并深入探讨了tamper绕过脚本的使用,如apostrophemask.py、base64encode.py等,以应对WAF等安全设备的检测。
摘要由CSDN通过智能技术生成

SQLMap进阶:参数讲解

(1)--level 5:探测等级。

参数“--level 5”指需要执行的测试等级,一共有5个等级(1~5级),可不加“level”,默认是1级。可以在xml/payloads.xml中看到SQLMap使用的Payload,也可以根据相应的格式添加自己的Payload,其中5级包含的Payload最多,会自动破解Cookie、XFF等头部注入。当然,5级的运行速度也比较慢。

这个参数会影响测试的注入点,GET和POST的数据都会进行测试,HTTP Cookie在等级为2时会进行测试,HTTP User-Agent/Referer头在等级为3时会进行测试。总之,在不确定哪个Payload或参数为注入点时,为了保证全面性,建议使用高的等级值。

(2)--is-dba:当前用户是否有管理权限。

该命令用于查看当前账户是否为数据库管理员账户,命令如下:

python sqlmap.py –u "http://10.211.55.6/Less-1/?id=1" --is-dba

在本例中输入该命令,会返回True,如图3-15所示。

图片

(3)--roles:查看数据库用户的角色。

该命令用于查看数据库用户的角色。如果当前用户有权限读取包含所有用户的表,则输入该命令会列举出每个用户的角色,也可以用参数“-U”指定查看某个用户的角色。该命令仅适用于当前数据库是Oracle时。在本例中输入该命令的结果如图3-16所示。

图片

 

(4)--referer:HTTP Referer头。

SQLMap可以在请求中伪造HTTP中的Referer,当参数“--level”设定为3或3以上时,会尝试对Referer注入。可以使用参数“--referer”伪造一个HTTP Referer头,如--referer http://10.211.55.6。

(5)--sql-shell:运行自定义SQL语句。

该命令用于执行指定的SQL语句,命令如下:

python sqlmap.py –u "http://10.211.55.6/Less-1/?id=1" --sql-shell

假设执行“select * from security.users limit 0,2”语句,结果如图3-17所示。

图片

(6)--os-cmd或--os-shell:运行任意操作系统命令。

当数据库为MySQL、PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数时,可以使用参数“--os-cmd”执行系统命令。如果数据库为MySQL或PostgreSQL,则SQLMap会上传一个二进制库,包含用户自定义的函数sys_exec()和sys_eval(),通过创建的这两个函数就可以执行系统命令。如果数据库为Microsoft SQL Server,则SQLMap将使用xp_cmdshell存储过程执行系统命令。如果xp_cmdshell被禁用(在Microsoft SQL Server 2005及以上版本中默认被禁用),则SQLMap会重新启用它;如果xp_cmdshell不存在,则SQLMap将创建它。

使用参数“--os-shell”可以模拟一个真实的Shell,与服务器进行交互。当不能执行多语句时(如PHP或ASP的后端数据库为MySQL),SQLMap可以通过SELECT语句中的INTO OUTFILE在Web服务器的可写目录中创建Web后门,从而执行命令。参数“--os-shell”支持ASP、ASP.NET、JSP和PHP四种语言。

(7)--file-read:从数据库服务器中读取执行文件。

该命令用于从数据库服务器中读取执行文件。当数据库为MySQL、PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数时,读取的文件可以是文本,也可以是二进制文件。下面以Microsoft SQL Server 2005为例,说明参数“--file-read”的用法,命令如下:

$ python sqlmap.py -u http://10.211.55.6/Less-1/?id=1 --file-read "/etc/passwd" -v 1[...][17:45:15] [INFO] the back-end DBMS is MySQLweb server operating system: Linux Ubuntuweb application technology: Apache 2.4.7, PHP 5.5.9back-end DBMS: MySQL >= 5.5[17:45:15]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值