2018 DDCTF writeup
杂项第一题
Screenshot from 2018-04-15 12-21-07.png首先看题目,什么鬼看不懂百度一波,是颜文字。然后各种查找,无果。
然后尝试,将地下的编码解码,一看就是hex然后去解码,发现都是看不懂的编码,然后百度一波ascii码
这段文字说ascii有两种7位或8位。标准的,也就是我们常见的就是7位的
所以它的范围是0~127,而我解出来的码是乱码,所以猜测可能他用的是8位ascii,然后将hex按每两位一段去转十进制再减去128,再来解码得到flag。
第二题
第四扩展FS
D公司正在调查一起内部数据泄露事件,锁定嫌疑人小明,取证人员从小明手机中获取了一张图片引起了怀疑。这是一道送分题,提示已经在题目里,日常违规审计中频次有时候非常重要。
首先foremost提出来一个zip,有密码,查看图片备注(这个最好在windows下去查看),用里面的备注去解密就行了。得到一个file.txt。
第三题
Screenshot from 2018-04-30 19-35-55.pngwireshark打开数据包,查看数据包统计
Screenshot from 2018-04-30 19-37-16.png
选择Statistic-->Protocol Hierarchy
Screenshot from 2018-04-30 19-37-47.png
可以看到tcp-->ftp data 占93.5 Percent Bytes
于是先查看ftp包
Screenshot from 2018-04-30 19-43-42.png Screenshot from 2018-04-30 19-44-00.png
可以看到有Fl-g.zip和sqlmap.zip两个包,但是后面没有具体数据,所以想提取出来是没戏了.
在看看之前的协议统计,还有smtp,ssl协议存在.
查看smtp包
找到一张图片,是经过base64加密的
将其提取出来,
file-->export objects -->imf-->...-->save
Screenshot from 2018-04-30 19-52-09.png
这里注意要提取的包的序号是9285.
Screenshot from 2018-04-30 19-55-18.png
附上一个解码地址(可以将图片转base64,base64转图片)
http://www.vgot.net/test/image2base64.php
Screenshot from 2018-04-30 19-57-41.png
将图片下载下来找个识图网站.
http://ocr.wdku.net/
****会出错所一定要自己对比一下结果.
得到结果后将格式补全 ---- Screenshot from 2018-04-30 20-03-02.png
导入wireshark
edit-->preferences-->ssl
Screenshot from 2018-04-30 20-04-39.png
Screenshot from 2018-04-30 20-05-29.png
follow http stream
Screenshot from 2018-04-30 20-06-15.png
web
第一题
Screenshot from 2018-04-16 00-56-15.png Screenshot from 2018-04-16 00-56-53.pngmodify headers 插件该下X-FORWARD-FOR
Screenshot from 2018-04-16 00-58-08.png
二话不说看源码
Screenshot from 2018-04-16 00-58-55.png
里面有一个author参数是隐藏的,search按钮是通过函数submit()提交参数的.
Screenshot from 2018-04-16 01-00-34.png
看下main.js
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('e f(0,4){5 7=\'\';l(i m 0){n(i!=\'c\'){a=\'\';a=i+\'=\'+0[i];7+=a}}o k(7+4)};5 0={8:\'\',9:\'\',b:\'\',6:\'\',d:h(j v().u()/w)};e x(){0[\'8\']=1.2(\'8\').3;0[\'9\']=1.2(\'9\').3;0[\'b\']=1.2(\'b\').3;0[\'6\']=1.2(\'6\').3;5 c=f(0,4);1.2(\'g\').q="p.s?r="+c+"&d="+0.d;1.2(\'g\').t()}',34,34,'obj|document|getElementById|value|key|var|date|str0|id|title|str1|author|sign|time|function|signGenerate|queryForm|parseInt||new|hex_math_enc|for|in|if|return|index|action|sig|php|submit|getTime|Date|1000|submitt'.split('|'),0,{}))
里面有submit
再看看math.js
首先可以看到一段描述
/*
- A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
- in FIPS PUB 180-1
- Version 2.1-BETA Copyright Paul Johnston 2000 - 2002.
- Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
- Distributed under the BSD License
- See http://pajhome.org.uk/crypt/md5 for details.
*/
sha-1 加密
百度一波js sha-1解密
http://www.jb51.net/article/82831.htm
Ctrl+F 看看有没有author,结果还真有.
python 调用js