CTF(四)

导言:

本文主要讲述在CTF竞赛中,web类题目file_include。

靶场链接:攻防世界 (xctf.org.cn)

一,观察页面。

可以看到一段php代码。从则段代码中我们可以知道:

1,使用include引入check.php文件,猜测其为flag。

2,使用get传参方式,传参名为:filename。

3,最后引入filename参数对应的文件。

4,其为文件包含漏洞。

二,攻击测试。

失败。

使用继续测试,已排除过滤项。

最后发现常见的关键字都有过滤。

但对于php://filter/并没有过滤。

可以对其进行编码绕过,php支持的编码格式较多,不方便手工进行测试,下一步将使用爆破模块进行测试。

PHP支持的编码协议包括但不限于以下几种:

ASCII编码:美国信息交换标准代码,可以表示127个字符,包含数字、字母以及一些特殊符号。

ISO-8859编码:一种单字节编码,包含多个字符集,能够表示所有拉丁字母、西里尔字母、希腊字母以及少量的非拉丁字母。

Unicode编码:包括UTF-8、UTF-16和UTF-2等编码格式。其中UTF-8在Web开发中最为常用。

GBK编码:中国制定的,应用于汉字字符的编码,支持更多的中文字符。

此外,PHP还支持如UCS-4、UCS-2、EUC-JP、SJIS、ISO-2022-JP、CP932、CP51932等多种编码协议,以及针对移动设备优化的编码如UTF-8-Mobile#DOCOMO、UTF-8-Mobile#KDDI等。这些编码协议使得PHP能够灵活地处理各种字符集和编码转换需求。详见:探索php伪协议以及死亡绕过 - FreeBuf网络安全行业门户

在测试中,base也有过滤:

所以,我们在进行php编码协议进行爆破的同时,也需要对输出方式进行爆破。

三,使用bp进行抓包爆破。

1,爆破编码协议:

2,测试成果:

选用.EUC-JP*.UCS-4*进行测试。

构造payload:

复制代码
/?filename=php://filter/convert.iconv.EUC-JP%2a.UCS-4%2a/resource=check.php 

与爆破结果一致,并没有明确指出flag位置,猜测在flag.php文件内。

构造payload:

复制代码
?filename=php://filter/convert.iconv.EUC-JP%2a.UCS-4%2a/resource=flag.ph

得到flag。

相关推荐
云水一下5 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
程序员若风5 天前
CSRF攻击原理介绍和利用-腾讯云开发者社区
前端·网络·安全·web安全·网络安全·csrf攻击·腾讯云开发者社区
白猫不黑6 天前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
迪康Defender6 天前
终端安全实战:如何高效解决企业U盘泄密与管控难题
运维·网络·安全·web安全·终端安全管理
网安小学生(兼顾数据库版)6 天前
固件+软件供应链:ONEKEY+Mend如何实现全链路安全覆盖
网络·安全·web安全
sbjdhjd6 天前
从日志包含到临时文件竞争:文件包含进阶复盘中的 Docker、Windows 与 Session 限制
网络·安全·web安全·网络安全·数据挖掘·php·rce
白猫不黑6 天前
网络安全面试题大全:22道高频题附解析与答案
web安全·计算机·网络安全·信息安全·渗透测试·编程·面试题
白猫不黑6 天前
零基础如何学习网络安全:从入门到实战的完整路线图
web安全·计算机·网络安全·黑客·信息安全·渗透测试·代码审计
蒲公英eric7 天前
DVWA通关全记录:从漏洞复现到安全防御——总结篇
web安全·ai·dvwa·ai安全
Koi慢热8 天前
DayDayMap学术社区体验:卫星网络测绘专题用下来怎么样
网络·人工智能·windows·web安全·网络安全