橙子科技 rce靶场

  • 搭建靶场

前提条件:主机上已搭建好docker环境

docker pull mcc0624/cmd:latest

sudo docker run -p 18022:22 -p 18080:80 -p 18081:81 -p 18082:82 -p 18085:85 -i -t mcc0624/cmd:latest bash -c '/etc/rc.local; /bin/bash'

二、先了解一些用于命令执行的函数

1.System:2.Exec:3.Passthru:4.Shell_exec:5.``:6.Popen:7.Proc_open:8.Pcntl_exec:

0x01 常见命令执行危险函数

system函数:

其余命令在操作上和system使用方式大致相同但是其函数的具体使用方式还需要自己具体了解

Exec:的回显方式是数组

Popen:返回的是一个变量需要将变量打印出来才能看到结果

注:pcntl_exec函数需要linux 的插件需要在Linux先将插件进行配置

2.0x02 过滤命令执行函数

虽然过滤了部分函数但是可以使用passthru进行命令执行

3.0x02 过滤命令执行函数这是一个是(lixx_81文件下的)

修改配置文件进行命令拼接

LD_PRELOAD它可以影响程序的运行时的远程连接可以修改LD_PRELOAD文件来生成木马进行命令执行

根据提示将能用的代码都禁用了

进入题有一个后门可以用蚁剑中的插件进行一键getshell

因为这个靶场没有限制权限所以可以看到根目录下的文件但是如果使用命令查看却不行

但是在蚁剑中有一个可以直接绕过这个函数的插件

得到flag

3.0x03 命令连接符

命令拼接符有:; & && | ||

&&要求前面的命令执行成功

|将前面输出的内容作为后面函数的执行参数,前面和后面的参数都会执行但是只输出后面的函数

||和if函数相同如果前面函数执行成功则后面函数就不会执行

;前面函数不影响后面函数的执行情况

4.0x04 过滤空格

绕过方法

  1. 用大括号绕过如{cat,flag.php}
  2. $IFS和${IFS}以及$IFS$9来绕过
  3. 重定向字符绕过>,<>
  4. %09,%20绕过

5.0x05 文件名过滤

绕过方法:

  1. 通配符绕过?,*
  2. ‘’””绕过
  3. 反斜杠绕过
  4. 特殊变量$1到$9、$@和$*
  5. 内联执行
  6. 环境变量

6.0x06 文件读取命令过滤

可以从其他资料中了解命令过滤

grep:在文本中查找指定字符串

passthru("grep fla /fla*");

8.0x08 命令盲注

直接使用poc进行爆破

9.0x09 长度过滤

直接使用poc进行爆破

10.0x10 无参数命令执行

用getallheaders()注意此函数用于php7.+然后

Poc=?code=eval(pos(getallheaders()))

Getallheaders()会返回当前请求的数据可以通过修改请求包来进行命令执行

11.0x11 无字母数字

  1. 异或运算
  2. 自增运算
  3. 取反运算
### 关于重庆橙子科技 PHP5 的相关信息 #### PHP 反序列化漏洞利用机制 在PHP应用中,反序列化操作可能导致严重的安全风险。特别是在PHP5版本下,存在一些特定的方法可以在对象反序列化过程中被触发: - `__wakeup()` 方法会在执行`unserialize()`时触发[^1]。 - 当对象作为字符串处理时会自动调用`__toString()`方法;这通常发生在尝试打印对象或将其用于需要字符串上下文中,比如通过`echo $this->a`这样的语句。 - 如果对象像函数那样被调用,则会激活`__invoke()`方法,例如在一个表达式中有类似 `$a()`的形式出现时就会触发该魔术方法。 这些特性可以用来构建POP链(Property Oriented Programming Chain),即属性导向编程链条,在某些情况下允许攻击者控制程序流程并最终实现远程代码执行或其他恶意行为。 #### 靶场实践案例分析 对于想要深入了解如何利用上述特性的开发者来说,可以通过参与由重庆橙子科技提供的靶场环境来进行学习和实验。在这个环境中,参与者能够探索不同类型的Web应用程序缺陷,并掌握修复这些问题所需的知识和技术。 值得注意的是,在实际测试期间发现的一个有趣细节是:有时页面源码里隐藏着重要提示或是标志(flag),就像提到过的“falg={benben love dazhuang}”,虽然这里可能存在拼写错误(应该是flag而不是falg)[^2]。 ```php // 示例代码展示了一个简单的类定义以及其可能存在的危险之处 class Example { public function __wakeup() { // 这里的逻辑可能会被执行如果实例被反序列化 } public function __toString(){ // 此处的返回值会被当作字符串使用 return "example"; } public function __invoke($args){ // 对象如同函数般调用时的行为 } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值