攻防世界Web高手进阶区WP(5、6)

18 篇文章 0 订阅

目录

ics-06

在这里插入图片描述
打开题目环境,根据题目描述,关注点锁定在报表中心(其他地方点了也没有内容)
在这里插入图片描述
进入报表中心
在这里插入图片描述
发现url中有id=1,第一时间想到sql注入,但尝试了单引号,双引号等多种方式都没报错,暂时排除sql注入。

然后发现id的值只要是数字,就返回一样的页面,说明这个页面真实存在(id的参数为字母或其他特殊字符时会跳转到id=1的页面)
在这里插入图片描述
那就有可能存在某个id的值,返回的页面和这个页面不同
用burp进行爆破

设置变量
在这里插入图片描述
设置爆破的数字字典
在这里插入图片描述
跑出来id=2333时返回页面不一样
在这里插入图片描述
访问id=2333的页面,得到flag

cyberpeace{68261900ad39ca03319baeaa4a6eba7c}

warmup

在这里插入图片描述
打开环境,是个大滑稽
在这里插入图片描述
第一反应可能是查看源码,发现被注释的一个php文件
在这里插入图片描述
访问这个php文件,出现了php代码,看来又是一道php代码审计的题
在这里插入图片描述
看代码,首先注意到另一个php文件
在这里插入图片描述
访问一下,看起来是一个提示,告诉我们flag在哪
在这里插入图片描述
再回来分析PHP代码,先看最下面一段
在这里插入图片描述
如果满足下面三个条件,就可以执行我们传入的 file 文件,我们已经知道要传入什么了,当然是要传入提示中的ffffllllaaaagggg

条件一:! empty($_REQUEST[‘file’] 传入参数是否为空
在这里插入图片描述

条件二:is_string($_REQUEST[‘file’]) 传入的参数是否是字符串
在这里插入图片描述

条件三:emmm::checkFile($_REQUEST[‘file’]) 是否符合自定义函数checkFile,这个自定义函数就是上面的一大段代码
在这里插入图片描述
以上三个条件中,前两个条件已经符合了,所以我们直接来看第三个条件,去看这个自定义函数都需要满足哪些条件

先看第一段
在这里插入图片描述
第一行:设置了个白名单,只包含了source.php 和 hint.php
第一个if:如果传入的值为空或者不是字符串,输出:you can’t see it
第二个if:检查传入的page是否在白名单中,是的话返回true

然后是第二段
在这里插入图片描述
首先看一下mb_substr()函数的作用
在这里插入图片描述

在这里插入图片描述
因为要截取?之前的内容,那么除了传参所需要的?之外,我们还要构造一个?用来符合截取的if判断。那么假如我们构建的pyload是
ip/?file=source.php?ffffllllaaaagggg
那么这段的作用就是将source.php?ffffllllaaaagggg中?之前的内容取出来,并赋值给$_page,然后判断$_page是否在白名单中

第三部分
在这里插入图片描述
在这里插入图片描述
除了多了一个url编码,其他的跟第二部分一样。那么我们只需要将最后的pyload用url编码加密两次就行了(网页解密一次,函数解密一次)

这个自定义函数中总共出现了四个if判断,满足一个即可返回 true,若均未满足,则返回 false

最后我们利用include的文件包含漏洞,构造出最后的pyload
文件包含四层可以通过ffffllllaaaagggg猜出来,猜不出来也可以手动试出来。

pyload(source.php可以换成hint.php)

http://111.200.241.244:49711/?file=source.php?/…/…/…/…/ffffllllaaaagggg

在这里插入图片描述

flag{25e7bce6005c4e0c983fb97297ac6e5a}

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值