'Ret execl overflow'에 해당되는 글 1건

  1. 2010.03.16 [ Padocon 2010 ] Warmup 100

2010.03.16 10:20 WarGame


Padocon 의 시스템 쪽 문제로군요

물론 문제를 입수하진 못했고 어떤 식으로 문제가 이루어졌는지만

파악 하고 있습니다

자세한 풀이는 http://nibbles.tuxfamily.org/?p=775 에 올라와 있군요

프랑스어로 짐작되는 글이지만 -,.-

풀이 보는데는 지장이 없습니다

어셈블리어는 만국 공통어라 편하군요 :D

이번 포스팅은 이런 방법도 있구나~ 하는 걸 소개 하기 위함입니다

먼저 문제 소스는




보편적인 BOF 취약점 소스로군용

처음 봤을땐

RTL로 될 것 같았는데 생각해보니

Libc 크기가 16MB 이하라서 앞에 널 바이트가 들어가버리게 되는군요

그렇다면 Fedora Core 4에서 썼던

Ret Execl Overflow 는 어떨 까요

[ 이에 관한 문서는 http://linkc.tistory.com/entry/26-kernel-에서의-BOF 에서 확인 하실수 있답니다 :D ]

execl 함수에 접근하는 것은 좋으나 

그 폴더엔 쓰기 권한이 없어서

symbolic link 로 연결해 주는 것도 곤란합니다

그 때 발견한게 저 프랑스 친구가 쓴 글인데요

시나리오는 간단합니다

스택 값을 하나씩 쫓아올라가서

argv[0] 의 값을 execl 함수로 바꿔버리는 거죠

그렇게 되면 인자 전달에 있어서 고민 할 이유도 없고 말입니다





여기 보이는 stack 값에서 쭉쭉 위로 올라가면 된다는 거죠



이 때 이용하게 되는게 ret 명령어 입니다

execl 함수 값을 argv[0] 값에 넣어주면

나머지 인자는 주르륵 execl 로 타고 들어가는 겁니다

argv[0] 값 까지 ret으로 박아넣고 나머지는 execl 인자를 넣으면 되겠죠

자세한 결과는 위 링크를 타고 들어가서 보시면 됩니다

간단하지만 확실한 방법이죠 음음

기억도 되살리고 배운것도 있는 좋은 경험이었네요  :D

'WarGame' 카테고리의 다른 글

[ CodeGate 2010 ] Challenge 11 풀이  (0) 2010.03.19
[ Codegate 2010 ] Chanllenge 1 풀이  (2) 2010.03.17
[ Padocon 2010 ] Warmup 100  (0) 2010.03.16
[Python Challenge] level5 풀이  (2) 2010.03.11
[Python Challenge] level4 풀이  (0) 2010.03.10
[Python Challenge] level3 풀이  (0) 2010.03.09
Posted by LinkC
이전버튼 1 이전버튼

블로그 이미지
LinkC

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

공지사항

Yesterday48
Today25
Total328,667

달력

 « |  » 2019.5
      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  

최근에 받은 트랙백

글 보관함


. .