网络安全最全ctf-misc 个人笔记(有空闲更新)(1),2024年最新338页网易网络安全面试真题解析火爆全网

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以点击这里获取

标题一、解码和编码

  1. base64解密和加密及其隐写

(1)base64编码后面常带有等号,且编码中会出现大小写字母,数字,还有加号和斜杠。我常用下面的网站进行解码和编码:

https://the-x.cn/zh-cn/encodings/Ba删掉我se64.aspx

同时也能保存为文件,十分方便

(2)base64隐写

可用python代码(借用【精选】[MISC]Base64隐写_Weird0_的博客-CSDN博客的代码

def b64ord(char):
    if char in 'abcdefghijklmnopqrstuvwxyz':
        return ord(char) - 71
    elif char in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
        return ord(char) - 65
    elif char in '0123456789':
        return ord(char) + 4
    elif char == '+':
        return 62
    elif char == '/':
        return 63
    else: return

with open('flag.txt', 'r') as f:
    ostr = f.read()

info = ''
flag = ''
count = 0

for i in ostr:
    if i == '\n':
        count += 1
ostr = ostr.splitlines()

for i in range(0, count):
    tmp = ''

    if '==' in ostr[i]:
        code = b64ord(ostr[i][-3])
        tmp = str(bin(code))[-4::]
        #由于python会在二进制数前加上'0b',所以采取以下操作去掉
        if code <= 1:
            tmp = '000' + tmp[-1]
        elif 2<= code <= 3:
            tmp = '00' + tmp[-2::]
        elif 4<= code <= 7:
            tmp = '0' + tmp[-3::]

    elif '=' in ostr[i]:
        code = b64ord(ostr[i][-2])
        tmp = str(bin(code))[-2::]
        if code <= 1:
            tmp = '0' + tmp[-1]

    info += tmp

#将得到的结果拼接起来
for i in range(0, len(info), 8):
    flag += chr(int(info[i:i+8], 2))
print(flag)

2.其他编码

(1)base编码家族

除常见的base64外,还有base32,base16,base100等,各自有各自的特点

(2)其他编码

除此之外还有各种各样的编码,需要不断地学习积累经验

可以使用工具尝试各种各样的解密与加密,来寻找究竟是哪种编码

标题二、图片隐写及python处理图片

使用工具如下

1.010 Editor:010 Editor是一款功能强大的代码编辑器,可在官网下载**;2.stegsolve;3.Vmcare虚拟机**

。与之有关的考点有

(1)文件头,文件尾

常见文件头和文件尾有

  • JPEG 文件头:FF D8 FF 文件尾:FF D9(jpg文件属性中可隐藏信息)
  • PNG 文件头:89 50 4E 47 0D 0A 1A 0A 文件尾:AE 42 60 82
  • ZIP Archive (zip) 文件头:50 4B 03 04 文件尾:50 4B
  • RAR Archive (rar) 文件头:52 61 72 21

例如文件头尾缺失,文件头尾与文件格式不符等

(附上一题个人花较大精力的)

有题目将全部二进制倒过来,较为简单,倒序输出即可。我写的题是82 60 42 AE,是将每八位二进制一组给倒过来,应当使用python脚本将整个文本倒序,称作切片输出:

with open("input_file_addr",'rb') as input_file:    #旧文件
    with open("output_file_addr",'rb') as output_file:    #新文件
        output_file.write(input_file.read()[::-1])

便能得到正确文件

(2)信息隐写

比较简单的比如将base64,或者flag字符串直接复制到文件尾后面,不会影响文件;

也有将文件隐写在文件中,在010中可使用search寻找连续可识别字符串,找到可疑隐写信息(比如(补写)),此时需要使用VMware虚拟机,自行创建一个kali系统,在终端下载一个binwalk或foremost(个人常用binwalk)将终端用cd命令进入文件所在目录,使用:

binwalk -e 114514.png

会出现一系列信息,同时在同一目录下会出现一个文件夹,里面就是分离出来的文件,之后便可实现下一步解题

(3)lsb隐写

此隐写我常用到stegsolve,将图片导入此应用程序,可以点击下面<>一个一个观察图片中是否出现可疑的黑点或者其他,并记下左上角的颜色及序号,在Analyse选项中点击Date Extract,保存为文本文件或者二进制文件(还有Frame Brower可查看gif的每一帧)

除了较为简单的stegsolve,还有在kali系统的steghide工具可以分离jpg中lsb隐写的文件,使用

steghide extract -sf    文件名字,之后输入密码,当然一般没有密码。

(4)盲水印隐写

(待补充)

(5)像素点隐写(python处理图片)

(2023geekchanllenaage)一题xqr给了一张二维码的图片,扫描之后是正常的什么信息都获取不了,拖进010之后看见隐藏了一个png文件,将其分离出来之后,是缺少定位符并且十分模糊的图片,根据大佬的思路,可以选择查看图片的像素点

(用gpt搞了一段代码(不会python╭ (T □ T)╮))

from PIL import Image
#获取图片
image = Image.open('path_to_your_image.jpg')
# 获取图片的宽度和高度
width, height = image.size
# 计算像素点数量
pixel_count = width * height
# 打印结果
print("该图片由", pixel_count, "个像素点组成")

(二维码就不放了)可以得到第一个清晰的图片是有5625个像素点,第二张是有625个,说明第一张的图片像素点九个就组成一个,说明第一张图片长宽是第二张的三倍(属性中也可以看出来)第一种方法是根据大佬的思路,把第一个图片以间隔为3读取像素点,第二个图片直接读取像素点,分别转换成2进制,这样两个图片的数据就一样长, 可以全部异或,最后再把得到的数据转成二维码放大三倍就能出真正的二维码,直接扫出flag

from PIL import Image
#打开图片xqr读取数据
image = Image.open("path1")
width,height = image.size
XQRpixel =""
for y in range(0,height,3):
    for x in range(0,width,3):
        if image.getpixel((x,y))[0] == 0:#黑色
            XQRpixel += "0"
        else:
            XQRpixel += "1"
#打开另一个图片读取数据
image = Image.open("path2")
width,height = image.size
XORpixel = ""
for y in range(0,height):
     for x in range(0,width):
        if image.getpixel((x,y))[0] == 0:#黑色
            XORpixel += "0"
        else:
            XORpixel += "1"
#俩数据异或一下再生成图片
data = ""
for i in range(len(XQRpixel)):
       data += chr( ((ord(XQRpixel[i]) - 48) ^ (ord(XORpixel[i]) - 48)) + 48)
print(data)
image = Image.new("RGB",(3*width,3*height),(255,255,255))
for y in range(width):
    for x in range(height):
        if data[y*width + x] == '0':
            for i in range(3):
                for j in range(3):
                    image.putpixel((3 * x + i, 3 * y + j), (255, 255, 255))
            else:
                for i in range(3):
                    for j in range(3):


### 给大家的福利


**零基础入门**


对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


![](https://img-blog.csdnimg.cn/img_convert/95608e9062782d28f4f04f821405d99a.png)


同时每个成长路线对应的板块都有配套的视频提供:


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a91b9e8100834e9291cfcf1695d8cd42.png#pic_center)


因篇幅有限,仅展示部分资料

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

8100834e9291cfcf1695d8cd42.png#pic_center)


因篇幅有限,仅展示部分资料

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值