第一题 栅栏密码
五栏解密成功得到flag
第二题
一张图片 很明显是摩斯电码拉长了,修改图片高度得到摩斯电码
摩斯电码解密得到flag
第三题
打开是一串字符串EzkuM0yGAzA2n3WbEaOJEHuOFmuOpN==看起来是base64,但是解密时错误,猜测是经过变换了,常见的变换看不出来有什么变化的就是rot了,试试rot13再base64得到flag
第四题 js(未解)
第五题 算法逆向
function encode( $str = '' ){
$strrev = strrev( $str );
$string = '';
for( $i=0; $i < strlen($strrev);$i++ ){
$char = substr( $strrev, $i, 1 );
$ordChar = ord( $char ) + 1;
$char = chr( $ordChar );
$string = $string.$char;
}
$string = base64_encode( $string );
$string = strrev( $string );
$string = str_rot13( $string );
return $string;
}
字符串是 ==jEgWTn8kJrRyRFBuKJLuzH1LmDTAzs
先是字符串逆置,然后逐个字符ascii加1,再经过base64加密,再逆置,再rot13加密,逆序加密过程就得到了flag
第六题(未解决)
Crypt-命运石之门
第七题
LINUX逆向,先是strings看了一下,输出了where is flag? 用IDA看一下也是代码很少,只有main函数有点可疑,
看到了好几个奇怪的数字,右键转换字符串看到了flag字样。。。。
应该flag是从右向左看FLAG -409849uio2jklsj4kl
第八题(未解)
又是一个linux逆向
第九题(未解)
又是一个linux逆向
第十题 (未解)
一个creakme
第十一题
日志分析,打开文件是sql注入日志文件,应该存在盲注组成flag,把日志中的url编码转一下方便阅读
从下面可以看到查询的是char_db下的flag表
CONV函数是转换数字进制,比如CONV(5,16,2)=101,是把5从16进制转换为二进制,这里可以看到字段名也是flag
经过大佬的提醒才知道日志时间顺序被打乱了,这里是基于时间注入的,把时间排序之后看起来就有头绪了
附上排序脚本
这样得出来是时间对应的字符位置比如['13:15:17']['4']说明这个字符第四个位置的二进制值等于1,相同时间取最后一个值,比如
['13:15:17']['2']
['13:15:17']['3']
['13:15:17']['4']
['13:15:17']['5']
['13:15:17']['6']
['13:15:17']['7']
这样的就取7,也就是这个字符的第七个位置的二进制值是1,和其他位置拼起来转换二进制,相应位置改为1,再逆序就得到flag的二进制了
第十二题
做完事情要把屁股擦干净,这题没有思路,最后看了writeup才知道原来是编辑完vi文件之后有备份,只用ls是看不到全部文件的,要用ls -al
最后vi -r .me.swp看到了flag
第十三题流量包
题目没有提示,先过滤了http包,看了几个响应包得到flag
第十四题 流量包(未解)
第十五题
磁盘恢复,winhex打开文件,看到flag
第十六题
DR notepad++打开搜索flag得到flag
第十七题 好基友
打开是jpg图片,binwalk分析看到zip文件,解压得到flag
第十八题
打开是jpg图片,详细信息看到flag
第十九题
损坏的gif图片,修复头文件得到flag
第二十题
打开时docx文档,改成zip解压缩得到flag.xml,看到flag
第二十一题
加密压缩包,提示银行卡密码,6位数字字典得到密码,解压出来是docx文档,全选右键->字体->把隐藏属性去掉得到flag
第二十二题
字符统计,简陋的脚本
s=input_raw("")
l=range(len(s))
for i in range(len(s)):
l[i]=s[i]
for j in range(len(s)):
count=1
for k in xrange(j+1,len(s)):
if l[j]==' ' or l[k]==' ':
pass
elif l[j]==l[k]:
count+=1
l[k]=' '
if l[j]!=' ':
print l[j]," ",count
第二十三题
打开题目是一个hint.txt的文档,是很多的坐标值,还有一个mp3文件,先看看hint是什么吧,用python的Image模块把图画出来
得到一个二维码,扫描结果是 MP3stego的密码在1000-1300之间。已经给了mp3密码的范围了,剩下的就是跑字典解密码了
写个脚本破解
第二十四题
F12看源码得到flag
第二十五题
一串串的数字,刚开始没明白什么意思,后来google了一下,看到实验吧有类似的题,而解题步骤就是writeup上的步骤,题目要求是求其中在一条线上(行、列、两个对角线)连续四个数的乘积的最大值,这里是实验吧writeup
http://www.atomsec.org/%E7%BC%96%E7%A8%8B/%E8%A5%BF%E6%99%AE%E5%AD%A6%E9%99%A2ctf%E7%BC%96%E7%A8%8B%E9%A2%98%E4%B9%8B%E8%80%83%E8%80%83%E4%BD%A0%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%8A%9F%E5%BA%95/
写个脚本跑一下就很简单了
第二十六题
手机九键得到flag
第二十七题
名字是flag.exe,winhex打开看起来是vim输入方式
本来以为是照这样的方式输入得到flag,谁知道flag就是最后这一串字符。。。。。不按套路出牌
第二十八题
解压打开就是flag
第二十九题
看了图片没有什么思路,看了writeup是google了这个图片,学习一下
第三十题
打开是流量包,导出看到有一个zip包 ,导出保存,文件名是birthday,有加密,那就是8位数密码了,爆破解出图片,右键详细信息看到flag