SQLMAP

GET型注入

POST注入

抓取POST数据包

Cookie型

指定网址

指定cookie

指定命令

指定等级为2级

level的讲解

cookie在2级的时候可以检测

HTTP user-Agent/Referer 在3级的时候可以检测

--os-shell

1.语言版本

2.网站绝对路径

3.MYsql版本低==secure_file_priv为空(为NULL则不能写)

image-20220103181207347

image-20220103181131722

(结果最后还是用的windows服务器... Linux不太行)

image-20220103195104113

过程:

发现--os-shell 成功以后出现两个新增的文件:

image-20220103195753631

1.利用 into outfile 写入PHP文件,该PHP文件的作用是可以上传文件:

image-20220103195402535

image-20220103195347590

之后通过该PHP文件上传了第二个文件:

也可以看出来限制很多:

(1)网站必须是root权限

(2)攻击者需要知道网站的绝对路径

(3)GPC为off,php主动转义的功能关闭

不如直接写入一个webshell:

例如beescms:

会生成一个shell.php 密码为 cmd

其他项

缓存问题

看fetch ....里会得知自己的缓存文件位置

rm -rf +url 删除缓存文件

6.2 -v

delay

--delay 1.5 延迟1.5秒

避免错误请求过多而被屏蔽

有时服务器检测到某个客户端错误请求过多会对其进行屏蔽,而Sqlmap的测试往往会产生大量错误请求,为避免被屏蔽,可以时不时的产生几个正常请求以迷惑服务器。有以下四个参数与这一机制有关:

这里所谓的安全URL是指访问会返回200、没有任何报错的URL。相应地,Sqlmap也不会对安全URL进行任何注入测试。

标记注入点

风险等级

此参数用于指定风险等级,有1~4共4级。默认风险等级为1,此等级在大多数情况下对测试目标无害。

风险等级2添加了基于时间的注入测试,等级3添加了OR测试。

若注入点是在UPDATE语句中,使用OR测试可能会修改整个表的数据,这显然不是攻击者想要看到的。

因此用户需要能控制风险等级避开有潜在风险的payload。