sqlmap的一些小技巧
2015-06-13 13:16
323 查看
前言
很多人都使用sqlmap来进行SQL注入测试,但是很多人只是简简单单的current-user,
current-db,
-D,
-T,
--dump这样子来做,其实sqlmap还有很多很强大的功能,这里简单的总结下。
POST注入
有两种方法来进行post注入,一种是使用--data参数,将post的key和value用类似GET方式来提交。二是使用
-r参数,sqlmap读取用户抓到的POST请求包,来进行POST注入检测。
查看payload
之前一直是加本地代理,然后用burpsuit来看sqlmap的payload,到现在才发现用-v参数就可以实现。一直认为
-v实现的只是控制警告,debug信息级别。实际上使用
-v 3就可以显示注入的payload,4,5,6还可以显示HTTP请求,HTTP响应头和页面。
使用google搜索
sqlmap可以测试google搜索结果中的sql注入,很强大的功能吧。使用方法是参数-g。不过感觉实际使用中这个用的还是很少的。
请求延时
在注入过程中请求太频繁的话可能会被防火墙拦截,这时候--delay参数就起作用了。可以设定两次HTTP请求间的延时。有的web程序会在多次错误访问后屏蔽所有请求,这样就导致之后所有的测试无法进行,绕过这个策略可以使用
--safe-url,每隔一段时间去访问一个正常的页面。
伪静态页面
有些web服务器进行了url rewrite或者网站是伪静态的,无法直接提供测试参数,这样子可以使用*来代替要测试的参数。
执行系统命令
当数据库支持,并且当前用户有权限的时候,可以执行系统命令,使用--os-cmd或者
--os-shell, 具体的讲,当可以执行多语句的时候,会尝试用UDF(MySQL,PostgrepSQL)或者xp_cmdshell(MSSQL)来执行系统命令。不 能执行多语句时,仍然会尝试创建一个webshell来执行语句,这时候就需要web的绝对路径了。总体来说,成功率偏低,不过个人也有成功的经验~
测试等级
sqlmap使用--level参数来进行不同全面性的测试,默认为1,不同的参数影响了使用哪些payload,2时会进行cookie注入检测,3时会进行
useragent检测。
参考
https://github.com/sqlmapproject/sqlmap/wiki/Usage相关文章推荐
- mysql错误Table ‘./mysql/proc’ is marked as crashed and should be repaired
- CodeSmith连接Access,Sql,Oracle,mysql
- SQL生成拼音首码
- SQL生成拼音首码
- Mac下通过brew安装postgresql
- SQL server 2000 Agent 不能随系统 自动启动
- 16.2 添加节点和数据库
- 高性能MySQL中的三星索引
- 数据库中写聚合函数
- sql server常用
- 【m从翻译os文章】写日志禁令Sqlnet.log和Listener.log
- memcached 之 哈希一致性 和 虚拟节点 分析
- Linux下安装Memcached图解教程
- mysql win源码比较大 不需要的文件删除 记录下来
- Redis 起步
- postgresql安装配置
- mha+mysql自动切换
- MySQL常用
- C# / MSSQL / WinForm / ASP.NET - SQLHelper中返回SqlDataReader数据
- 数据库top和distinct的用法