打开网址 http://game1.xdctf.com:8083/f16c3b1ed800fc78e605/index.php

网页中显示了一张图片,图片名为hackkey.png:

还有一段文字:

话说,攻防,到底是先有攻还是先有防,到底有没有绝对的安全与绝对的不安全,仁者见仁智者见智,这不,杀软开始欺负一些工具流,但牛牛都不怕,他们总是有办法,道高一尺魔高一丈,你知道他们怎么过杀软的吗?找到key,你就明白了……………

查看网页源码,发现一段html注释:

  1. <!-- <center><img src="src/2328266727 .png"></img></center>!-->

访问地址 http://game1.xdctf.com:8083/f16c3b1ed800fc78e605/src/2328266727 .png

可以看到一张二维码图片:

解密二维码后是一个网址:

http://mp.weixin.qq.com/s?__biz=MjM5Njc3NjM4MA==&mid=200689499&idx=2&sn=76a5cb177facf0ca76dfcc2db7e135cf#rdRGB

访问网址后可以看到一篇文章:《【牛技术】恶意软件采用密写 把代码隐藏在图片中》,文章里有这么一段文字:

“潜伏”主要任务是一个下载器,用来下载后续的恶意代码,用来搭建一个进行点击欺诈的僵尸网络。“潜伏“的DLL资源区域带有一个BMP位图。而“潜伏”把恶意代码的URL放在了每个像素的颜色字节的最低位上。

所以可以猜测,key很有可能就藏在hackkey.png的像素颜色值的最低位上。

那么可以用python来获取图片的所有颜色值,并把所有颜色值的最低位提取出来:

python操作图片需要用到PIL(Python Imaging Library)库,可以通过easy_install PIL命令安装。如果使用Mac系统系统的话,还可以用brew install pillow来安装。安装PIL后就可以import Image库了。

  1. # -*- coding:utf-8 -*-
  2. import Image
  3. image = Image.open("hack.jpg")
  4. width, height = image.size
  5. binary_string = ""
  6. for y in range(height):
  7. for x in range(width):
  8. #获取坐标(x, y)处的颜色值
  9. r, g, b = image.getpixel((x, y))
  10. color = (r << 16) + (g << 8) + b
  11. #获取颜色二进制值的最后一位
  12. last_bit = str(bin(color))[-1]
  13. binary_string += last_bit
  14. print binary_string
  15. '''
  16. 结果为:
  17. 010110000110010000100100011001010100001101000000001100100110111100110001001101000000000000000000000000000000000000000000000......
  18. '''

可见,开头有几十个颜色位隐藏了一些信息,后面的都是0说明没数据。

再将二进制数据转成字符串:

  1. import binascii
  2. #将2进制字符串转成16进制字符串
  3. hex_string = "%x"%(int(binary_string, 2))
  4. #截取偶数个字符,因为字符是奇数会报错
  5. hex_string = hex_string[ : len(hex_string) / 2 * 2]
  6. #输出16进制值对应的字符串
  7. print "key :", binascii.a2b_hex(hex_string)
  8. '''
  9. 结果为:
  10. key : Xd$eC@2o14
  11. '''

如果觉得代码比较麻烦的话,也可以使用神器StegSolve来找出图片中隐藏的信息,下载地址为:

http://www.caesum.com/handbook/Stegsolve.jar

用终端执行java -jar Stegsolve.jar运行StegSolve,点击File载入图片,然后点击Analyse–Data Exreact,出现以下界面。在Bit Planes里勾上Blue的第0位,再点击Preview按钮,就可以看到蓝色最低位组合成的字符:

XDCTF网络安全大赛——Web100的更多相关文章

  1. 2019年上海市大学生网络安全大赛两道misc WriteUp

    2019年全国大学生网络安全邀请赛暨第五届上海市大学生网络安全大赛 做出了两道Misc== 签到 题干 解题过程 题干提示一直注册成功,如果注册失败也许会出现flag. 下载下来是包含010edito ...

  2. Writeup:第五届上海市大学生网络安全大赛-Web

    目录 Writeup:第五届上海市大学生网络安全大赛-Web 一.Decade 无参数函数RCE(./..) 二.Easysql 三.Babyt5 二次编码绕过strpos Description: ...

  3. 2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup

    2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup 2020年网鼎杯白虎组赛题.zip下载 https://download.csdn.net/download/jameswhit ...

  4. 第三届上海市大学生网络安全大赛wp&学习

    wp 0x00 p200 先分析了程序关键的数据结构 分析程序逻辑,在free堆块的时候没有清空指针,造成悬挂指针,并且程序中给了system('/bin/sh'),可以利用uaf 脚本如下: 1.先 ...

  5. 2019 上海市大学生网络安全大赛 RE部分WP

    这次比赛就做了这一道逆向题,看到队友的WP,下面的对v10的加密方式为RC4,从我提取的v4数组就能够察觉出这是CR4了,自己傻乎乎的用OD调试,跟踪数据半天才做出来,还是见得的少了... ...下面 ...

  6. 第三届上海市大学生网络安全大赛 流量分析 WriteUp

    题目链接: https://pan.baidu.com/s/1Utfq8W-NS4AfI0xG-HqSbA 提取码: 9wqs 解题思路: 打开流量包后,按照协议进行分类,发现了存在以下几种协议类型: ...

  7. 宁波市第三届网络安全大赛-WriteUp(Misc)

    友情链接 Web师傅:skyxmao师傅 内心OS 第一次参加这种大型比赛,实力较菜,请师傅们多多指点 Misc | 完成 | 第一 下载文件,看一下doc没有任何问题, 没有发现任何隐写,然后修改文 ...

  8. 2022宁波市第五届网络安全大赛MISC方向部分wp

    BlackAndWhite 1. 得到了三百多张黑白颜色的图片,将白色图片转为数字0,黑色图片转为数字1,得到二进制字符串 01100110011011000110000101100111011110 ...

  9. ITest

    渗透测试入门 我很简单,请不要欺负我 网站综合渗透实验: 真的很简单: 你是会员吗: 2015中国网络安全大赛 一.代码执行: 同DZ漏洞全家桶中的"又见DZ,我能那你怎么办". ...

随机推荐

  1. install ceph by ceph-deploy

    使用阿里云源安装ceph Luminous https://liuxu.co/2017/09/19/install-ceph-Luminous-on-centos7-with-ceph-deploy/ ...

  2. c++命名空间---namespace

    C++ 命名空间 C++ 应用程序中.例如,您可能会写一个名为 func() 的函数,在另一个可用的库中也存在一个相同的函数 func().这样,编译器就无法判断您所使用的是哪一个 func() 函数 ...

  3. MyBatis源码分析-基础支持层反射模块Reflector/ReflectorFactory

    本文主要介绍MyBatis的反射模块是如何实现的. MyBatis 反射的核心类Reflector,下面我先说明它的构造函数和成员变量.具体方法下面详解. org.apache.ibatis.refl ...

  4. mySql存储emoji表情报错(mysql incorrect string value)

    问题分析 普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战.避免 emoji 表情符号带来的问题 ...

  5. 解决Hive与Elasticsearch共有库 guava 冲突 NoSuchMethodError

    情况描述 解决方法 方法一:Shade and relocate 简介 Shade Elasticsearch 引入shade ES jar 方法二:修改集群Job配置策略(未实验) 情况描述 使用J ...

  6. Tensorflow学习笔记——安装和运行

    参考的资料: 1.官网 2.tensorflow官方文档中文版 安装的是Python 2.7; CPU support (no GPU support),版本是1.1 pip install tens ...

  7. Excel文档间的数据替换 ---电脑版APP 自动操作魔法师

    http://www.won-soft.com/macro/solution/excel-data-replace.htm 介绍: 在我们的日常工作中, 可能经常需要使用同各种数据表格打交道.比如财务 ...

  8. PDF Transformer+与Transformer3.0功能对比

    ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...

  9. DedeCMS中channelartlist自增参数global.itemindex

    在 dede:channelartlist 标签下,使用: {dede:global.itemindex runphp='yes'} {/dede:global.itemindex} dede:cha ...

  10. [Object Tracking] Overview of algorithms for Object Tracking

    From: https://www.zhihu.com/question/26493945 可以载入史册的知乎贴 目标跟踪之NIUBILITY的相关滤波 - 专注于分享目标跟踪中非常高效快速的相关滤波 ...