【渗透测试】PNG图片隐藏部分恢复

这篇具有很好参考价值的文章主要介绍了【渗透测试】PNG图片隐藏部分恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、图片原尺寸还原方法一

缺点就是有点慢,毕竟遍历的次数比较多

import binascii
import struct
import sys

filename = sys.argv[1]
crcbp = open(filename, "rb").read()  # 打开图片
crc32frombp = int(crcbp[29:33].hex(), 16)  # 读取图片中的CRC校验值
print(f"图片中的CRC校验值:\t{crc32frombp}")

for i in range(4000):  # 宽度1-4000进行枚举(如果图片太大,可以适当自行增大)
    for j in range(4000):  # 高度1-4000进行枚举(如果图片太大,可以适当自行增大)
        data = crcbp[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + crcbp[24:29]
        crc32 = binascii.crc32(data) & 0xffffffff
        # print(crc32)
        if crc32 == crc32frombp:  # 计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定
            print(f"图片大小(宽×高):\t{i} × {j}")
            print(f'换算后hex:\t\t{hex(i)}, {hex(j)}')

【渗透测试】PNG图片隐藏部分恢复,python,开发语言

2、图片原尺寸还原方法二

这个方法有时候结果不太准确,可以两个方法相互印证

import struct
import sys
import zlib

filename = sys.argv[1]
with open(filename, 'rb') as f:
    all_b = f.read()
    crc32key = int(all_b[29:33].hex(), 16)
    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[x + 4] = width[x]
                data[x + 8] = height[x]
            crc32result = zlib.crc32(data)
            if crc32result == crc32key:
                print("宽为:", end="")
                print(width)
                print("高为:", end="")
                print(height)
                exit(0)

【渗透测试】PNG图片隐藏部分恢复,python,开发语言

3、PNG图片尺寸修改

修改后,PNG图片即可恢复修改前的大小,显示隐藏的部分。
【渗透测试】PNG图片隐藏部分恢复,python,开发语言文章来源地址https://www.toymoban.com/news/detail-611771.html

到了这里,关于【渗透测试】PNG图片隐藏部分恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

领支付宝红包 赞助服务器费用

相关文章

  • 【Python编程】将格式为ppm和pgm的图片批量转换为png或jpg格式的图片

    如果文件夹中有异常图片,则可以使用以下代码从而跳过这些异常图片而不影响转换代码的运行。例如本人在解压时中断而导致的图片异常问题,图片示例如下:

    2024年02月11日
    浏览(60)
  • 2022/7 用python批量将.mat文件转为.jpg/.png/.bmp格式图片

    网上看了一个下午都没找到能用的。。。抄来抄去都没说到点子上 mat文件是Matlab的数据存储的标准格式。 涉及到文件转换肯定要看数据的结构, 事实上别人的代码很难成功就是因为大家的mat文件的数据结构各不相同 照着这个一步一步来你肯定可以学会 1、第一段代码,包括

    2023年04月09日
    浏览(62)
  • [渗透测试]—7.1 漏洞利用开发和Shellcode编写

    在本章节中,我们将学习漏洞利用开发和Shellcode编写的基本概念和技巧。我们会尽量详细、通俗易懂地讲解,并提供尽可能多的实例。 漏洞利用开发是渗透测试中的高级技能。当你发现一个软件或系统存在漏洞时,你需要编写一段代码来利用这个漏洞,从而在目标系统上执行

    2024年02月11日
    浏览(48)
  • 网络安全|渗透测试入门学习,从零基础入门到精通—渗透中的开发语言

    目录 前面的话 开发语言 1、html 解析 2、JavaScript 用法 3、JAVA   特性 4、PHP 作用 PHP 能做什么? 5、C/C++ 使用 如何学习 关于在渗透中需要学习的语言第一点个人认为就是可以打一下HTML,JS那些基础知识,磨刀不误砍柴工。其次,了解基本的代码后,就可以去学习相关的漏洞知

    2024年02月09日
    浏览(52)
  • 图片转换成png格式上传

    参数为图片地址(在浏览器可以直接访问的)

    2024年01月17日
    浏览(40)
  • 在手机上怎么修改图片格式?图片怎么转png格式?

    现在大家越来越依赖手机,不只是拍照美颜,支付购物等生活上带来的便利,还可以在手机上完成领导随时下达的任务。前几日有小伙伴在线着急的问小编怎么才能把手机上的图片转换成png格式呢,非常凑巧,小编刚刚尝试了一个手机图片格式转换软件,简单几步就可以把手

    2024年02月13日
    浏览(38)
  • 使用Python编写一个渗透测试探测工具

    本篇将会涉及: 资源探测 一个有用的字典资源 第一个暴力探测器 资源探测 资源探测在渗透测试中还是属于资源的映射和信息的收集阶段。 主要有以下三个类型: 字典攻击 暴力破解 模糊测试 字典攻击,在破解密码或密钥的时候,通过自定义的字典文件,有针对性地尝试字

    2024年01月16日
    浏览(44)
  • 渗透测试——python脚本(selenium模块)暴力破解

    免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 背景:实习的第二个周的第二个评估网站项目,很明显,这里没有验证码(有验证码的情况也可以用这个方法,具

    2024年02月02日
    浏览(49)
  • Python渗透测试编程基础——线程、进程与协程

    目录  一、进程与线程的概念 1.进程 2.线程 3.进程和线程的关系 4.任务执行方式 二、Python中的Threading模块 1.线程模块介绍 2.Threading介绍 (1)方法和属性 (2)类方法 三、线程简单编写 1.流程 2.创建线程 (1)方法一 (2)方法二 3.例子 四、守护线程 五、线程同步技术 1.线程

    2024年02月01日
    浏览(50)
  • 软件测试|测试平台开发-Flask 入门:URL组成部分详解

    简介 Flask 是一款流行的 Python Web 框架,它简单轻量而灵活,适用于构建各种规模的 Web 应用程序。在 Flask 中,URL(Uniform Resource Locator)是指定 Web 应用程序中资源的唯一标识符。URL 组成部分是构成一个完整 URL 的不同部分,包括协议、主机名、端口号、路径和查询参数等。在

    2024年01月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包