【攻防世界】七 --- warmup

这篇博客详细介绍了网络安全中的一个挑战——warmup。作者首先通过抓包发现了访问特定文件的提示,接着分析了代码审计,揭示了需要构造特定payload以通过checkFile函数检查。文章提到成功的关键在于利用is_string()、mb_substr()和mb_strpos()函数,并展示了如何构造payload来实现文件包含。通过访问hint.php,作者找到了flag文件位于四层目录之上的信息,命名为ffffllllaaaagggg。博客总结了知识点,强调了在文件包含中,即使文件路径部分不存在,但通过省略号可以到达根目录。
摘要由CSDN通过智能技术生成

题目 — warmup

一、writeup

主页一个大笑脸
在这里插入图片描述
对主页进行抓包的回显中有提示,访问source.php文件
在这里插入图片描述
回显出了代码,进行审计
在这里插入图片描述
关键点

  • 需要以get或者post的方式提交 file参数,且file要是字符串,还要能通过emmm类中的checkFile函数的检测
  • 前两个要求很容易满足,来看看如何才能让checkFile函数返回true
    • 1、传进的参数必须设置且要为字符串,否则会直接返回false ---- 很容易满足
    • 2、传进来的参数如果是白名单中的内容,直接返回true ---- 这个true我们不需要,因为这样做无法产生漏洞
    • 3、传进来的参数取问号前面的内容,如果在白名单中返回true ---- 这个true是我们需要的。
    • 构造paylaod:?file=source.php?../../../../../etc/passwd ---- 即可包含成功

相关函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值