实战攻防-艰难打点之bypass绕过文件上传

admin 2024年2月28日12:50:13评论13 views字数 1905阅读6分21秒阅读模式
前言

某次打点过程中,艰难的绕过某次上传

不是星标不推送文章了。

师傅也不想吧~

快把极梦C设置成星标吧。

前言
目标存在注册功能,注册账号后发现普通用户,后台存在文件上传功能.
网站架构为apache+php,操作系统为window server
尝试上传
f12全局搜索png看了下没有前端效验的js的代码,是服务端效验。

实战攻防-艰难打点之bypass绕过文件上传

首先上传正常jpg图片观察一下

实战攻防-艰难打点之bypass绕过文件上传

右键新链接打开

实战攻防-艰难打点之bypass绕过文件上传

有暴露上传路径。然后看一下正常phpinfo.php上传是个什么情况

实战攻防-艰难打点之bypass绕过文件上传

0x01判断黑白名单及校验字段
将png格式文件后缀更改为phpabcde

实战攻防-艰难打点之bypass绕过文件上传

实战攻防-艰难打点之bypass绕过文件上传

还是可以正常显示,那应该是黑名单,并且后缀错误也能正常显示,那么可能文件头也进行了校验。 接下来试一下正常的php文件改后缀看一下是否能上传成功:

实战攻防-艰难打点之bypass绕过文件上传

实战攻防-艰难打点之bypass绕过文件上传

证明校验了文件头。 继续测一下在文件头是png情况下测试php文件是否能上传:

实战攻防-艰难打点之bypass绕过文件上传

显示也是只能上传图片文件,证明也后缀名也进行了校验

实战攻防-艰难打点之bypass绕过文件上传

通过上面php和png文件的文件头和文件后缀两两组合发包测试
可以判断出是文件名后缀黑名单+文件 头的校验方式。
那么绕过思路如下: 
利用制作图片马的方式在图片中插入php代码绕过文件头效验,同时在寻找在黑名单之外的后缀名看是
否能解析成php,如果实在没有那就只能再挖个文件包含漏洞包含图片马了。
0x02黑名单绕过
制作图片马:
copy small.jpg /b +phpinfo.php /a phpinfo.jpg 
这里提醒一下,这里的jpg越小越好,
不然有时候在解析php代码时,图片有一些脏字符会导致php代码
解析失败。 这里我随便截了一个很小的图进行图片马制作,大小只有700字节

实战攻防-艰难打点之bypass绕过文件上传

在本地测试,后缀改为php可以解析:

实战攻防-艰难打点之bypass绕过文件上传

先把常用的黑名单绕过方式拉出来:
1.大小写 ----->.Php等,上传失败
2.前后加空格,后面加点-----> 空格.php、.php空格 、.php.,上传失败
3.代替扩展名-----> .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .shtml, .htaccess, .phar。
测到phps的时候有变化,可以上传,但解析如下:

实战攻防-艰难打点之bypass绕过文件上传

实战攻防-艰难打点之bypass绕过文件上传

没有解析成功。
成功
常规的后缀名都尝试了,没有成功解析.抓耳挠腮的时候,突然想起来目标是windows.可以尝试使用windows特性来尝试绕过.
给的靶标已经被打过很多次,常见的漏洞已经没有了,

实战攻防-艰难打点之bypass绕过文件上传

实战攻防-艰难打点之bypass绕过文件上传

成功解析,不过无法执行命令,又进行新的尝试.
0x03绕过defender进程链查杀webshell
目标为window server2016,大概率是有defender的,defender会对webshell的进程链进行检查, webshell在windows下一般是在w3wp.exe下起的,属于灰进程,在灰进程下webshell执行cmd命令可 能会被杀,例如蚁剑的混淆过的一句话木马,静态就算过了但是执行命令时会被查杀:

实战攻防-艰难打点之bypass绕过文件上传

实战攻防-艰难打点之bypass绕过文件上传

准备一个冰蝎的免杀马子,在本地VMware的window server 2016环境下测试下测试通过之后静态动态 测试免杀测试后(这里有坑,后续再说),制作成图片马上传至目标:

实战攻防-艰难打点之bypass绕过文件上传

连接上之后发现文件上传下载删除可用,但是命令执行无回显。

实战攻防-艰难打点之bypass绕过文件上传

猜测1.权限不够,默认cmd没有拉起来
尝试自己上传cmd.exe用自己的exe执行,依然不行

实战攻防-艰难打点之bypass绕过文件上传

猜测2.函数被禁用
看了下phpinfo的disable_fuction,没有被禁用。

实战攻防-艰难打点之bypass绕过文件上传

猜测3.webshell工具问题
换了个哥斯拉的免杀马,一样只能文件上传下载,不可以命令执行。

实战攻防-艰难打点之bypass绕过文件上传

猜测4.更换系统函数
利用哥斯拉的php代码执行模块,把php常用的命令执行函数都试一遍,还是没有回显。

实战攻防-艰难打点之bypass绕过文件上传

进程链查杀绕过
由于之前本地测试环境冰蝎和哥斯拉的马执行命令都没问题,所以没往这方面想,但是上面的测试特征
都说明很可能是webshell工具进程链被杀了。
尝试使用大马在web层面执行命令:

实战攻防-艰难打点之bypass绕过文件上传

执行tasklist成功。 这里也有坑,要通过webshell管理工具直接上传大马,而不是从上传点制作图片马上传大马,后者执行命令会失败,原因未知,可能跟图片马解析有关系。
查询杀软

实战攻防-艰难打点之bypass绕过文件上传

到这里就已经算getshell成功了,之后上传cs免杀马再通过大马执行上线CS即可,整个过程还是比较坎 坷的

1.测试了不同的免杀马.

2.测试不同的改特征的webshell工具.

3.测试了白进程.

最后只有大马才可以.

原文始发于微信公众号(极梦C):实战攻防-艰难打点之bypass绕过文件上传

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月28日12:50:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战攻防-艰难打点之bypass绕过文件上传http://cn-sec.com/archives/2533091.html

发表评论

匿名网友 填写信息