「配枪朱丽叶。」

RootのCTF学习笔记。

ctfshow:STEGA部分做题记录

stega1

题目下载

我要好好批评自己!!有工具想不到!
用010还有binwalk操作了一顿都没有找到什么,因为格式是jpg,有一种针对jpg的隐写工具叫jphs。
https://s2.ax1x.com/2020/03/01/36hThV.png
载入后点击Seek,不用填密码,直接保存就可以得到flag。

stega10
strings这个文件发现一串可疑字符:

aHR0cHM6Ly93d3cubGFuem91cy5jb20vaTliMGtzZA

解码后访问,取消了分享。卒。

stega11

题目下载

这道还算简单啦,两张jpg的连接处有一串base32。解码得到flag。
https://s2.ax1x.com/2020/03/01/367B7Q.png

stega2
改高。

stega3

题目下载

图片结尾提示NTFS。使用ntfsstreamseditor导出flag即可。

stega4
两张图片,考虑盲水印。

文本隐写

题目下载

显示隐藏文字得到:

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

两种字符,想到二进制,解密得到:

offse:0x3490

把文件用010打开,找到3490:
https://s2.ax1x.com/2020/03/01/36HHaQ.png
解密base32,得到提示:

key:14位的纯数字

继续观察3490h,发现和0000h很相似(如下图),就是差一个zip文件头,给它补上。
https://s2.ax1x.com/2020/03/01/36bkGR.png
提取出来3490h往后,修改后缀为docx,得到一个新的文档:
https://s2.ax1x.com/2020/03/01/36byQ0.png
很明显底下有白色的字,但是是兼容模式,不能动qwq,需要破解保护密码。
用神器可以移除。
https://s2.ax1x.com/2020/03/01/36qim8.png
得到:

RmxhZyU3QnNob3dfY3RmX3Rzd19jYyU3RA==

解密得到flag。

stega5
stegsolve神器可以查看到二维码。
扫码结果如下:

03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000

以前做过类似的知道03f30d0a是pyc的头。
在线反编译得到:

def flag():
    str = [
        102,
        108,
        97,
        103,
        123,
        51,
        56,
        97,
        53,
        55,
        48,
        51,
        50,
        48,
        56,
        53,
        52,
        52,
        49,
        101,
        55,
        125]
    flag = ''
    for i in str:
        flag += chr(i)
    
    print flag

解ascii得到flag。