解压缩?先过"摩斯密码"这关再说!
拿到一个压缩包,常规操作:先解压。结果?密码伺候!这年头,CTF也玩起"扫码支付"前的"输密码"环节了?定睛一看,密码藏在注释里。
好家伙,摩斯密码!
直接上CyberChef,一顿操作猛如虎…
解出来一串玩意儿:-- .... .. - . .--. .- ..... ..... .-- -----.-. -..,再用CyberChef“翻译”一下。
"白"的让人怀疑人生:像素级侦探的自我修养
解压后,得到一张“纯白”的PNG图片?等等,CTF出题人会这么好心?直觉告诉我,事情没那么简单。
常规套路先走一遍:01editor、strings、zsteg…一无所获。难道真的就是一张白纸?我不信!
既然是纯白,那就较真一下,看看RGB值是不是真的是(255, 255, 255)。直接上脚本,"揪出"那些"不纯洁"的像素点!
from PIL import Image
import sys
def print_nonwhite_pixels(image_path):
try:
img = Image.open(image_path)
except FileNotFoundError:
print(f"错误:文件 '{image_path}' 未找到")
return
except Exception as e:
print(f"打开图片时发生错误: {e}")
return
width, height = img.size
# 转换为RGB模式确保颜色通道一致性
if img.mode != 'RGB':
img = img.convert('RGB')
pixels = img.load()
white = (255, 255, 255)
print(f"图片尺寸: {width}x{height}")
print(f"颜色模式: {img.mode}")
print("非白色像素列表:")
# 遍历并筛选非白色像素
for y in range(height):
for x in range(width):
pixel = pixels[x, y]
if pixel != white:
print(f"坐标({x}, {y}): {pixel}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("使用方法: python find_nonwhite.py <图片路径>")
print("示例: python find_nonwhite.py image.jpg")
else:
print_nonwhite_pixels(sys.argv[1])
print("
处理完成(白色像素已被过滤)")
跑一下脚本,果然,有"猫腻"!
像素点(21, 21)竟然是(245, 245, 245),这…简直是"白色恐怖"!
“黑白"显形:让隐藏的二维码"重见天日”
既然找到了非白色像素,那就把它们提取出来,看看能搞出什么幺蛾子。
from PIL import Image
import numpy as np
# 打开原始图片
img = Image.open('white.png')
width, height = img.size
print(f"原始图片尺寸: {width}x{height}")
# 创建一个布尔数组来表示非白色像素
pattern = np.zeros((height, width), dtype=bool)
# 标记所有非白色像素
for y in range(height):
for x in range(width):
pixel = img.getpixel((x, y))
if isinstance(pixel, tuple):
# 对于RGB图片,如果任何通道小于255,则标记为非白色
if any(value < 255 for value in pixel):
pattern[y, x] = True
else:
# 对于灰度图,如果值小于255,则标记为非白色
if pixel < 255:
pattern[y, x] = True
# 保存非白色像素的坐标
non_white_pixels = []
for y in range(height):
for x in range(width):
if pattern[y, x]:
non_white_pixels.append((x, y))
# 计算非白色像素的边界框
min_x = min(x for x, y in non_white_pixels)
max_x = max(x for x, y in non_white_pixels)
min_y = min(y for x, y in non_white_pixels)
max_y = max(y for x, y in non_white_pixels)
print(f"边界框: ({min_x}, {min_y}) 到 ({max_x}, {max_y})")
box_width = max_x - min_x + 1
box_height = max_y - min_y + 1
print(f"边界框尺寸: {box_width}x{box_height}")
# 在边界框尺寸基础上添加边距
margin = 20
qr_width = box_width + 2 * margin
qr_height = box_height + 2 * margin
# 创建一个新的黑白图像
qr_img = Image.new('RGB', (qr_width, qr_height), color='white')
qr_pixels = qr_img.load()
# 将非白色像素映射到新图像,设为黑色
for x, y in non_white_pixels:
# 计算在新图像中的位置(添加边距)
new_x = x - min_x + margin
new_y = y - min_y + margin
# 确保坐标在新图像范围内
if 0 <= new_x < qr_width and 0 <= new_y < qr_height:
qr_pixels[new_x, new_y] = (0, 0, 0) # 黑色
scale_factor = 4
large_qr = Image.new('RGB', (qr_width * scale_factor, qr_height * scale_factor), color='white')
large_pixels = large_qr.load()
# 将每个像素放大
for y in range(qr_height):
for x in range(qr_width):
pixel = qr_pixels[x, y]
for dy in range(scale_factor):
for dx in range(scale_factor):
large_pixels[x * scale_factor + dx, y * scale_factor + dy] = pixel
# 保存QR码图像
qr_filename = 'restored.png'
large_qr.save(qr_filename)
print(f"已保存图像到 {qr_filename}")
# 显示一些统计信息
print(f"非白色像素总数: {len(non_white_pixels)}")
运行脚本,见证奇迹的时刻到了!
一个隐藏的二维码就这样被"揪"了出来,扫码,flag到手!
这次CTF题目,让我深刻体会到:眼见不一定为实,尤其是在"白纸黑字"的网络世界里,更要保持一颗怀疑的心,用像素级的侦探精神,去发现那些隐藏在"纯洁"外表下的"秘密"。
黑客/网络安全学习路线
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
下面给大家分享一份2025最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!
一、2025最新网络安全学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1级别:网络安全的基础入门
L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。

L2级别:网络安全的技术进阶
L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。

L3级别:网络安全的高阶提升
L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。

L4级别:网络安全的项目实战
L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题

整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、技术文档和经典PDF书籍
书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)

三、网络安全视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

四、网络安全护网行动/CTF比赛
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

五、网络安全工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。 
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…


**读者福利 |** CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)