bash破壳漏洞反弹shell

0x00 破壳漏洞原理

在bash里边输入

~ export name='() { echo "inside name";}; echo "outside name";'

查看环境变量

~ env|grep name
~ name=() { echo "inside name";}; echo "outside name";

这时你会发现当进入子shell的时候,直接输出 outside name

~ bash
~ outside name

还要进入子shell才可以成功执行代码,于是问题来了
— 如果能一句话解决进入子shell并且输出就能利用—
然后聪明的黑客就尝试构造实现如此功能的语句

~ export name='() { :;}; echo outside name';bash

输入回车,直接显示输出的内容

~ outside name

0x01 利用条件
- web对bash进行调用,因为漏洞是存在bash里边的
- web会将我们可控的参数传入环境变量里边
- 确定目标bash版本是存在漏洞的
- 能够将返回结果返回过来

0x02 利用过程
首先登陆目标的网站,访问指定目录,发现确实在环境变量里边存入了我们访问的user-agent
这里写图片描述
然后进行构造user-agent,可以使用burpsuite抓包修改,或者火狐浏览器用user agent switch插件来修改
我这里使用burpsuite抓包,首先设置浏览器的代理
这里写图片描述
配置完成以后,再次访问目标网页,然后请求包就会在burpsuite里边被拦截,修改user-agent

当然,我们的目的是反弹一个shell回来,需要打开一个终端,然后监听user-agent里边所写的端口,这时候打开一个终端 输入
nc -l -p 8888 (-l 为监听模式 -p指定端口)
这里写图片描述
然后再burpsuite里边点击forward(转发),之后就可以看到刚才输入nc -l -p 8888
的下边出现了一个不属于自己的shell,到这里,就成功的反弹了一个shell
这里写图片描述

第一次认真记录过程,大牛绕过,同为小白,共同进步

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值