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

web入门121-130

web121

分析代码
image
发现过滤了更多,用SHLVL也被禁用了,可以使用${##}或${#?}来代替
${PWD::${##}}???${PWD::${##}}?????${#RANDOM}${IFS}????.???
image
解码得到flag
image

web122

分析代码
image
PWD被禁了,发现HOME没有被禁,可以使用HOME

$? 表示上一条命令执行结束后的传回值。通常0表示执行成功,非0表示执行有误
有部分指令执行失败时会返回1,也有一些命令返回其他值,表示不同类型的错误
比如Command not found就会返回127
为了能让 $? 能够返回1,则需要让前一条命令是错误的,这个错误命令的返回值就是1
这里的话可以用 <A
<A 提示的错误是no such file or dictionary,它对应的error code 是2
但是$? 的结果是1

构造payloadcode=<A;${HOME::$?}???${HOME::$?}?????${RANDOM::$?} ????.???
image
解码的得到flag
image

web123

分析代码
image
要求CTF_SHOW和CTF_SHOW.COM存在,fl0g不存在
在php中变量名只有数字字母下划线,如果含有+、[、空格则会转化为_,所以说按理说是构造不出CTF_SHOW.COM,因为他里面有".",但是php还有一个特性就是如果传入[,它在转化为_后,后面的字符就不在转换,所以构造payload
CTF_SHOW=&CTF[SHOW.COM=1&fun= echo $flag
image

web124

分析代码
image
暂存

web125

分析代码
image
使用 highlight_file 高亮显示 flag.php

?1=flag.php
post:CTF_SHOW=&CTF[SHOW.COM=&fun=highlight_file($_GET[1])

image

web126

分析代码
image
借鉴大佬的payload,具体原理看https://jishuzhan.net/article/1777295240298762241

GET:?$fl0g=flag_give_me;
POST:CTF_SHOW=1&CTF[SHOW.COM=1&fun=eval($a[0])

image

web127

分析代码
image
需要ctf_show=ilove36d,但是_被禁用了,只能使用空格代替,其他转成_的符号都被禁用了
?ctf show=ilove36d
image

web128

分析代码
image
可以得知f1不能使用数字字母,

gettext():_()是gettext()的拓展函数 在开启相关设定后,_("666")等价于gettext("666"),且就返回其中的参数(因为过滤了字母所以我们就用下划线,让其输出)get_defined_vars:返回由所有已定义变量所组成的数组,因为包含了flag.php,所以flag.php里面肯定有$flag储存了flag。call_user_func 函数:用于调用指定的回调函数,并可以传递参数给该回调函数,第一个参数是被调用的回调函数,其余参数是回调函数的参数。这里还进行了嵌套:(1)内层 call_user_func($f1, $f2)首先调用 $f1 函数,并传递参数 $f2,结果是 $f1($f2) 的返回值。(2)外层 call_user_func(...)外层 call_user_func 接收内层调用的返回值作为它的第一个参数,要正确执行,内层返回值应该是一个函数名或可调用的回调,外层 call_user_func 将再次调用这个返回的回调函数,不传递任何额外的参数。最后,var_dump 将打印出外层 call_user_func 的返回值。新知识:gettext 函数php 扩展目录下如果有 php_gettext.dll,就可以用 _() 来代替 gettext() 函数,_() 就是 gettext() 的别名,常常被用来简化代码。gettext 函数用于在 PHP 应用程序中实现国际化(i18n)和本地化(l10n),说白了就是根据当前语言环境输出翻译后的字符串。

构造payload?f1=_&f2=get_defined_vars
image

web129

分析代码
image
f的输入要有ctfshow,并且不能在开头,使用伪协议绕过
?f=php://filter/ctfshow/resource=flag.php
image

web130

分析代码
image
使用数组绕过f[]=1
image

http://www.jsqmd.com/news/267110/

相关文章:

  • C++各数据类型的内存和范围
  • 基于ssm+vue的学习空间服务平台[ssm]-计算机毕业设计源码+LW文档
  • EVCC EEBus智能充电:解锁家庭能源管理新境界
  • 基于python的电子商务购物商城系统设计与实现 协同过滤算法 多商家 会员折扣 积分兑换
  • 基于ssm+vue的网上代驾调度平台[ssm]-计算机毕业设计源码+LW文档
  • TrollInstallerX终极安装手册:iOS 14-16系统免越狱应用部署实战指南
  • 如何让每次OBS直播都像电影大片:StreamFX特效插件5分钟上手指南
  • Frigate开源监控系统:智能家庭安防的终极指南
  • 【Linalg】ElementwiseOpFusion 中其他优化模式技术分析
  • 【2026】 LLM 大模型系统学习指南 (5)
  • 重塑音乐体验:探索新一代插件管理器的无限可能
  • 【2026】 LLM 大模型系统学习指南 (6)
  • 2026年十大灵活用工平台排行榜,品为灵工(品为企服)拔得头筹 - 华Sir1
  • 原圈科技领衔2026AI市场分析榜单,助您告别信息焦虑与无效获客
  • 全网首推!154 页 RAG 实战手册,从基础入门到独立搭建RAG,全程干货,无废话!
  • 2026年梳理系统门窗招商加盟,山西科典优势在哪 - 工业品牌热点
  • ESP-01系列
  • 2026年全国灵活用工十大平台综合盘点:合规、稳定与效能如何兼得 - 华Sir1
  • 2026年十大灵活用工平台推荐:强合规、高实用,助力企业高效用工 - 华Sir1
  • 【飞腾平台实时Linux方案系列】第十二篇 - 飞腾平台实时Linux低功耗优化实践。
  • 重构微型泵版图:2026高性价比替代进口微型磁力泵厂家推荐 - 品牌2026
  • 【飞腾平台实时Linux方案系列】第十三篇 - 飞腾平台实时Linux中断优化与硬实时保障。
  • RimSort:彻底解决RimWorld模组管理难题的终极工具
  • composer报错:安装依赖需要输入token的情况
  • 【飞腾平台实时Linux方案系列】第十四篇 - 飞腾平台实时Linux远程运维与监控方案。
  • 2026年高速制袋机定制厂家排名,瑞安市天晟包装机械有限公司名列前茅! - 工业品牌热点
  • 小米音乐Docker镜像技术指南:架构创新与智能音乐管理
  • 2026年灵活用工平台实力TOP10榜单:资质、规模与服务体系三大维度解析 - 华Sir1
  • 【飞腾平台实时Linux方案系列】第十五篇 - 飞腾平台轨道交通实时控制方案设计。
  • 2026年可靠的地质勘探钻机,油电双源全液压勘探钻机,勘探钻机厂家新品推荐榜 - 品牌鉴赏师