zoukankan      html  css  js  c++  java
  • 网鼎杯第一场wp

    网鼎杯第一场WriteUP—-china H.L.B 团队

    文章地址:https://www.o2oxy.cn/1661.html

    1、签到题

    回复1f5f2e进入下一关 

    2、Clip

    下载题目是Disk 文件。第一反应是linux虚拟硬盘。

    用winhex 打开如图:

    在winhex中第196280 发现了png的头文件如图:

    png 16进制文件头以 89504E47开头

    第一张图片:

    第二张图片

    使用PS拼接如下如:

    3. minified 

    用Stegsolve 打开图片

    打开 Stegsolve 选择Data Extract 查看图片通道,如图,

    选择0 通道发现是LSB 隐写。

    分别把 alpha green 和blue 的0通道另存为 再进行异或处理 最终在alpha 和green 中发现flag 

    4、beijing 

    题目给了我们一个linux 下可执行的程序、放在虚拟机执行如下:

    拖到IDA 里面进行尝试分析一下程序的逻辑、经过分析程序主要处理的两个函数、主要逻辑如下”

    main 函数21次调用了encode 函数 然后将返回的结果按照字符打印如下

    encode 函数按照a1 的数值进行对饮的亦或运算、返回char 类型结果 

    查看或部分对饮的数据段和对应的hex 数据

    数据段数据hex数据

    这里可以看到这段数据大部分都是可见字符、因此可以假设flag 就在这段数据中、但是顺序是被打乱的、而正确的main 函数的中的顺序

    encode :

        return flag[i]^xor[i]

    main:

       list[]   <– 记录正确的flag打印顺序

       print encode(list[i])

    按照上面的理论 、可以得到如下的分组:

    最后运算脚本:

    python:

    result=”

    for i in range(0,20):

      result +=flag[list[i]]

      print result 

    Flag: flag{amazing_beijing}

    5、advanced 

    把题目放入linux 中尝试运行了一下:

    得到的数值进行ASCII 转换如下

    解密得到内容使用脚本得到flag 如下:

    Flag{d_with_a_template_phew}

    PDF 下载:http://www.o2oxy.cn/wp-content/uploads/2018/08/China-H.L.B-网鼎杯部分WriteUp.pdf

     
  • 相关阅读:
    组件开发的博客信息
    读书片断之 开发自定义HTTP模块
    .NET2.0抓取网页全部链接
    数据分页处理方法汇总(例子)
    GridView添加统计(合计)行
    JS中$含义及用法
    Hashtable, ArrayList, List, Dictionary学习
    C#自定义消息映射!
    winform等待窗口
    DataView的RowFilter特殊字符的处理
  • 原文地址:https://www.cnblogs.com/liang2580/p/9513850.html
Copyright © 2011-2022 走看看