N1CTF 2018 lipstick WriteUp (bugku——多彩)

一开始是在bugku网站上看到这题的。。后来了解到是N1CTF2018国际赛的题。。

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第1张图片

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第2张图片

 

将图片下载下来之后放入Stegsolve。。。

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第3张图片

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第4张图片

看到了这个。。。(杨树林???)再加上题目是lipstick。。。心想着肯定与YSL的口红有关。。。

先分析下。。点击Analyse——>Data Extract

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第5张图片

看到有个PK头。。心里有数。。直接save bin 存为zip格式

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第6张图片

打开压缩包。。发现是加密的。。

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第7张图片

经过尝试发现并不是zip伪加密。。。后来实在猜不到密码。。就上网找了下wp。。发现密码竟然是YSL对应口红色号的二进制转字符串。。。(心态有点崩)。。。这里附上wp的地址

https://www.secpulse.com/archives/69465.html

行吧。。先打开PS取色。。

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第8张图片

记下这21个颜色代码。。。

然后就去找YSL的口红色号(手动捂脸。。)

https://www.yslbeautyus.com/on/demandware.store/Sites-ysl-us-Site/en_US/Product-Variation?pid=194YSL

这里我用php写了个脚本。。(为什么不用python。。因为python没学好。。)

/';
            preg_match_all($pat,$rr,$dd);
            $color=array_flip($dd[1]);
            $num=$dd[2];
            //print_r($num);die;
            $arr=array('BC0B28','D04179','D47A6F','C2696F','EB8262', 'CF1A77','C0083E','BC0B28','BC0B28','D13274', '6A1319','BC0B28','BC0B28','D4121D','D75B59', 'DD8885','CE0A4A','D4121D','7E453A','D75B59', 'DD8885');  //这里是用ps取到的颜色代码
            foreach ($arr as $k => $v) {
                  if(in_array($v,$color))
                  {
                        print_r($num[$color[$v]]);
                        echo "
"; } }

运行之后发现。。。

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第9张图片

少了一个色号。。。(心态又崩了。。可能是因为网站更新了。。找不到这个色号。。)

后来翻了一些其他的网站发现空着的色号是76(当然。。看一下别人的wp也能发现)

现在就可以将这些色号编码转为二进制。。然后再转为字符串。。

这里就需要用python了。。(因为这个转换不难。。刚好会)

# -*- coding:utf8 -*-
import sys
import libnum

ss=''
s=[1,27,59,11,23,7,57,1,1,76,222,1,1,50,214,6,77,50,53,214,6]
for i in s:
	ss+=bin(i)[2:]
print ss
type = sys.getfilesystemencoding()

print libnum.b2s(ss).decode('utf-8').encode(type)

这里需要安装libnum库。。。

github地址 

https://github.com/hellman/libnum

直接就python setup.py install

详情可以参考这篇博客

https://www.cnblogs.com/pcat/p/7225782.html

运行脚本得出密码

N1CTF 2018 lipstick WriteUp (bugku——多彩)_第10张图片

 

密码为白学家。。。。(竟然还是中文的。。心态又崩了)

flag

 

 

你可能感兴趣的:(ctf)