2026/4/6 6:00:23
网站建设
项目流程
网上课程网站建设方案,华意网站建设网络公司怎么样,网站做留言板怎么清空源码,汕头网站时优化CTF部落
高质量CTF社区#xff0c;致力于国内网CTF比赛研究#xff0c;每日分享行业最新资讯#xff0c;交流解答各类技术问题。星球中可以获取各类CTF比赛信息、解题工具、技巧、书籍、各种资源#xff0c;发布政府机关、企业、厂商网络安全招聘信息#xff0c;及内类内…CTF部落高质量CTF社区致力于国内网CTF比赛研究每日分享行业最新资讯交流解答各类技术问题。星球中可以获取各类CTF比赛信息、解题工具、技巧、书籍、各种资源发布政府机关、企业、厂商网络安全招聘信息及内类内推资格。所有发布的内容均精心挑选、成体系化让你远离无用信息及零碎的知识点。CTF之misc杂项解题技巧总结二——隐写术隐写术Steganography一NTFS数据流隐写二base64隐写三图像隐写四零宽字符隐写五word隐写六PYC隐写七音频隐写八文件合成与分离九BMP/PDF隐写【附】检测工具隐写术Steganography一NTFS数据流隐写参考NTFS数据流隐写_m0re’s blogNTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更稳定更安全功能也更为强大。这个NTFS数据流文件也叫Alternate data streams简称ADS是NTFS文件系统的一个特性之一允许单独的数据流文件存在同时也允许一个文件附着多个数据流即除了主文件流之外还允许许多非主文件流寄生在主文件流之中它使用资源派生的方式来维持与文件相关信息并且这些寄生的数据流文件我们使用资源管理器是看不到的。二base64隐写参考[Base64隐写 (cltheorem.github.io)](https://cltheorem.github.io/2018/10/base64隐写/#:~:text可以看出一串base64的编码最多也只有4bit的隐写空间所以实现隐写往往需要大量编码串。,隐写时把明文的每个 字符用8位二进制数表示由此将整个明文串转为bit串按顺序填入base64编码串的可隐写位中即可实现隐写。)题目[GXYCTF2019]SXMgdGhpcyBiYXNlPwBase64码表ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/Base64是一种用64个可打印字符来表示二进制数据的方法。base64编码1个字节对应8个比特一个可打印字符对应6个比特即一个单元将目标字串变成二进制数据流然后6个一单元划分对应成码表的索引用base64码表中的字符替换。码文c和明文m的关系为len©×6len(m)×8len©×6len(m)×8即len©×3len(m)×4len©×3len(m)×4那么必须码文字符串的长度必须为4的倍数明文字符串的长度必须为3的倍数。对于明文字符串长度不足3的倍数的情况用每一个二进制位用0 bit0 bit补足直到满足明文字符串长度为3的倍数。不难看出一个base64码文最多可以有2个‘’最少可以没有等号此时明文长度刚好是3的倍数。base64解码把码文末端的‘’去除在其二进制数据的末尾丢弃最小数目的二进制位使二进制位数为8的倍数然后8位一组进行ASCII编码。base64隐写原理在base64解码中去除等号之后将末尾一些二进制位丢弃使二进制位数为8的倍数所以一些隐藏数据可以写在可以被丢弃的部分这部分可以随意写成任意值而不用担心影响解码的结果同时也说明了不同的base64码文可能生成相同的明文。下面是提取脚本import re path flag.txt #your path b64char ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/ with open(path, r)as f: cipher [i.strip() for i in f.readlines()] plaintext for i in cipher: if i[-2] : # There are 4-bit hidden info while end with two bin_message bin(b64char.index(i[-3]))[2:].zfill(4) plaintext bin_message[-4:] elif i[-1] : # There are 2-bit hidden info while end with one bin_message bin(b64char.index(i[-2]))[2:].zfill(2) plaintext bin_message[-2:] plaintext re.findall(.{8}, plaintext) # 8bits/group plaintext .join([chr(int(i,2)) for i in plaintext]) print(plaintext)下面是隐写脚本#!/usr/bin/env python import base64 with open(./gitanjali.txt, r)as f: data [i.strip() for i in f.readlines()] base64Data [base64.b64encode(i) for i in data] b64char ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/ msg Gitanjali # 隐写内容注意隐写内容不应超过最大隐写bit数 msg_bit .join([bin(ord(i))[2:].zfill(8) for i in msg]) offset 0 new_data [] for i in base64Data: if i[-2]: # There are 4-bit hidden info while end with two offset int(msg_bit[:4],2) i i.replace(i[-3], b64char[b64char.index(i[-3])offset]) msg_bit msg_bit[4:] elif i[-1]: # There are 2-bit hidden info while end with one offset int(msg_bit[:2],2) i i.replace(i[-2], b64char[b64char.index(i[-2])offset]) msg_bit msg_bit[2:] new_data.append(i\n) with open(./encodeFile.txt, w)as f: f.writelines(new_data)三图像隐写EXIF信息隐藏可交换图像文件格式英语Exchangeable image file format官方简称Exif是专门为数码相机的照片设定的可以记录数码照片的属性信息和拍摄数据。Exif信息是可以被任意编辑的因此只有参考的功能。——《百度百科》exiftool使用 exiftool查看图片属性 (yii3.cn)有时候会出现许多文件的情况此时想找出某一个关键的信息字段可以用下面的指令exiftool *|grep flag #搜索当前文件夹下所有文件的exif信息中的flag字符还有直接在图片属性的备注里给出flag这种情况可以用010editor或者winhex等工具打开图片搜索关键字如flag、ctf等查看。宽高修改IHDR隐写.png对.png格式的图片进行宽高的修改进而隐藏图片关键信息原理png图片的宽和高信息在png的IHDR数据块内通过修改图片的宽和高数据使图片仅显示一部分另一部分不显示特征010 Editor中打开后会出现CRC校验值错误的报错提示破解可以通过CRC值来暴破获取正确的宽值或者高值import zlib import struct filename #图片路径 crc_str #图片的CRC值 # 同时爆破宽度和高度 with open(filename, rb) as f: all_b f.read() data bytearray(all_b[12:29]) n 4095 for w in range(n): width bytearray(struct.pack(i, w)) for h in range(n): height bytearray(struct.pack(i, h)) for x in range(4): data[x4] width[x] data[x8] height[x] crc32result zlib.crc32(data) #替换成图片的crc if crc32result crc_str: print(宽为, end ) print(width, end ) print(int.from_bytes(width, byteorderbig)) print(高为, end ) print(height, end ) print(int.from_bytes(height, byteorderbig)).jpg宽高隐写SOF0段的X_image和Y_image分别记录图片的宽和高直接修改不用担心校验错误。.bmp宽高隐写IDAT隐写.png图像数据块 IDATimage data chunk它存储实际的数据在数据流中可包含多个连续顺序的图像数据块。储存图像像数数据在数据流中可包含多个连续顺序的图像数据块采用 LZ77 算法的派生算法进行压缩可以用 zlib 解压缩值得注意的是IDAT 块只有当上一个块充满时才会继续一个新的块。一旦出现不符合这个规律的情况有一块IDAT还没填满但紧跟其后的是一个新的块那么就是人为添加了数据块。破解010 editor直接提取出数据然后扔进zlib解压脚本如下里解压获得原始数据。#! /usr/bin/env python import zlib import binascii IDAT ..........decode(hex) #填入dump出的IDAT数据 result binascii.hexlify(zlib.decompress(IDAT)) print (result.decode(hex)) print (len(result.decode(hex)))LSB隐写原理LSB全称Least Significant Bit最低有效位。PNG文件中的图像像数一般是由RGB三原色红绿蓝组成每一种颜色占用8位取值范围为0x00~0xFF即有256种颜色一共包含了256的3次方的颜色即16777216种颜色人类的眼睛可以区分约1000万种不同的颜色这意味着人类的眼睛无法区分余下的颜色大约有6777216种LSB隐写就是修改RGB颜色分量的最低二进制位LSB而人类的眼睛不会注意到这前后的变化每个像素可以携带3比特的信息判断方法来源于网络谨慎参考参考png文件隐写——不负责任的总结LSB-Steganography工具实现的不加密隐写可以用Stegsolve查看这种算法的特点就是LSB位前面很多0[cloacked-pixel](https://github.com/livz/cloacked-pixel#:~:textcloacked-pixel. Platform independent Python tool to implement LSB,Hide files within least significant bits of images.)工具实现的加密隐写带密钥可以用Stegsolve查看这种算法的特点是开头有个数字根据观察这个数字应该是有用的数据的长度然后才是很多个0接着是相应长度的数据。cloacked-pixel使用方法lsb.py hide img_file payload_file password #隐写 lsb.py extract stego_file out_file password #提取 lsb.py analyse stego_file #分析检测提取工具对于不加密的LSB隐写Stegsolve中extract对于带密码的LSB隐写[cloacked-pixel](https://github.com/livz/cloacked-pixel#:~:textcloacked-pixel. Platform independent Python tool to implement LSB,Hide files within least significant bits of images.)outguess隐写.jpeg题目[WUSTCTF2020]alison_likes_jojo使用outguess实现隐写加密与解密加密outguess -k my secret key -d hidden.txt in.jpg out.jpg加密之后in.jpg会覆盖out.jpghidden.txt中的内容是要隐藏的东西解密outguess -k my secret key -r out.jpg hidden.txt解密之后解密内容放在hidden.txt中检测使用stegdetect工具可以检测F5隐写检测使用stegdetect工具可以检测提取F5-steganography盲水印盲水印是一种肉眼不可见的水印方式可以保持图片美观的同时保护资源版权。提取ImageINGUI交互建议只得到一张图的情况下使用BlindWaterMark命令行python脚本CTF题中可能会给两张一样的图这个时候用此工具更好JPHide.jpeg先解压压缩JPEG图像得到DCT系数然后对隐藏信息用户给定的密码进行Blowfish加密再利用Blowfish算法生成伪随机序列并据此找到需要改变的DCT系数将其末位变为需要隐藏的信息的值最后把DCT系数重新压回成JPEG图片。提取JPHSJPHS内置JPHIDE和JPSEEKJPHide程序主要是实现将信息文件加密隐藏到JPEG图像功能JPSeek程序主要实现从用JPHide程序加密隐藏得到的JPEG图像探测提取信息文件SilentEye.jpeg四零宽字符隐写参考一个你所不知道的加密方式–零宽字符加密 - 知乎 (zhihu.com)在线解码需要多个网站都试试Unicode Steganography with Zero-Width Characters (330k.github.io)隐藏字符加密 - 一个工具箱 - 好用的在线工具都在这里(atoolbox.net)Zero Width Lib (yuanfux.github.io)辨别把目标文本粘贴到vim中零宽字符是一种在浏览器中不打印的字符大致相当于 display: none ,在许多文本应用中也不显示比如邮箱、QQ、微信、文本编辑器等html中有三种零宽字符 – 零宽空格、零宽连字、零宽不连字零宽字符在浏览器中对应的转义字符 零宽空格 --- #8203; 零宽不连字 --- #8204; 零宽连字 --- #8205;零宽字符在Unicode中的编码为\u200B \u200C \u200D五word隐写word中隐藏字段在Word中选中要隐藏的字段右击选择字体选项在效果一栏中有隐藏选项选中后即可隐藏。默认情况下隐藏文字是不会被打印出来的。破解如果想知道是否有隐藏文本可在文件选项中单击文件→选项→显示文件→选项→显示在始终在屏幕上显示这些格式标记标签下选择隐藏文字复选框即可查看打印选项标签勾选打印隐藏文字即可打印。或者在保存文件后选择文件→检查→检查文件文件→检查→检查文件查看是否有隐藏文字。**白色背景下的白字无法被识别出有隐藏的文字 **。破解全选改字体颜色为别的颜色搜索字符串例如flag等word中隐藏图片word中插入的图片分为嵌入式和非嵌入式区别在嵌入式会跟着文本的位置产生移动即有回车后图片下移。但非嵌入的不会跟着文本走即有回车后图片保持原位置不动。word改后缀名为zip然后解压六PYC隐写参考pyc文件 - CTF Wiki (ctf-wiki.org)原理是在 python 的字节码文件中利用冗余空间将完整的 payload 代码分散隐藏到这些零零碎碎的空间中。例如从 Python 3.6开始有一个较大的改变就是不管 opcode 有没有参数每一条指令的长度都两个字节opcode 占一个字节如果这个 opcode 是有参数的那么另外一个字节就表示参数如果这个 opcode 没有参数那么另外一个字节就会被忽略掉一般都为00。Stegosaurus 是一款隐写工具它允许我们在 Python 字节码文件 (pyc 或 pyo) 中嵌入任意 Payload。由于编码密度较低因此我们嵌入 Payload 的过程既不会改变源代码的运行行为也不会改变源文件的文件大小。Payload 代码会被分散嵌入到字节码之中所以类似 strings 这样的代码工具无法查找到实际的 Payload。Python 的 dis 模块会返回源文件的字节码然后我们就可以使用 Stegosaurus 来嵌入 Payload 了。提示Stegosaurus 仅支持 Python3.6 及其以下版本快速入门-p 要隐藏的文本-r 显示最大隐藏字节-x可以解密七音频隐写DeepSound隐写DeepSound 是一种隐写术工具和音频转换器可将秘密数据隐藏到音频文件中。该应用程序还使您能够直接从音频文件或音频 CD 曲目中提取秘密文件。DeepSound 可用作 wave、flac、wma、ape 和音频 CD 的版权标记软件。DeepSound 还支持使用 AES-256高级加密标准加密机密文件以提高数据保护。该应用程序还包含一个易于使用的音频转换器模块可以将多种音频格式FLAC、MP3、WMA、WAV、APE编码为其他格式FLAC、MP3、WAV、APE。DeepSound 2.0 Free Download (soft112.com)MP3stego隐写MP3stego是命令行工具也有图形界面的decode -X -P your password your encoded filenameSilentEye隐写https://sourceforge.net/projects/silenteye/八文件合成与分离binwalk可快速分辨文件是否由多个文件合并而成并将文件进行分离。如果分离成功会在目标文件的目录。分析文件binwalk filename分离文件binwalk -e filenameformost命令formost filename -o 输出的目录名dd当文件自动分离出错或者因为其他原因无法自动分离时使用九BMP/PDF隐写提取工具wbStego Steganography Tool (bailer.at)针对.bmp/.pdf隐写得到的_is文件用notepad打开【附】检测工具stegdetectstegdetect 用来检测jpg类型的图片是否隐藏着其他文件或内容。它可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage等这些隐写工具隐藏的信息。安装推荐在linux环境下下载stegdetect 源码包之后进入其目录执行下面指令linux32 ./configure linux32 make使用stegdetect时会有一些参数下面简单罗列一下q ——仅显示可能包含隐藏内容的图像n ——启用检查JPEG文件头功能以降低误报率。如果启用所有带有批注区域的文件将被视为没有被嵌入信息。如果JPEG文件的JFIF标识符中的版本号不是1.1则禁用OutGuess检测。s ——修改检测算法的敏感度该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比算法敏感度的值越大检测出的可疑文件包含敏感信息的可能性越大。d ——打印带行号的调试信息。t ——设置要检测哪些隐写工具默认检测jopi可设置的选项如下j ——检测图像中的信息是否是用jsteg嵌入的。o ——检测图像中的信息是否是用outguess嵌入的。p ——检测图像中的信息是否是用jphide嵌入的。i ——检测图像中的信息是否是用invisible secrets嵌入的。常用指令stegdetect.exe -tjopi -s 10.0 hide.jpg网络安全学习路线学习资源网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级网工1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗【“脚本小子”成长进阶资源领取】7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime ·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完 ·用Python编写漏洞的exp,然后写一个简单的网络爬虫 ·PHP基本语法学习并书写一个简单的博客系统 熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选) ·了解Bootstrap的布局或者CSS。8、超级网工这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。感兴趣的童鞋可以研究一下不懂得地方可以【点这里】加我耗油跟我学习交流一下。网络安全工程师企业级学习路线如图片过大被平台压缩导致看不清的话可以【点这里】加我耗油发给你大家也可以一起学习交流一下。一些我自己买的、其他平台白嫖不到的视频教程需要的话可以扫描下方卡片加我耗油发给你都是无偿分享的大家也可以一起学习交流一下。网络安全学习路线学习资源结语网络安全产业就像一个江湖各色人等聚集。相对于欧美国家基础扎实懂加密、会防护、能挖洞、擅工程的众多名门正派我国的人才更多的属于旁门左道很多白帽子可能会不服气因此在未来的人才培养和建设上需要调整结构鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”才能解人才之渴真正的为社会全面互联网化提供安全保障。特别声明此教程为纯技术分享本书的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失