한땀한땀 정성들인 코딩

bof방지 기법 ASCII-Armor 본문

자격증/정보보안기사

bof방지 기법 ASCII-Armor

romance penguin 2017. 2. 9. 02:45
반응형

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