第六季极客大挑战Writeup

被Jimmy拖去玩第六季极客大挑战,跟着他解锁了新的技能和成就.....重要的是,我才发现我TM逆向好渣啊!

其实我本人完成的题目并不算多,逆向也是一个没动,在此就不拿来献丑啦,搬个别人的,这位大神的思路是很清晰的哦!

Vous ferez Fran?ais

提示说需要会法语,http头中的Accept-Language就是表示语言,法语是fr-FR,修改这个提交就能拿到flag

小明

打开后发现url后面是file=xxx.php,感觉这就是LFI没跑了,然后在http头中发现一句话

Tips:try to read README

访问发现让读这个网页的源码,使用php伪协议读取,解base64发现flag

3.png

http_

打开发现说页面什么都没有,再结合题目,可以想到应该藏在了http头中

小明2

看到上面的提示是,机器人为网站工作,想到robots.txt,访问之后发现index.php.bak
源码中可以发现这么一段代码

是一个变量覆盖漏洞,post或者get提交whattodo=save the world!即可拿到flag

asp你会吗

看到asp文件里面是VBscript加密,解密之后看文件内容,这种在webshell里找flag的一般都是后门密码。 搜索一发pass,很快就找到flag了。

签到题

去微博和官微私信就能拿到flag了

小彩蛋

提示是zone里藏着一个小彩蛋,可儿说要用前端的思维去想,然后先看了下console,发现并没有什么东西,然后找css的时候,发现flag

神秘代码并不神秘

可以看到这是一段shellcode,在网上抄了一段执行的c代码,编译运行之后发现提示段错误,然后沐师傅说,编译也要带姿势的,然后去网上找了一个编译的姿势,编译之后直接运行就打印出flag了( 必须要在32bit下才行,64bit会一直段错误的。。 )

口号更新

在zone的注释中可以看到一段提示

然后直接访问/slogan是不行的,上burp测试之后发现,是要post提交slogan这个参数,值为flag_flag_flag的时候,就可以看到打印出了flag

饼干饼干饼干

访问之后发现提示需要从谷歌过来,那么上 burp 将 referer 改成 google 之后,又发现提示不是管理员,这时在 cookie 中发现 is_admin 的键值,将值改为1,再提交,得到 flag

Transposition cipher

把加密后的文档保存在1.txt中

跑一下就能在里面找到flag

土豪的密码

按密码学的看法来说。。。这个算法不会出两个一样的值,而且没有OTP,所以直接通过明文ascii(32, 127) 推出来每个字母加密后的密文, 通过密文的数字来倒着找明文也行

消失的flag

根据题目提示,分析pcap包
http and http contains "png" 得到五个图片
图片的内容为5个文件的各种计算之后的值

毕竟Jzhou师傅有计算平台,于是....就决定了爆破sha1,其实cmd5后面四个图的密码,一条一毛而已,第一个用膝盖想想也是 SYC{

AAencode

颜文字。解密后发现是console.log("xxx"),那么复制这一段直接放console中运行,就可以得到一串base32编码,解开就是flag

P.S.如果自己想做加解密的话,附上地址

http://tools.deamwork.com/crypt/decrypt/aadecode.html

大鲨鱼

用Wireshark打开之后直接File->Export->Objects->http,可以看到flag.jpeg

保存出来打开就能看到flag

会不会写代码?

下载下来发现.git文件夹,然后git log查看一下

回退到上个版本并没有什么卵用,所以进Objects目录下开始看,从14开始看tree,发现flag.txt blob,看一下内容,发现是个base64编码的内容,解密得到flag

遗失的密码

根据题意,管理员密码为 'joker'+YYYYMMDD格式的字符串,这里可以用如下代码生成字典并保存在1.txt中

在制作完字典之后,我们需要把给出的那个密码串保存在pass.txt中

最后下载安装john 执行

30s左右即可得到密码

sqli1

加单引号之后报错了,很简单的一个sqli,直接union查出来

SYC美男子

拉进IDA之后,可以很快找到这一个关键的函数

1.png

在函数开头的位置, sub esp,88h 知道这个函数开了88h字节的空间,在函数开头的位置,定义了一个变量,这个变量所处位置就在栈顶,毫无检查就直接scanf,造成了栈上的一个溢出,找 到getflag函数的地址08048B06,因为变量在栈顶0h处,使用88h字节的junk来填充,写一个exp(小端)

2.png

SYC美男子二

让拿shell,然而一开始入坑了,scanf是不能接收0a 0b 0c 00这些字符的,所以用msf生成一段规避这些字符的shellcode,然后再junk+jmp esp+shellcode就可以拿到shell了

5.png

(感谢沐师傅的关爱,解锁了一些体位)

sqli2

在参数后面不管加什么都不好使,猜想是不是宽字节注入,于是输入uid=1%bf',发现报错了

sqlmap有个功能,可以使用tamper的脚本来进行自定义的注入攻击,这里面有个叫做unmagicquotes,就是提供的宽字节注入,sqlmap跑一发,拿到flag

sqli3

这个题,柠檬牛要背锅。。
一开始打开,发现没有了前面2个题的提示,不知道注入点在哪儿,只看到一张图片,
360那个比赛上出现过,web题的入口点全都是隐写在图片里面的,所以这次下载下来,打开发现图片最后加了提示

可以知道注入点是lalala,但是加了之后并没有什么卵用,fuzz知道他过滤了空格,而且类似%0a,换行都不起作用,感觉有毒一样,猜想是不是注入点的位置有点奇葩,柠檬牛给了个hint说这有白盒,然后在根目录下找到www.zip,解压得到一个php文件

他把过滤的地方给省略掉了。。 但是知道这是Limit后面的注入,于是我们可以构造出一条payload:

http://sql.sycsec.com/d07127c7c9267637d554c3f79e1ee203/?lalala=1/*a*/PROCEDURE/*a*/ANALYSE(extractvalue(1,concat(0x7e,version())),1)

爆出了他的版本号,然后就是flag了,这个地方有点污,他的表名里面含有#,而且还过滤了空格,但是查询语句是可以这么写的 select(columns)from(table),这么一来就bypass了空格过滤,mysql里面可以用反引号来区别,所以构造最终爆 flag的payload是(记得#要urlencode)

http://sql.sycsec.com/d07127c7c9267637d554c3f79e1ee203/?lalala=1/*a*/PROCEDURE/*a*/ANALYSE(extractvalue(1,concat(0x7e,(select(flag)from(%23flag_this)))),1)

得到flag

bypass it

一道bypass上传的题,番茄师傅刚发出来就有人截图说秒了 ,一下子就慌了,一开始想复杂了,随便传了一个文件之后发现给出了路径,但是这没什么卵用,正常传了一个php文件发现提示是。
php is the best programing language!!!^_^ 额。。 对此不发表意见。 看到这个提示,想到会不会是用php的解析格式来绕过,于是传了个php5后缀,然后就拿到flag了

仔细瞧一瞧

打开只有一张图,下面说没有隐写,看了这句话,我决定把图片下下来。在图片结尾的地方看到了一个PK头,不用看了,直接改后缀成zip解压得到一个txt,看里面的编码

[/crayon] 这是html实体,直接把txt后缀改成html,可以得到一串像是flag的东西

[/crayon] 很明显做了位移,V->S 需要像后移动三位,就可以得到flag了

dede

一开始因为番茄表哥的ban人脚本,不敢扫,后来才知道根目录有个web.zip,下载下来看到index.php有古怪,在最上面有这么一段代码

在ph老师之前一篇文章中提到过这个回调后门,https://www.leavesongs.com/PENETRATION/php-callback-backdoor.html,菜刀链接:http://cms.sycsec.com/?fun=YXNzZXJ0 密码 cmd,在根目录下找到flag

6.png

三叶草留言板

使用String.fromCharCode就能绕过了,xss平台打到了后台地址和cookie

4.png

伪造一下cookie进入后台就能看到flag了

简单的linux逆向

拉进IDA,看到关键的函数

1.png

跟进compare

2.png

依次做异或操作,写个python来完成

运行得到flag: Ea3y_C7ack_Me_Have_Fun

L_Re100

这题是JZhou老湿跟出来的,远程调试一发就行了。 从来不看news的师傅据说刀都买好了

1.png

然后就可以看到hint所说的关键字符串变成了这样。。

2.png

好简单啊

这题着实被IDA的F5坑了一把

其实真的好简单,关键处理代码的f5之后是这样的。然而。。 有坑

QQ截图20151104192146.png

不要相信这个了,还是老老实实看着汇编cmp jnz慢慢跟吧

简单Win_RE

(感谢寸芒师傅)

首先知道需要在程序目录下有一个key.bat,然后要从里面一个一个读数据,然后做一堆计算,在OD中跟到关键算法

3.png

看到这三句

[/crayon] 这里低三位和高五位做了个互换,然后or一下依次和byte_406030的这16个值比较

[/crayon] 左移5位,右移3位,这个是可以互逆的,所以这个可以用左移3位,右移5位来逆出正确的值

===================================

嘛嘛,后面的再补充吧。。。Post via

声明: 本文采用 BY-NC-SA 协议进行授权 | Deamwork
转载请注明转自《第六季极客大挑战Writeup
本文地址:https://www.deamwork.com/archives/geek-clg-s6-writeup.orz6

回复 (0)

› 尚无评论。

发表评论 修改评论取消编辑

允许使用的标签 - 您可以在评论中使用如下的 HTML 标签以及属性。

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img src="" alt=""> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

 :mrgreen:  :|  :twisted:  :arrow:  8O  :)  :?  8-)  :evil:  :D  :idea:  :oops:  :P  :roll:  ;)  :cry:  :o  :lol:  :x  :(  :!:  :?:

引用通告 (0)

› 尚无引用通告。

欢迎来到Deamwork! o(∩_∩)o
X