第二届青岛高校网络攻防竞赛暨国内高校邀请赛 write up

昨天去中国海洋大学参加第二届青岛高校网络攻防竞赛暨国内高校邀请赛,类似于ACTF, BCTF的形式,主要有逆向,溢出,破解,隐写,web安全等等。

连续7个小时的比赛,最终做出来4道题,500分,三等奖,毕竟就是没经验。而第一名的竟然是清华的蓝莲花团队,他们到底有多么牛,见这里http://www.freebuf.com/news/others/10552.html

下面把做出来的几道题目总结一下。

第一题:

这个是逆向,直接上IDA,注意这是一个linux下的可执行程序。
210809531549234.png
210810047955213.png
明显的,主函数中调用cal函数,然后看cal函数,
210810386706630.png
4.png
cal函数,大致就是自己通过一系列的运算产生一个字符串,

然后看putin函数,
5.png
接受用户输入,然后比较,如果是对的,提示good luck。
6.png
这个程序的逻辑搞清了,自己实现以下那个cal函数就好了。注意里面有一个全局变量,先去找到它的值。
7.png
然后自己把c代码复制过来,稍加调整。

#include <stdio.h>
#include<string.h>
char word[34] = "sAFHLJAacKFvS@FeL;S_Ja*FMFSuasDnsd";

int __cdecl Cal()
{
    char v1[8]; // [sp+1Bh] [bp-3Dh]@5
    char v2; // [sp+23h] [bp-35h]@7
    int v3[9]; // [sp+24h] [bp-34h]@1
    int i; // [sp+48h] [bp-10h]@1
    int v5; // [sp+4Ch] [bp-Ch]@1

    v5 = 0;
    v3[0] = 0;
    for (i = 1; i <= 8; ++i)
    {
        v5 += 4;
        v3[i - 1] = v5 - 1;
    }
    for (i = 0; i <= 7; ++i)
        v1[i] = word[v3[i]];
    v2 = 0;
    return v1;
}


int __cdecl main()
{

    Cal();
    return 0;
}

程序写的不全,在return v1那下断点,看到值为have_fun!
8.png

第二题:你会用vim么

这个文件直接打开也是有一点信息的,但是没啥用,后来使用file命令判断文件格式,发现是vim交换文件。

liyang@vm:~/Desktop$ file hacker
hacker: Vim swap file, version 7.3

以前 其实没见过这个,初步的猜测就是vim崩溃的时候的内存dump,搜索一下,发现有由交换文件获取之前文件的办法。
vim -r xxx.swp
9.png
base64编码,那就解码,
10..png

第三题:二维码第二题,拓展名改成rar,直接解压就好了。

第四题:web第一题

这个明显的是sql注入漏洞,加一个单引号是报错,但是看着数据好熟悉,跟我搭建的DVWA渗透测试系统的数据都是一样的。

使用万能密码 1'or'1'='1 ,获取flag。

一开始想使用sqlmap去跑,但是提示不存在注入,蛋疼。后来发现没那么麻烦。

第五题:web第二题 200分。

第一个网页上面写着大大的只有本机才可以运行程序,如果直接点进去就会提示不是本机。判断ip也就是判断X-Fordwarded-For吧,使用python脚本,加一个自定义的http头,发现还是不行。

后来不经意的刷新了一下网页,有一个提示,如果继续会重复提交网页,奇怪,这个不应该是post么?回到首页。发现果然有一个隐藏的表单,把里面ip的值改成127.0.0.1,通过。

之后提示打开另一个网页,还是提示不是本机,这个确实是修改X-Fordwarded-For(参考http://www.cnblogs.com/meil/archive/2007/03/06/665843.html),修改后进入另一个网页,说COOKIE:get out,你不是admin。

这个是伪造cookie,但是cookie是什么名字呢,后来尝试了很多才想起来user=admin,这个,之前的username, account都试了。。。

5 网站入侵

http://wooyun.org/searchbug.php?q=xdcms

使用的是这样一个满是漏洞的cms系统,首先想到的就是网上去搜一下,但是搜到的利用都是有限制的,

队友最终也没有搞定。其中也搞出来了报路径,任意文件包含等等,可能是因为这个是被修改过的了。

就会这么几道题,赛后的技术交流会也讲解了部分题目,不会的题目确实就是不会了。

很多都是文件格式混淆,也没学过汇编啥的,逆向,溢出,不会看汇编代码。不过还是学到了很多,500分也不错了,很多的队伍还是0分呢。

明年继续,加油~~

a.jpg
b.jpg
c.jpg

乱七八糟的2013

首先是贴一个链接http://www.zhihu.com/question/22260598 这个问题基本上能解决很多人的困惑,就这样,我我早就是认为这个没啥区别的。了解到大多数学校都是这样,注重单科成绩却没有能够帮助学生形成一个知识的体系。如果能有所学知识体系的简单了解,我想我们在学习的过程中一定会有更大的收获。另外学校还爱瞎折腾一些没用的政治教育,浪费我们宝贵的时间。

这学期在实验室coding,算法什么的真心没学会多少,但是在这里面对自己的专业有了新的认识。计算机最重要就是去应用,而不是那些理论。算法真的很重要,但是现在并不是重点,慢慢来,能搞比较实用的东西就先去动手去做。所有的东西都是在实践中得到的,我也没有专门学习过什么数据库,什么web开发,而是不会的去现去学习,不会的就去搜索,就是这样。我还要再说一点,没有什么好学校,唯有好学生尔。好的学生应当保持对学校的独立性,学校对你的一切评价都是纸老虎。你唯一的评价标准就是昨天的自己。不要依赖学校,而是将学校作为实现梦想的平台。不要想什么集体荣誉,你要做的就是尽最大可能,利用学校的一切资源去丰富自己。我大爱在实验室认识的那些学长们,那些技术大牛们,让我大开眼界,我感谢大家对我所提的所有问题都能耐心解答。

整天说“时间怎么这么快啊,一周这么快就过去了”,是啊,现在一年又过去了。我现在还记得2013年元旦去五四广场看烟花,被困在半路回不来的场景;今年夏天新生入学去当代班,还记得自己入学的时候的情景。好好的想想的话,也不知道时间过了这么快自己学到了什么。大一下学期真心觉得是全玩过来的,现在有些后悔那时候没有尽早的去学习一些专业的东西,现在我也是经常提醒几个认识大一的技术还不错的,有空就多学学专业知识。大二搬到了中心,在实验室,主要就是算法吧,算法是一种自己很膜拜但是不会驾驭的东西,什么搜索,贪心,动态规划等等,不知道怎么去应用他们。当然这不是重点了,算法不会,我就自己去学习别的东西吧,比较成功的就是把python和django搞定的差不多了。现在和几个小伙伴们做青大团委微信的开发,空教室功能已经基本写完了,别的功能呢框架基本弄好了(https://github.com/virusdefender/qdutw_weixin)。

这个学期挺忙的,很多乱七八糟的事情也都不再去搅和了。但是还是真心没有好好学习其他的知识,还好英语什么基础还算是比较好的,看个什么英文的官方文档压力倒还不大,但是别的呢,什么工数,什么日语就不忍心再提了。其实我以前认为那种早起背英语,上课认真听,好好的写作业,然后专业课很厉害,能写很多项目的自己原来是是不存在的。

2014年事情是超级超级的多,首先是英语四六级,你怎么也要准备一下吧。据说可能还有什么日语三级,我这直接只会说“你好,我是***,初次见面请多多关照”的情何以堪。还有什么蓝桥杯,我打算是蓝桥杯完了就跳槽去另一个实验小组,那就意味着有更多的实际开发任务在等着~~还有团委合作的开发项目等等~~实际开发能力是我认为最重要的吧。

好吧,2014算是我的大学生活正式开始了吧,这才是大学,以前的生活弱爆了啊~~