IIS PUT漏洞复现

  • A+
所属分类:安全文章

IIS PUT漏洞复现

漏洞原理

WebDAV(Web-based Distributed Authoring and Versioning) 是一种HTTP1.1的扩展协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。这样就可以像操作本地文件夹一样操作服务器上的文件夹。当然该扩展也存在缺陷,可以被恶意攻击者利用,直接上传恶意文件。

这个漏洞虽然属于比较久远,现在估计也不存在了。但是作为学习安全来说,熟悉一下总是应该的。(才不是因为今天本来打算发的文章因为涉密不让发才临时整的一个)

漏洞复现

靶机环境:windows server2003 192.168.1.102

首先在靶机开启的IIS服务器上将web服务扩展中的webDAV打开

IIS PUT漏洞复现

然后在目标网站的属性中勾选“写入”权限。

IIS PUT漏洞复现

完成之后用工具先验证一下服务器当前是否允许PUT方法

IIS PUT漏洞复现

可以看到PUT方法已经被允许了。然后将webDAV关闭来对比一下

IIS PUT漏洞复现

IIS PUT漏洞复现

通过对比可以发现,webDAV就是导致IIS PUT漏洞的罪魁祸首。

既然目标服务器允许PUT方法,那么就用工具来进一步利用。这里用到的是桂林老兵写的iiswriter。

先通过options方法探查一下服务器支持哪些http方法

IIS PUT漏洞复现

可以看到此时PUT方法也赫然在列。接下来就先用PUT方法上传一个txt文件看看效果

IIS PUT漏洞复现

居然出错了,结合报错信息来看的话应该是哪里的权限有问题。倒腾了一下发现结果是目标网站没有给IIS的访问账户给予写入权限。那么直接给个修改权限吧。

IIS PUT漏洞复现

权限也有了,那么再来试试PUT一个文件

IIS PUT漏洞复现

可以看到这里已经成功通过PUT方法上传了一个含有asp一句话的txt文件。之所以不直接上传一个asp一句话是因为通常上传txt文本不会出错,但是上传asp就会报错。

在靶机的目标网站下找到了刚刚上传的test.txt文件

IIS PUT漏洞复现

为了曲线救国获取shell,这里可以用MOVE方法将刚刚上传的txt文件修改为asp文件,从而将文本文件变成可执行的脚本文件。MOVE协议不会更改文件内容。

IIS PUT漏洞复现

通过响应可以知道已经成功了,那么最后就用菜刀连接测试一下

IIS PUT漏洞复现

IIS PUT漏洞复现

修复建议

通过整个漏洞复现过程我们也可以知道这个IIS PUT漏洞完全是因为管理员的一些不当配置导致的,所以想要修复只需要做到以下两点即可

1.关闭WebDAV2.关闭写入权限


发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: