order by 判断字段数或者通过union select 1,2,3.。。。。。来判断字段数和输出位置
猜解长度 之后逐个通过ascii猜解通过返回不同的结果来判断
猜解长度 之后逐个通过ascii猜解通过返回不同的时间来判断
这种情况下的 limit 后面可以使用union进行联合查询注入
可以通过插入数据得到回显进行注入,也可以通过结合报错注入进行注入
##注,上面方法在高版本mysql下不一定生效
在一些情况下,数据库使用了gbk编码,导致我们可以绕过addslashes函数
当后台对我们插入的数据进行了转义,但是对从数据库查询出的数据直接放到了sql语句中进行执行,可能会造成二次注入
我们注册用户名为123’ 经过addslashes的转义变成123\‘ 存储在数据库中的还是123’ 当后端在用我们用户名查询的时候就会得到select * from xxx where id=‘12‘’ 从而造成二次注入
在使用sqlmap可以使用osshell参数来实现系统命令,在mysq下我们要知道网站的绝对目录,并且对网站目录有写入权限,因为在php与mysql的环境下,osshell是通过产生一个php文件在网站根目录下来执行命令,所以以上条件吧不可缺少
secure-file-priv是一个系统变量,对于文件读/写功能进行限制。具体如下:
为NULL,表示禁止文件读/写。
为目录名,表示仅允许对特定目录的文件进行读/写。
注:5.5.53本身及之后的版本默认值为NULL,之前的版本无内容。
Mysql读取文件通常使用load_file函数,语法如下:
都需要知道要读取的文件所在的绝对路径。
通过设置mysql日志目录
set 命令在sql注入中需要在堆叠注入中使用,在查询注入中不可用
这个在mysql客户端可以直接使用,但是在使用php进行数据库连接时,除了要连接数据库并且需要执行查询操作,在php7.3.4下复现失败,php5.4下复现成功
-l
后接一个log文件,可以是burp等的代理的log文件
-m
后接一个txt文件,文件中是多个url,sqlmap会自动化的检测其中的所有url
-r
可以将一个post请求方式的数据包保存在一个txt中,sqlmap会通过post方式检测目标
–string=STRING` 在基于布尔的注入时,有的时候返回的页面一次一个样,需要我们自己判断出标志着返回正确页面的标志,会根据页面的返回内容这个标志(字符串)判断真假,可以使用这个参数来制定看见什么字符串就是真。。
--technique=TECH
指定所使用的技术(B:布尔盲注;E:报错注入;U:联合查询注入;S:文件系统,操作系统,注册表相关注入;T:时间盲注; 默认全部使用)
–time-sec=TIMESEC` 在基于时间的盲注的时候,指定判断的时间,单位秒,默认5秒。
–users 查询一共都有哪些用户
--dbs
目标服务器中有什么数据库
–dump 这个就不解释了
--os-shell
创建一个对方操作系统的shell,远程执行系统命令。
UDF(user defined function)用户自定义函数,是mysql的一个拓展接口。用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sql语句中调用,就像调用本机函数一样。
在提权中我们只能使用dll文件中存在的函数
聚合全网技术文章,根据你的阅读喜好进行个性推荐
深圳市奥思网络科技有限公司版权所有
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。