728x90 분류 전체보기53 [웹 기초]HTML - 2 보호되어 있는 글 입니다. 2023. 10. 25. [웹 기초] HTML5 - 1 보호되어 있는 글 입니다. 2023. 10. 23. [포너블 기초] Egg Shell, NX-Bit Egg Shell EggShell이란? 스택내에 셸코드 저장 불가 시, 환경변수 내에 셸코드를 저장 후, 환경변수의 주소 값으로 eip를 이동시켜 셸 코드를 실행하는 기법이다. export 변수명=`python -c 'print "\x90"*100+"셸코드“ 를 통해 환경변수에 셸코드를 저장한 이후 c언어의 getenv 함수를 이용하여 환경변수가 저장된 주소를 얻을 수 있고, RET주소에 getenv 함수를 통해 얻은 주소를 덮어씌우면 셸코드를 실행 할 수 있다. Nop Sled NOP은 어셈블리 명령어로, 아무것도 하지 않는 No Operation의 약자이다. NOP Sled를 직역하면 NOP 썰매로, 이는 NOP을 타고 쭉 미끄러져 셸코드까지 도달하는 것을 말한다. 원래의 NOP 역할은 기계어 코드가.. 2023. 10. 23. [포너블 기초] Shell Code 만들기 Shell Code 만들기 전체적이 과정은 아래와 같다. 1.C언어로 해당 코드를 구현한다. 2.gdb로 역어셈블링하여 필요한 부분을 찾는다. 3.필요한 부분만 뽑아 어셈블리어로 새로 구현한다. 4.컴파일한 후, objdump로 기계어를 출력한다. 5.출력된 기계어들을 하나로 연결 시킨다. execve() 함수를 이용하여 shell code를 실행시키는 코드를 c언어로 작성해보겠다. * execve 함수는 현재 실행 중인 프로세스를 새로운 프로세스로 덮어쓴다. 아래는 execve()를 이용해서/bin/sh 셸을 얻게 해주는 셸 코드를 c언어로 작성 한 것이다. #include int main() { char*sh[]={"/bin/sh", 0}; execve(sh[0],&sh,0); } 이제 작성한 코드를.. 2023. 10. 23. 이전 1 ··· 8 9 10 11 12 13 14 다음