php upload ctf,强网杯CTF防御赛ez_upload Writeup

这是强网杯拟态防御线下赛遇到的web题目,本来是不打算分享Writeup的,但是由于问的人很多,于是这里分享给大家。

0fcda4367f11d485deaad2187058683d.gif

ez_upload这题算是非常经典的堆叠black trick的题目,算是比较典型的ctf式题目(虽然现在大家都很抵制这样的题目),这里主要是分享Writeup以及我们队在完成题目时的思考流程。

ez_upload 思考流程

最开始我先描述一下题目逻辑。

1、login.php,登陆页面,只获取了username,没有任何限制,username会在转义后进入session。

2、index.php,页面输出了username,ip(可以被xff覆盖),以及上传文件列表(不完整,只有10位)。

3、upload.php,上传文件,要求必须上传php,但是又过滤很多,没办法绕过限制。

在拿到题目后,我们可以得到以下信息:

1、登陆无任何限制,只输入用户名,但单引号、双引号、反斜杠会被转义。aaa' => aaa\'

1)hint提到数据库中username的长度为25

2、登陆后,index.php获取ip,这个ip可以被xff覆盖,而且是每次都会获取。

1)xff受到waf限制,形似。

$ip = get_ip_from_xff();

echo $ip;

waf($ip);

但这里只拦截包括单引号、反斜杠

3、上传文件,要求必须上传php,但会被waf拦截。

1)代码形似:

waf($_FILES);

所以和ip那里触发不一致

2)看上去对php的验证在前,在最早的测试中,只有在触发waf的情况下才能被认为是php(猜测)

\n.....

这里的判断看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值