作为菜鸟的我,开始想通过玩玩ctf,加深自己对漏洞的理解,和掌握一些绕过的思路。真的很好玩
[ACTF2020 新生赛]Exec
这是我做的第一道有关命令执行的题。(题目简单,就不贴图了) 1.通过标题,和一进去的ping的页面,就知道这里考的是命令执行,又因为这里是新生赛,难度也不大 2.通过我所学的知识,用‘;ls’,查看当前目录,然后就行通过echo写入一句话后门,也成功写入。用蚁剑连接,成功获取flag 3.总结,这道题没有任何需要绕过的地方,也正好对应了‘新生赛’,考的也仅仅是对命令执行漏洞原理的认识,和漏洞利用的常规方法。
[GXYCTF2019]Ping Ping Ping
这是第二道题 1.同样通过标题和初始页面,考题是命令执行漏洞。直接输入‘;ls’成功执行  2.想着下一步直接写入后门文件,结果出现过滤  3.这里想的肯定是他过滤了啥,一般就会读取index.php(过滤代码一般写在里面),要么就通过fuzz模糊测试。 4.这里我选择了去读取index.php文件。  直接过滤空格,直接网上查一波资料
1.${IFS}替换 2.$IFS$1替换 3.${IFS替换 4.%00~%ff替换 5.<和<>重定向符替换 那就一个个试,  可以发现过滤了{},<>等等,也过滤了反弹shell的的有关命令’bash’,还过滤了‘flag’(其实这里也说明了我是个菜鸟,这里等下总结再说) 5.到这里,我真的没想法了,看了别人的解题思路
?ip=1;a=g;cat$IFS$1fla$a.php;
这个想到了自定义变量字符串拼接。常常被用到绕过黑名单  大佬的方法
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
这种是通过base64将‘cat flag.php’进行加密解密,再用sh执行
?ip=127.0.0.1;cat$IFS$1`ls`
内联,就是将反引号内命令的输出作为输入执行。 总结:为什么自己是个菜鸟呢,首先通过ls,第一时间并不是想着读取flag.php文件,第二对于一些常见的绕过思路也不熟悉。
总结
通过做题,深深的知道了自己和大佬之间的差距,但也不要浮躁,都是一点一滴积累的。
|