美文网首页
X-NUCA2017线下赛赛后总结

X-NUCA2017线下赛赛后总结

作者: Killshadow | 来源:发表于2018-01-13 10:49 被阅读0次

    这篇文章主要从防御角度来写,防护好自己的服务器,免受对手拿flag,以及如何绕过AWD模式下主办方的checker。比赛之前都是在做逆向的,学了几天Pwn,Patch方式比较粗暴,希望大佬别见怪,应该有很多疏漏,请指出。


    Calc

    kali下执行该软件,输入各种计算,构造内存泄漏
    Calc文件计算部分函数
    相对应的16进制编码
    用010直接改申请的内存空间大小

    关于使用malloc需要注意的地方:
    A、申请了内存空间后,必须检查是否分配成功。
    B、当不需要再使用申请的内存时,记得释放;释放后应该把指向这块内存的指针指向NULL,防止程序后面不小心使用了它。
    C、这两个函数应该是配对。如果申请后不释放就是内存泄露;如果无故释放那就是什么也没有做。释放只能一次,如果释放两次及两次以上会出现错误(释放空指针例外,释放空指针其实也等于啥也没做,所以释放空指针释放多少次都没有问题)。
    D、虽然malloc()函数的类型是(void *),任何类型的指针都可以转换成(void *),但是最好还是在前面进行强制类型转换,因为这样可以躲过一些编译器的检查。


    Csgd

    这些字符串让我们想起了昔日熟悉的CS
    跟进/opt/xnuca/flag.txt,我们会看到有/bin/sh
    所以,就进跟进/opt/xnuca/flag.txt字符串, 然后F5反编译. 结果如下:
    sub_402B5D这个函数的作用就是用来获取后门
    所以直接在这个函数头部ret, 成功绕过checker

    Fileparser

    获取flag路径的16进制
    这题我们直接在16进制里修改获取flag的目录, 没想到居然绕过了checker.
    有师傅说会被检测到, 可能是因为没有在相应目录下创建flag.txt吧, 把路径修改为/home/xnuca/flag.txt, 此外在这个目录下构造了一个假flag.

    相关文章

      网友评论

          本文标题:X-NUCA2017线下赛赛后总结

          本文链接:https://www.haomeiwen.com/subject/jktfgxtx.html