CTF_WP-攻防世界web题解(1),网络安全面试资料集合

本文介绍了CTF比赛中的Web安全题目,涉及PHP代码审计、文件上传漏洞、SQL注入、PHP反序列化漏洞、ThinkPHP框架漏洞、命令注入和任意文件读取等多个主题。通过详细分析解题过程,展示了如何利用技巧绕过防护措施,同时也给出了学习网络安全和面试的相关资源。

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

使用phpstudy,将文件放在WWW根目录下,浏览器访问即可

总结:解密

warmup

image-20240317203250603

image-20240317203309122

查看源码

image-20240317203321893

提示source.php

image-20240317203350469

并且还提到了一个hint.php,查看

image-20240317203435226

提示flag在这个里面

先看前面的源码source.php

  1. request接收参数file,判断是否为空、是否是string、checkfile
  2. 如果满足,则包含file
  3. 否则打印滑稽

所以应该是要把ffffllllaaaagggg文件包含进file,关键就是怎么绕过checkfile

接下看重点看checkfile函数,白名单被写死,return true的情况只有三种

  1. file在白名单中
  2. 在file末尾加了个?,?前的部分在白名单中
  3. 先将file进行url解码,然后同2

这里的file就是参数page,加?的目的应该是通过添加的?找到末尾坐标,但是正是这多此一举给了可趁之机,只需要先发制人,提前在file中加一个?,就可以让它解析错误,截取我们自己添加的?前面的部分

因此payload可以是hint.php?..ffffllllaaaagggg

但是由于ffffllllaaaagggg的路径不清楚,只能一个一个试,不停添加…/

最终拿到flag

image-20240317211145382

里面还有一个重点,就是在include ‘file’的时候,file是string类型的,然后从file中解析文件路径,因此才可以从hint.php?..ffffllllaaaagggg这种格式中解析出正确的ffffllllaaaagggg路径

image-20240317211538762

总结:php代码审计,绕过check

upload1

image-20240318115340599

image-20240318115359317

尝试上传任意txt文件,结果

image-20240318115510626

选择一张图片上传

image-20240318115722412

查看源码

image-20240318120923392

发现前端对文件名过滤

使用burpsuit抓包发送php文件

image-20240318121008012

成功上传,蚁剑连接

image-20240318121056581

image-20240318121144124

image-20240318121200477

总结:文件上传漏洞

NewsCenter

image-20240318121719666

image-20240318121749359

观察题目,只有一个search输入框可以挖掘漏洞,初步判断sql注入。

但是一旦输入单引号,服务器就崩

image-20240318122151762

image-20240318122137900

使用burpsuit抓包

image-20240318122339459

直接上万能密码,成功回显所有news,说明的确是sql注入

image-20240318122425596

先判断select列数,3

image-20240318122547366

image-20240318122636509

没有过滤,并且回显2,3。应该就是一道简单的注入题

image-20240318122850358

image-20240318123001425

image-20240318123116373

总结:sql注入

Web_php_unserialize

image-20240318123714216

image-20240318125221177

补充:正则表达式规则

以下是一些常用的正则表达式元字符和规则:

  1. 普通字符:这些字符直接匹配其自身。例如,字母 a 将匹配字符串中的字母 a
  2. 元字符:具有特殊含义的字符,例如 ^$.*+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值