Self-Improvement
[pwnable.kr] shellshock 풀이 (쉘숔 CVE-2014-6271) 본문
소스코드
1
2
3
4
5
6
7
|
#include <stdio.h>
int main(){
setresuid(getegid(), getegid(), getegid());
setresgid(getegid(), getegid(), getegid());
system("/home/shellshock/bash -c 'echo shock_me'");
return 0;
}
|
cs |
setresuid, setresgid가 존재하며 현재 경로의 bash 파일로 echo를 실행하고 있다.
이 부분을 이용하여 flag를 읽으라는 것 같다.
같은 경로에 존재하는 bash 파일이 취약한 것으로 파악되며 export 명령어로 취약한 환경변수를 만들어주고 bash 파일을 실행해 본다.
bash 파일은 취약한 것으로 보인다
env 명령어로도 가능하다. env x='() { :;}; echo 11' bash -c 'echo 22'
이제는 flag를 읽는 환경변수를 만들어주고 setresuid, setresgid가 설정된 shellshock 파일을 실행하면 flag를 읽어올 수 있다.
'리버싱 기초 > pwnable.kr' 카테고리의 다른 글
[pwnable.kr] lotto 풀이 (0) | 2020.06.24 |
---|---|
[pwnable.kr] blackjack 풀이 (0) | 2020.06.24 |
[pwnable.kr] mistake 풀이 (연산자 순위) (0) | 2020.06.23 |
[pwnable.kr] input 풀이 (pwntools process executable!!) (0) | 2020.06.23 |
[pwnable.kr] random 풀이 (0) | 2020.06.22 |