昨天去中国海洋大学参加第二届青岛高校网络攻防竞赛暨国内高校邀请赛,类似于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