한땀한땀 정성들인 코딩
bof방지 기법 ASCII-Armor 본문
ASCII-Armor
-libc 영역을 보호하는 기법
-시작주소를 \x00으로 시작하게 만들어 접근불가
-c언어에서 문자열의 끝 식별을 null로 하므로
-연속적인 함수 호출이
파이썬 쉘 스크립트
-파이썬 리눅스 쉘에서 실행
1.python -c "for x in range(10):print x"
2.$(python -c "for x in range(10):print x")
3.$(python -c "print 'x'")
4.$(python -c "print 'x';print 'y'")
-파이썬에서 쉘 명령어 실행
import os
os.system('ls -la')-파이썬 스크립트 바로 실행가기
python3 파이썬파일명.py 인수...
-리눅스에서 파이썬파일 실행하기
-파이썬3은 3.x버젼 python으로 하면 2.x버젼
1. mkdir PYscripts //파이썬 소스 폴더 생성
2. export PATH=$PATH:$HOME/PYscripts //.bashrc에 추가
3. 쉘 코드 생성
pylist.sh
#!/bin/bash
SCRIPTPATH=$HOME/PYscripts
plist 변수1="python3 $SCRIPTPATH/파이썬소스명1.py $1"
plist 변수2="python3 $ $SCRIPTPATH/파이썬소스명2.py $1"
...
4. source pylist.sh 혹은 .bashrc에 source $HOME/경로/pylist.sh +추가
쉘 스크립트?
쉘을 통하여 프로그램을 만드는 것
$ for (( x = 0 ; x < 10 ; x++)) ; do echo $x ; done
FAKE EBP기법
-RET이후로 덮어쓰기 불가능
-RET에 스택/라이브러리 주소 필터링
-일때 사용
leave
mov esp,ebp
pop ebp
ret
pop eip
jmp eip
스택 buf+sfp+ret
---------> sizeof(buf)만큼 dummy+ shellcode가 있는 주소에서 -4(byte,32bit기준)한 값
+leave,ret 주소(재실행)
왜 -4인지는 아래 사이트 참조
http://bob3rdnewbie.tistory.com/187참조
'자격증 > 정보보안기사' 카테고리의 다른 글
취약점 진단도구(시스템) (0) | 2017.02.09 |
---|---|
bof 방지기법 그외(objdump 사용,rtl chain) (0) | 2017.02.09 |
bof방지 기법 ASLR (0) | 2017.02.09 |
bof방지 기법 non-executable (0) | 2017.02.09 |
리눅스 파일권한 (0) | 2017.02.08 |