欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

BCTF 2017 WEB WriteUp

来源:本站整理 作者:Bendawang 时间:2017-04-18 TAG: 我要投稿

 感觉这次比赛的题尤其火日师傅的出的两个出得相当完美,感觉出得非常好,其他题目感觉或多或少都做的有点迷,还是太菜了,总之还是慢慢来,最近事情又堆起来了,慢慢来,回头抽时间吧这段时间的东西慢慢整理下发出来好了。

basy sqli

总之这道题反正挺迷的。。两道web和一道reverse都对应了这一个链接。点开看是一个登录界面,然后简单的把用户名设为 admin'# 就登陆进去了,本来看题目名称还以为这里能注入拿一个flag ,然后又回去折腾注入,折腾了40分钟,实在是不行了,感觉根本注不了,就放弃了。先登进去看看好了,登进去,发现能买东西,也能下载,下下来有什么 a,b,c 等等之类的,然后买东西时候抓个包试了试买其他东西,买 a 成功,买 b 出一串奇怪的东西,买 c 说钱不够,买d ,flag出来了。。。迷。。。还好之前放弃了登陆框那儿的注入。。。。 后来简单扫扫目录才意识到问题,扫目录扫到个 .viminfo ,然后跟着提示最后找到一个 zip 压缩包,里面是个linux可执行程序

d对应的本题的flag,所以大概应该是这样把,b选项对应另一个web的flag,然后d选项对应reverse的flag。总之跟我无关了。。。结果到头来还是不觉得这两个web题和web有多大关系。

paint

进去是一个画板,然后简单fuzz了一会发现功能很少,可能有用的地方就两个,一个是上传图片的 upload.php ,另一个是转换图片的 imag.php ,,而上传图片只会验证之后改改文件名就存起来,但是 image.php 会把你的url指向的图片通过GD库转换之后存起来,这一点自己对比转换前后的图片就能看出来,另外还有一个 flag.php ,访问得到的结果说是一定要本地用户访问才有flag 。

然后先简单测试了下,感觉不想是ssrf,,虽然过滤了 127.0.0.1 ,不过通过 127.0.x.x 都能访问回本地,比如 127.0.0.1 ,索性我们尝试访问 flag ,发现两种情况的大小是不同的

说明第二个确实访问到了flag,而且flag.php的大小是374字节。但是由于不是图片,转换失败导致没有办法看到。

然后我们尝试把 image.php 指向我们的vps,发现它真的访问过来了,并且根据收到的请求包判断是 curl ,然后进行测试是否是命令行的 curl 命令,看看是否有机会进行命令执行,发现过滤比较严格,重要的命令执行符号,像是 | , ; ,空格,美元符号等都被过滤了,但是我们通过大括号就能判断它确实是执行了 curl 命令,例如 url=http://127.0.0.2/{uploads/1492355833x2dDz34y.gif,flag.php} ,这样得到的结果大小等于两者大小之和,所以思路就来了,我们将一个正常图片和flag放到一起然后使其能够转换成图片,然后我们把图片下载下载就能获取到flag。但是我们要考虑一个问题,就是flag的内容也有可能被转换,那很好解决,我们找一张图片上传上去,然后转化后和原图进行对比,比如我发现其中从10000字节到11000字节处二者完全相等,即没有被转化的部分,然后把图片的 0-10000 的部分存成 flag1.gif ,把 10375-结束 的部分存成 flag2.gif ,然后两个gif都上传,得到连个文件对应的文件为 uploads/1492355833x2dDz34y.gif 和 uploads/1492356344HXzAeXX6.gif ,然后构造如下请求:

url=http://127.0.0.2/{uploads/1492355833x2dDz34y.gif,flag.php,uploads/1492356344HXzAeXX6.gif}

这样把转换的结果图片下载下来打开就能拿到flag了

signature

好吧,这道题才是迷得要死。。。首先是从gayhub上扒到了源码 https://github.com/xiaobaozidi/bbbccctttffff ,然后进入源码审计,先看到了 license.txt ,发现是 CI 框架,果断把真源码下载下来进行对比

简单总结下改动,主要就是删了个注册功能,然后加了个能够获取flag的payment功能,另外加了几个这种东西

刚开始简单看了看觉得一点用都没有。。然后就觉得就只有这么点改动就要能进后台触发payment功能,是不是个0day,然后进入了超长的审计时间,最后审到头脑爆炸。。。一直认为是session有问题,然后折腾了好久还是没有什么思路。最后发现在这个 blog_backup_2014.php 里面有这个

意思是访问它一下就直接登陆进去了。。。。 黑人问号.jpg.... 访问 http://payment.bctf.xctf.org.cn/index.php/blog_backup_2014 。。 然后进去输入 userid 的地方有个注入,是个盲注,然后关于拿 flag 的payment功能需要输入一大堆不知道的东西,所以还是先去盲注把。最后脚本如下:

[1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载