您的位置:首页 > 理论基础 > 计算机网络

第二届360网络攻防大赛--我是一只逆向狗

2014-05-25 20:20 323 查看
    嗷,被web血虐了一天,逆向狗伤不起啊,现在看到逆向都跟见了亲人一样,那么的熟悉、温暖。

    这次比赛与其它ctf差异较大,不是你想做什么题就做什么题,第一天我也就做了10分、20分、40分的题,还是在比赛举办者开了这层题的情况下才见到的题,80分的题到现在我还不知道长啥样,160分的题是在比赛还有2分钟结束时我们团队才有权开启,真坑!

    下边就说说题吧。(题目链接:http://pan.baidu.com/s/1pJJODVt)

 

    第一题太简单了就不细说了,就是对固定用户名“strabbery”(好像是这个单词,不过不重要)进行算法变形,然后得到一字符串与输入密码比对,实在没技术含量。

 

    第二题题目说是有一个bug导致程序不能运行,提示是修补bug或是静态分析算法。明眼人一看就知道第二种方法最麻烦,我一开始以为要进行PE修复,通过检查PE头没发现问题,就没再往下看,如果是后边的问题那复杂度远超20分的价值了,IDA看了一下,函数不多,提示也不多。OD开跑,





这就是加载程序的入口处,经过分析,运行程序要加上参数pass.db,然后virtualAlloc分配一片内存空间存放从pass.db中读到的内容,问题就出在这里,virtualAlloc中的size参数是0,分配失败,于是我提前改了402ffa中的内容,使它大于pass.db里的内容就行,然后对pass.db里的内容进行如下算法运算




得到一新字符串,这个就是key了,当然它可没说它是key,提交试试才知道,所以通关成功后还有些不敢相信,这么快就过了?

 

    这次逆向是没做够瘾,尤其是想做却不能做的时候,我从中午开始就没逆向可做了,看看加密解密、网络协议、数字取证、web,也都是从网上查资料,现学现做,真是伤脑筋,直到4点离结束还有1小时时,我们可以做第三题了

 

第三题是说程序被感染了,跑不动。

PEID查看了一下,没加壳,然后用IDA试试,1799个函数,分析也麻烦,直接用OD加载喽。F8单步一下就到了下图,




[b]凭直觉输入第二个字符串,长的挺像这次比赛的key的,可是不对,但是这程序跑不了啊,怎么办,查字符串呗,[/b]









   找到了几个像key的字符串,抱着试试的态度往提交框中输入,还真通过成功,10分钟就得到key,还真是简单。

 

   还有2分钟时,我可以做第5题了,是一道exploit题,My God!我的主打啊,虽然看着有点难度,不一定能做出来。还是很可惜,大量时间被浪费了,没时间做那道题,到今天我都忘记题目要求了,等官方放题后看看有没有机会做一下。

 

   逆向狗不会web真的很坑,要好好学学web了。同时也发现,华中赛区基本上是垫底的了,我们的路还有很长要走。

 

PS

      

在网上找到了第四题,真是可惜了,没在比赛时看到,要不然多振奋军心啊!原因见下图

 


这个图可不关我的事,管理员请勿删!!!

这一题共有两个文件



那个exe打开后如下图



       看到那个图片了么,还有一串像key的数字,我猜那串数字一定不是key,而且也不是隐写的题,要不然怎么放逆向这边了呢,所以咱还是要分析这个程序,经过几番尝试,知道源文件编辑框中输入上边这张图,数据文件是你要加入的数据,用txt保存,目的文件是将以上两个文件组合成第三个文件,所以这个目的文件也要是bmp文件。

点按钮“开始隐藏”,会弹出“隐藏信息完毕!”的对话框,可这怎么得到key呢,我们只有从图片中提取key。

用IDA看看,



发现不但有“隐藏信息完毕!”,还有“提取信息完毕!”,找到引用该字符串的代码,在401DD2处,向上翻,



有两个CreateFile,然后又两个ReadFile,又有一个WriteFile,发现CreateFile中的Filename是空的,应该就是那两个特别小的编辑框了,用PE-Explorer将编辑框放大。



就可以输入文件名了,可是怎么到达这处代码呢,看“开始隐藏”,

这部分功能代码与提取信息的那部分代码相似。



具体就不分析了,因为无关紧要,直接改代码,使它跳转到提取信息的代码处



运行



这时候2.txt中就有key了,“B0ACD1BDA3FD1CD6”。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: