CTF-命令注入(代码执行漏洞)

实验环境

攻击机:172.20.10.5
靶机:172.20.10.4

实验流程

端口扫描

图片[1]-CTF-命令注入(代码执行漏洞)

端口详细信息探测

命令:nmap -T4 -A -v 靶机IP地址
发现网站下的robots.txt中包含几个敏感目录

图片[2]-CTF-命令注入(代码执行漏洞)

web站点详细信息探测

图片[3]-CTF-命令注入(代码执行漏洞)

web目录爆破

图片[4]-CTF-命令注入(代码执行漏洞)

访问robots.txt,对其中的敏感目录进行查看

图片[5]-CTF-命令注入(代码执行漏洞)

其中/nothing为404页面,但是和正常的4014页面不同

图片[6]-CTF-命令注入(代码执行漏洞)

查看源代码,发现网站管理员在源代码中存储了常用的密码

图片[7]-CTF-命令注入(代码执行漏洞)

其中/tmp和/uploads均为空目录

图片[8]-CTF-命令注入(代码执行漏洞)
图片[9]-CTF-命令注入(代码执行漏洞)

尝试探测改地址允许使用的请求方法,发现并不允许使用PUT请求方法上传文件。

图片[10]-CTF-命令注入(代码执行漏洞)

继续查看其他敏感目录

/secure/目录下面存放了一个压缩文件,尝试下载、解压

图片[11]-CTF-命令注入(代码执行漏洞)

解压该文件时需要输入密码,尝试使在/nothing源代码中获取到的密码进行解压
密码:freedom

图片[12]-CTF-命令注入(代码执行漏洞)

解压后的文件是一个mp3文件,但是靶机是Linux操作系统,没有明显的文件类型限制,重新判断该文件的类型,是一个代码文件

图片[13]-CTF-命令注入(代码执行漏洞)

直接查看该文件内容,文件的内容大致是服务器管理员对电脑不是很精通所以选择了一个比较简单的密码,并且将密码放在了一个文件中,应该指的就是/nothing,还留下了一个用户名:touhid。猜测该用户名和密码可能为网站后台的管理员账号和密码。在文件的最下面还有一个URL

图片[14]-CTF-命令注入(代码执行漏洞)

访问文件中给定的URL,疑似网站的后台登录页面。

图片[15]-CTF-命令注入(代码执行漏洞)

使用用户名touhid和/nothing页面源代码中的密码进行登录(touhid/diana),该网站是一个基于web的短信平台。

图片[16]-CTF-命令注入(代码执行漏洞)

通过探测,playsms 1.4版本存在远程代码执行漏洞

图片[17]-CTF-命令注入(代码执行漏洞)

查看溢出漏洞利用文档,文档内容大致是利用网站中的文件上传功能,将要执行的PHP代码写在要上传的文件名中。

图片[18]-CTF-命令注入(代码执行漏洞)
图片[19]-CTF-命令注入(代码执行漏洞)

访问漏洞页面,该页面允许导入以CSV为后缀的文件

图片[20]-CTF-命令注入(代码执行漏洞)

漏洞利用

创建一个后缀名为CSV的文件并上传该文件

图片[21]-CTF-命令注入(代码执行漏洞)

设置浏览器使用的代理服务器为127.0.0.1:8080

图片[22]-CTF-命令注入(代码执行漏洞)

点击上传,利用BP抓包

图片[23]-CTF-命令注入(代码执行漏洞)

将该请求发送至repeater页面并且修改文件名为要执行的PHP代码,点击go将请求发出,点击Render查看图形化的响应页面,其中包含代码执行的结果

图片[24]-CTF-命令注入(代码执行漏洞)

利用msfconsole监听端口

图片[25]-CTF-命令注入(代码执行漏洞)
图片[26]-CTF-命令注入(代码执行漏洞)
图片[27]-CTF-命令注入(代码执行漏洞)

生成木马(注意:elf类型的文件是可执行的二进制文件)

图片[28]-CTF-命令注入(代码执行漏洞)

利用远程代码执行漏洞下载木马,因为需要绕过防火墙的原因所以对要执行的代码进行base64形式的编码
将生成的木马放到web网站的主目录下面

图片[29]-CTF-命令注入(代码执行漏洞)

启动Apache服务

图片[30]-CTF-命令注入(代码执行漏洞)

生成命令

图片[31]-CTF-命令注入(代码执行漏洞)

执行反弹shell(注意:每执行一条指令都需要重新抓一次包)

图片[32]-CTF-命令注入(代码执行漏洞)
图片[33]-CTF-命令注入(代码执行漏洞)
图片[34]-CTF-命令注入(代码执行漏洞)
图片[35]-CTF-命令注入(代码执行漏洞)

判断当前权限

图片[36]-CTF-命令注入(代码执行漏洞)

优化shell

提权

查看当前用户使用sudo命令的权限,/usr/bin/perl在运行的时候拥有最高权限并且不需要密码

图片[37]-CTF-命令注入(代码执行漏洞)

利用perl反弹shell

图片[38]-CTF-命令注入(代码执行漏洞)

获取flag

图片[39]-CTF-命令注入(代码执行漏洞)
原创文章,作者:EASY,如若转载,请注明文章出处:
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容