【CTF 攻略】第三届XCTF——北京站B第一名战队W
时间: 2019-09-15

  直接修改可以影响diff值的数据即可,即input_x,input_y,input_z的值。不断修改像素值,将diff值调高,但是不可以大于2,并且被识别引擎识别为与原图不同的图片。

  发现经过了waf处理…但是出题人给的源码里把waf函数已经抽空,黑盒fuzz后发现貌似只过滤了空格,用括号绕过即可,注入得到最终的表结构,然后发现flag在payment.php中:

  读取数据,然后构造signature,post得到最终flag。(忘记截图…

  PS:题目注入的时候服务器反应的确有点慢,不如将数据库的结构在源码中有所体现,可能会增加选手的做题快感XD。

  首先输入admin#绕过登陆,提示有4个item,一个一个的买,买到d拿到flag:

  题目接着刚才的做,有一个可以下载manual的地方,fuzz发现存在任意文件下载:

  利用kaiity的任意文件下载拿到client的elf文件。如图sub_401B6A函数中调用了recv函数接受服务器数据,

  涉及两个知识点,一个curl的拼接访问,一个是127.0.0.1呗过滤之后的绕过,curl可以拼接访问,curl 还有就是127.0.0.1被过滤之后的绕过,可以用127.0.0.2绕过。我们首先将一张图片切成2分,中间差距正好应该是flag.php的请求大小。首先在地址那里输入获知大小是374字节,之后用我们的脚本切割图片,上传

   后来我发现其实只要切割大小小于374都可以拿到flag,原因不详

  首先是登陆,www.307939.com忘记密码那里,输入用户名admin和随便一个邮箱,查看源码有一个md5,解开就是admin的密码,登陆,发现存在cookie,解开是user的md5,修改成admin的md5,拿到一个github的用户,访问上去,有一个apk,反编译一下,解密就好。有点扯淡的题目,不解释

  题目一看就是xss的,认证过程是Oauth,直接那这个网址上面的payload就可以复现,一共三个文件

  首先测试发现flag应该是38位,因为输入9个字符和10个字符明显多出来一组,所以根据拼接方式可以知道应该是38位

  mozilla的jsshell,可以在网上找到其源码,阅读发现其中加入了全局对象os,其中有system函数。

  这是个黑盒测试题,经过测试发现可以使用socket系统调用,所以可以获得程序运行结果。首先readdir列目录,看到环境内部如/proc,/sys等目录都没有挂载,猜测程序在chroot jail中,在/root/发现了scf.so,经过分析发现该so经过LD_PRELOAD加载到当前进程,使用了seccomp阻止了关键syscall,于是用x32 ABI绕过之,通过chdir + chroot的方式绕过chroot jail。

  逃出jail后在根目录发现flag但是没有权限读取,在/home目录下发现了sandbox和cr,cr是负责编译与运行程序的类似crontab的程序,在其中存在命令注入漏洞,可以得到flag。



友情链接:
Copyright 2018-2021 白小姐马报 版权所有,未经授权,禁止转载。