夜色迷人(邪笑-_-)!
翻了翻自己的文档,看见有一篇之前打CTF练习留下的文章,对文章做了修整,然后正文如下:
开始对目标进行了一波信息搜集,端口只开放了80端口,其他端口并不是很有帮助,不得不提nmap的协议识别功能非常好用,并且还自带扫目录的功能。
通过404界面得知是个nginx的界面,细心的朋友刚才会看到nmap已经识别出来了,然后又通过点击首页功能点跳转的页面知道了网站的脚本语言是php。
之后对网站的目录做了个探测,发现了footer.php,contact.php
其中footer.php这个文件每重新加载一次这个年份就会发生变化,这个文件是最终发现漏洞的关键点。
Contact.php这个目录有一个提交界面,这个也是我在整个网站找到的唯一一个参数可控的能跟网站交互的地方,我这里随便输入了一些内容,顺便测了一波注入。
提交之后会发现每次刷新他的底部footer标签都会跟之前看到的footer.php一样年份会发生变化,比如下图:
到此,猜测有包含漏洞,但是在参数的地方没有找到带有包含的路径,可以采用爆破参数的方法,然后我利用网站的大小写判断网站是Linux的服务器,使用burp的intruder模块来暴力破解。
看到file这个参数的响应长度比较其他参数来说是比较长的,然后查看这个参数的响应发现包含成功。
下面通过包含nginx的网站配置文件来查找网站的日志文件存放的地方或者直接去猜日志文件,一般nginx的日志文件存放的地方在/var/log/nginx/xxx.log这种的,我这里直接去包含。
直接去包含可以看到是没问题的,之后我去访问一个404的一句话界面测试,
发现这里会直接将特殊字符做url编码,通过nc去写的话是可以绕过这种编码。
所以我直接使用nc包含一句话成功拿到shell.拿到shell后发现是一个普通权限,查看内核3.16,我使用nc反弹了个webshell,然后使用python的pty模块进入tty终端,使用CVE-2015-1328提权没有成功。
查找S权限,发现了比较敏感的俩个命令screen4.5和exim4,去exploit-db搜索screen的漏洞,我这里使用的是kali自带的exploit的命令行去搜索相关漏洞的,然后发现有一个sh的脚本,我利用-m参数将他下载到本地。
从exploit下载的sh脚本基本都是dos的格式,直接运行会报错,所以我直接使用?set ff=unix做了一个转换。
传入到靶机的tmp目录下执行会又弹回来一个root的shell,提权成功,靶机的目标是拿到flag,但是最终我找了很久也没有找到,既然已经拿到最高权限flag也只是时间问题了,挺有意思的ctf靶机,最后谢谢各位客观的观看,写作不易,麻烦动动小手点个在看,非常感谢。
备注:这里我在exploit-db网站版的复制下来的sh脚本直接写入到靶机中运行会报错,内容作了对比也是一样的,如果有知道原因的大佬可以留言告知一下。