论坛站,先随便打开一个网站,发现url栏变化如下:
看到这种get一个变量接收传参的很容易让人想到,文件包含或者路径穿越,先试试路径穿越
出现了源码泄露,把这些代码复制下来,稍作整理
从这些源码种应该可以分析出这个admin账户应该是可以使用cookie登录的
接着找找看有没有什么有用的信息,在这些源码种搜索敏感一些字符看看
出现过许多关于users这个目录的信息,我们使用目录穿越…/users试试看
出现了很多用户的类似cookie的东西,其中还可看到我刚刚注册到用户,猜测这可能就是cookie,试试看
抓包,把username改成admin,TOOKEN改成admin的,对比mochu7这个账号的token很明显知道base64编码的这串信息就是cookie,换上
成功登录admin账户,在profile简介里面看到了一半的flag
接下来就需要对刚刚那些源码进行详细审计了,这里贴一个大佬的整理及思路,这题太难了,肝不动
能够解析并执行wtf文件,如果还能够上传wtf文件并执行的话,就可以达到控制服务器的目的。
评论功能的后台代码,这部分也是可以路径穿越的。
这行代码把用户名写入了评论文件中:
这时候就让我想到以前做过的文件名注入,有点像
如果我注册的用户名就是一段可执行的代码,而且写入的文件也是wtf格式的,那么这个文件就能执行我们想要的代码,我们进行评论。
修改路径进行上传
注意:这里大佬们说路径后面要加一个水平制表符,不然会把我们上传的后门当做目录解析掉。
然后我们去注册用户,用户名就是我们查找get_flag2的命令,以这个用户名去评论然后上传到之前后门的路径。
第一条首先查找get_flag2
${find,/,-iname,get_flag2}
这里前面加个$是wtf文件执行命令的写法
然后访问上传的后门
爆出了get_flag2的路径
/usr/bin/get_flag2
第二条获取get_flag2内容
$/usr/bin/get_flag2