본문 바로가기

2016/09

리눅스 에그쉘(egg shell) 사용법 /* written by kaspy (kaspyx@gmail.com)*/ 에그쉘(eggshell)이란 취약한 바이너리를 exploit 할때 버퍼의 주소 계산이나 버퍼 사이즈등의 난관으로 공략하기 어려울때 이를 환경변수에 등록해두고 이주소를 사용한다. 로컬(local) 환경에서만 사용할수있는 단점이있다. 아래 두개 쉘코드는 25 바이트 및 22바이트로 나름 경량화하였다. 사용법은 export 명령어를 사용하여 에그쉘을 환경변수로 등록하고 getenv 함수를 통하여 에그쉘의 주소를 얻어온후, 프로그램의 ret 주소를 getenv 함수의 주소로 변경한다. 끗 shellcode 1 - 25 byte#include #include //export kaspyx=`python -c 'print "\x90"*10000.. 더보기
리눅스 쉘코드(shellcode) 크기 줄이기 /* written by kaspy (kaspyx@gmail.com)*/ 리눅스 쉘코드(shellcode) 사이즈 줄이기(경량화)는 해커들 사이에서도 많이 연구되는 문제로, 얼마나 작은 사이즈의 명령어를 사용하여 쉘코드를 띄우는가 하는 문제이다. 내가 알기로는 가장 작은 리눅스 쉘코드는 특수한 전제조건이 붙지 않았을때 21 바이트로 알고있는데 쉘코드 사이즈 줄이는 간략한 방법을 소개하도록 하겠다. 우선 내가 이전에 작성한 쉘코드의 사이즈는 25바이트로 아래와 같다. char buf[] ="\xeb\x0b\x31\xc0\x31\xd2\x31\xc9\x5b\xb0\x0b\xcd\x80\xe8\xf0\xff\xff\xff/bin/sh"; void main(){ int *ret; ret = (int*)&ret .. 더보기
근대철학 - 데카르트, 베이컨, 칸트, 니체 1. 신 중심에서 이성 중심으로 중세의 신 중심의 시대가 지나고 근대에 들어서면서 이성 중심의 분위기가 사회를 지배하기 시작한다.왕의 권력을 정당화해주는 신 대신 인간이 중심인 이성의 시대를 열었는데 진리의 대상이 이성으로 넘어온것이다.그러나 진리의 대상은 절대주의와 상대주의로 크게 변하지 않는다. 다만 중세의 절대주의와 상대주의의 싸움이 보편논쟁에서의 실재론과 유명론이 있었다면, 근대는 절대주의(합리론), 상대주의(경험론)의 논쟁으로 변형되었다. 2. 합리론과 경험론 합리론은 합리주의, 이성주의라고도 하는데 중세시대의 실재론과 유사하다, 여기서 실재론은 개별적인 개체가 중요한것이 아니라 그것들의 보편이 중요하며, 그보편이 진짜로 존재한다고 믿는 견해이다. 합리론도 이와 유사한데, 개별적인 개체보다는 변.. 더보기