攻防世界 fakebook 解题思路

开始

攻防世界 fakebook 解题思路

进入题目有两个按钮,一个是登陆,一个是加入,那么我们先点加入创建一个账号。

攻防世界 fakebook 解题思路

创建账号后发现这个admin可以点击,那我们点击试一试。

攻防世界 fakebook 解题思路

发现这里传了一个参数,那我们试一试有没有注入点。输入单引号发现报错。

攻防世界 fakebook 解题思路

用order by 语句测试字段4不报错,5报错,证明这里有5个字段。

攻防世界 fakebook 解题思路

接下来我们用union select 联合查询查看回显

攻防世界 fakebook 解题思路

发现被拦截了,看看可不可以绕过。我们用内联注释绕过。

攻防世界 fakebook 解题思路

发现在2的位置有回显,所以可以在这里注入,不过我在注册的页面抓了下包,发现在join页面这里存在post注入,且可以直接用sqlmap跑,可以上sqlmap那当然不手工(露出猥琐的笑容)。

攻防世界 fakebook 解题思路

跑了下库,在用--current-db参数跑了下当前在什么库下面。

攻防世界 fakebook 解题思路

跑出在fakebook库下面

攻防世界 fakebook 解题思路

接下来就是跑fakebook的表字段等,这里就不写了,这题有点麻烦,写的也是有点烦躁,最主要疫情在家人也有点烦躁。

攻防世界 fakebook 解题思路

这里是爆出的字段,先看看data字段里面的内容。

攻防世界 fakebook 解题思路

攻防世界 fakebook 解题思路

大家应该看懂了吧,没看懂的话看这里

攻防世界 fakebook 解题思路

反序列化,现在大概方向知道了,通过这里的反序列化,我们可以传入序列化参数,让反序列化进行解析。那我们先构造一个payload看看可不可以解析。

http://220.249.52.133:53109/view.php?no=-1%20union%20/*!select*/%201,2,3,%27O:8:%22UserInfo%22:3:{s:4:%22name%22;s:4:%227995%22;s:3:%22age%22;i:11;s:4:%22blog%22;s:10:%22www.xj.com%22;}%27

攻防世界 fakebook 解题思路

攻防世界 fakebook 解题思路

发现可以正常解析,现在我们就要想办法读取flag了。这里运用到了CSRF

当然说到CSRF收集到的一些信息,一般我做CTF的题目都会有一些套路步骤,上来就是把这个网站用bp的spider爬行一下

攻防世界 fakebook 解题思路

就爬了个这个当然是没什么用,爬不到那就上御剑扫下后台,后台没扫到但是扫到了一个robots.txt文件,各位师傅肯定都知道这个文件是干嘛的,我访问了下。

攻防世界 fakebook 解题思路

发现不然爬的有个user.php的备份文件。我们在访问一下。

是一个可以下载的文件

攻防世界 fakebook 解题思路

打开看看

攻防世界 fakebook 解题思路

一段代码,简单审计一下,发现这里以get的方式传入url,但是下方没有对get过来的url做任何过滤和白名单,或黑名单的保护措施,所以这里的get存在CSRF。

攻防世界 fakebook 解题思路

最后的地方匹配一个正则,满足的才会被get传入

攻防世界 fakebook 解题思路

不懂正则的可以参考https://www.cnblogs.com/zery/p/3438845.html

现在就可以尝试读取我们的flag了,当然有了CSRF我们还需要知道我们读取flag的路径,路径在哪里了,看这里。

攻防世界 fakebook 解题思路

有了路径就是构造payload,当然payload我也是构造了好久,这里需要一个file伪协议进行读取。

http://220.249.52.133:53109/view.php?no=-1%20union%20/*!select*/%201,2,3,%27O:8:%22UserInfo%22:3:{s:4:%22name%22;s:1:%221%22;s:3:%22age%22;i:1;s:4:%22blog%22;s:29:%22file:///var/www/html/flag.php%22;}%27

攻防世界 fakebook 解题思路

 

攻防世界 fakebook 解题思路

发现解析成功,没有报错,但是还是没有flag,错肯定是没有错了,成功解析了,查看了下源代码。

发现一个iframe标签

攻防世界 fakebook 解题思路

访问里面的地址

攻防世界 fakebook 解题思路

又是一片空白,在继续查看源代码。

攻防世界 fakebook 解题思路

总算是找到了flag!

总结

题目的单个知识点都不难,但是结合到一起就有点繁琐,而且里面的一些小坑有点搞心态,不过总体来说这题出的还是比较好的,每个地方都有逻辑可循!