当前位置: 首页 > news >正文

RCE随笔-奇技淫巧(2)

Linux命令长度限制在7个字符的情况下,如何拿到shell 

<?php
$param = $_REQUEST['param'];
If ( strlen($param) < 8 ) { echo shell_exec($param);
}

 分析代码:

这段代码传入参数param然后进入if语句判断是否小于8个字符,然后如果小于就会进入echo语句执行系统函数shell_exec执行输入的参数param。

.加空格可以执行函数

 那么我可以不可上传一个文件然后在.加空格执行它呢?

说干就干,

当我们上传一个文件的时候这个文件无论上传成功都会在tmp临时文件目录下生成文件,那我们上传一个带有恶意执行语句的代码。

上面这个phpXtjWyo就是上传文件时生成的临时文件,我们需要给他包含执行起来就ok

 我们通过抓包的方式先抓一个上传param值的包,再抓一个文件上传的包然后给他们组合一下

上传param的包

上传文件的包

将他们这样组合其中要看的是Content-Type的值要与下面

------geckoformboundary5c61f8803035a54aa08abfb9e1039af8

 

换行符也是不能错的不然上传会不成功。 

最后上传成功,这个文件的上传成功也证明了我们可以上传任何东西。

如何编写一个不使用数字和字母的webshell

<?php
if(!preg_match('/[a-z0-9]/is',$_GET['shell'])) {eval($_GET['shell']);
}

他的闲置就是不允许是字母和数字那我可不可以用上面的方法来解决它呢?上面对临时文件匹配的格式是

. /t*/*

因为这次不允许输入字母和数字,那么就不能输入t那么我可不可以这样匹配呢?

. /*/*显然是不可以的

 

太多了那还有没有其他的匹配呢?

有的有的兄弟

?: 匹配0次或1次 

那我们的php临时文件的格式是phpXtjWyo

那么我们就可以是

/tmp/phpXtjWyo

/???/?????????

是不是就匹配上了呢?

 还是有这么多>_<

那么上传的这个文件是不是还有上面特点呢,来减少这些匹配的项。

有的有的兄弟

这个临时文件最后以为有可能是大写所以我们可以将最后一个的匹配改为大写的匹配但是又不能用字母所以

是不是可以这样匹配呢?

/???/????????[@~[]

 ok啊也是匹配上了

但是传入的时候报错了我们搜索一下

传入的参数如果是code的时候需要被执行的字符串,然后传入的时候必须先结束php模式通过

?>来结束然后才可以传入新的参数,传入的时候要echo传入,但是在这里不能用字母,所以只有

用<?=,它和短标签的效果是一样的所以可以用<?=`. /???/???????[@-[]?`;?>。应该就可以传入了

ok了 

http://www.dtcms.com/a/294917.html

相关文章:

  • Android热修复实现方案深度分析
  • AI面试如何提升物流行业招聘效率?实战案例解析
  • ESP32-S3学习笔记<5>:SPI的应用
  • JDK 介绍与使用指南
  • CMake进阶:检查头文件存在性(check_include_file 和 check_include_fileCXX)
  • uniapp拦截返回事件
  • 应该切换到 NVMe 吗?
  • 学习 Pandas 库:Series 与 DataFrame 核心操作指南
  • c语言:预处理详解
  • CRMEB 单商户PRO多商户通用去版权教程
  • 二叉树解析
  • 51c大模型~合集158
  • RockyLinux 9.6 解决删除home后无法开机问题
  • 视觉BPE统一多模态理解-北大
  • Python+大模型 day03
  • 面试实战,问题四,介绍一下dubbo框架,如何回答
  • 河南萌新联赛2025第二场-河南农业大学
  • 解决uniapp 使用uview生成小程序包太大无法上传的问题
  • 亚马逊广告优化技巧:如何减少预算浪费
  • Tang Prime 20K板I2S输入输出例程
  • lumerical——光纤布拉格光栅(Fiber Bragg gratings)
  • AI驱动攻防升级,API安全走到关键档口
  • MyBatis整合SpringBoot终极指南
  • 设备维修记录可追溯:管理系统选型指南
  • ESP32-S3 小电视学习笔记2:Arduino开发环境搭建(垃圾)
  • PyTorch深度学习入门记录2
  • sql注入171到185
  • 使用Qemu模拟Arm处理器,运行Linux系统
  • 做了个震动APP
  • 学生信息管理系统 - HTML实现增删改查