ctf比赛经历(一)

时间:2019.4.20-21 **
**比赛:全国大学生信息安全竞赛 **
**记录时间:2019.4.21

这里不分享技术,仅当作个人成长轨迹进行记录。

作为一个web狗,今年来ctf题目中web的数量已经越来越少,一方面因为web安全已逐渐成熟,漏洞方面也越来越少越来越难,举办方题目不好出。这些在开赛前已经有心理准备了。

不出所料,第一天仅有2道web题,还是分时间段发布。第一道web题是反序列化,第二道题是sql注入的。一开始放出反序列化的题目,瞬间觉得好难,因为平时真的留意到这方面的ctf但没学过这方面的知识,所以花了很多时间在学习中,可以说临阵磨枪。但最终也收获了超多序列化的知识,看久了就算精通了…吧。最后还勉强解出来了…

然后重点吐槽sql注入,这方面我曾经自信满满到碰撞的地步了,常规注入,盲注,布尔注入和变形等都算熟识了。但这题真的严重打击到我了,单引号逃逸出来的部分不能执行且报错,严重困扰到我。还有那字符替换,我毫无头绪,只能在错误的方向上越做越偏。

然后其他题目我也没怎么看,pwn和逆向这方面几乎零基础,所以几乎没看。杂项的几道题,实在没有思路,这次的似乎还涉及到iot等方面,更是难上加难。密码学方面造诣不足,有心无力。

然后第一天结束了,了解到一点风声,尝试了一下,发现sql那题其实挺简单的(明确一下,所有sql注入一旦找到注入方法,就稳了),是注入点我没找到。这涉及整型溢出注入,这方面我居然“完完全全”没听过,这算是一大打击也算一大幸事。

第二天斗志昂扬,但最终还是收获零蛋。两道web,一道是php数学函数利用,一道是文件包含(猜测,仍未解)。

每次做题都会遇到坑,而总是遇到坑才会去补坑。数学函数这些平时没了解过,而且我一开始把注意力集中在绕过正则验证,想直接eval()执行传参。但我一开始都看出来了,正则是非常完善,没空子钻的,但还是一味地测试。想想真的是愚蠢极了。而另外一道web,找到了很多隐藏文件和hint,最后卡在文件上传那里。文件上传机制和文件包含机制都强制添加文件尾,想截断又做不到。(一直怀疑方向走歪了,但真的走不下去了,只能硬解,胡乱上传,胡乱搜索解析漏洞)。真的绝望极了。

另外,非常戏剧性的是,在最后1分钟才注意到web1数学函数里的base_convert(),原来这里就是利用点,把其他纯数字的进制转换成特定的32进制,然后数字用进制表示即字符,控制字符拿flag。想想自己绕了这么多弯路,就从来没有正视过可利用的,真是愚蠢之极plus。

收获

  • 反序列化
  • sql整型溢出
  • 进制编码转换利用

心得

一次ctf让我把以前的知识点全部加深了N遍,真是收获颇丰。尽管这次ctf对我来说是失败的,但我收获的东西价值颇高。这次ctf,让我反思了自己的做题思路,让我了解了很多安全知识和漏洞,另外加强了我的实操能力。

鼓励

很多不足在这次ctf中体现了出来,这算是一种好事,能让我亡羊补牢。至少现在我还是信心满满,期待着下次触底反弹。(都是假的)

发表评论

电子邮件地址不会被公开。 必填项已用*标注