분류 전체보기
-
보호되어 있는 글입니다.
[Web] Command injection advanced보호되어 있는 글입니다.
2023.05.31 -
보호되어 있는 글입니다.
[Web] error based sql injection보호되어 있는 글입니다.
2023.05.31 -
보호되어 있는 글입니다.
[Web] blind sql injection advanced보호되어 있는 글입니다.
2023.05.31 -
unsorted bin attack unosrted bin attack은 해제된 청크의 BK를 조작할 수 있을 때 임의 주소에 main_arena 영역의 주소를 쓸 수 있는 공격기법이다. 쓰이는 값은 특정 버퍼의 사이즈를 덮는 등 추가적인 공격은 연계하기 위해 사용된다. unsorted bin은 fastbin과 다르게 청크를 처음 해제하면 FD와 BK에 main_arena주소가 쓰인다. #include #include int main() { char *ptr = malloc(0x100); char *ptr1 = malloc(0x100); free(ptr); return 0; } free 했을 때 gdb로 보면 FD와 BK에 0x00007ffff7dd1b78 주소가 쓰인다. 이 주소를 보면 main_are..
unsorted bin attackunsorted bin attack unosrted bin attack은 해제된 청크의 BK를 조작할 수 있을 때 임의 주소에 main_arena 영역의 주소를 쓸 수 있는 공격기법이다. 쓰이는 값은 특정 버퍼의 사이즈를 덮는 등 추가적인 공격은 연계하기 위해 사용된다. unsorted bin은 fastbin과 다르게 청크를 처음 해제하면 FD와 BK에 main_arena주소가 쓰인다. #include #include int main() { char *ptr = malloc(0x100); char *ptr1 = malloc(0x100); free(ptr); return 0; } free 했을 때 gdb로 보면 FD와 BK에 0x00007ffff7dd1b78 주소가 쓰인다. 이 주소를 보면 main_are..
2023.05.30 -
보호되어 있는 글입니다.
[Crypto] ICM2022보호되어 있는 글입니다.
2023.05.30 -
AES(Advanced Encryption Standard) AES는 DES가 더 이상 안전하지 않게 되자, 2001년에 새롭게 표준으로 선정된 블록 암호 알고리즘이다. AES원리 AES는 SPN(Substitution Permutation Network)이라는 암호 구조를 사용한다. SPN은 곱 암호의 일종으로, S-Box를 사용하는 치환과 P-Box를 사용하는 순열을 여러 라운드에 걸쳐 반복한다. AES는 라운드마다 128bit 크기의 블록을 암호화하는 블록 암호이다. 키의 길이는 128, 192, 256중 하나를 선택할 수 있고, 라운드 수는 키의 길이에 따라 10, 12, 14로 결정된다. 그래서 키의 길이에 따라 AES-128, AES-192, AES-256으로 부른다. AES를 암호화 할 때,..
AESAES(Advanced Encryption Standard) AES는 DES가 더 이상 안전하지 않게 되자, 2001년에 새롭게 표준으로 선정된 블록 암호 알고리즘이다. AES원리 AES는 SPN(Substitution Permutation Network)이라는 암호 구조를 사용한다. SPN은 곱 암호의 일종으로, S-Box를 사용하는 치환과 P-Box를 사용하는 순열을 여러 라운드에 걸쳐 반복한다. AES는 라운드마다 128bit 크기의 블록을 암호화하는 블록 암호이다. 키의 길이는 128, 192, 256중 하나를 선택할 수 있고, 라운드 수는 키의 길이에 따라 10, 12, 14로 결정된다. 그래서 키의 길이에 따라 AES-128, AES-192, AES-256으로 부른다. AES를 암호화 할 때,..
2023.05.27 -
보호되어 있는 글입니다.
[Crypto] Robot Only보호되어 있는 글입니다.
2023.05.26 -
Unsafe unlink 해제된 청크들을 연결하는 이중 연결 리스트에서 청크를 연결해제하는 매크로인 unlink를 이용하여 Arbitrary write를 하는 공격 기법이다. unlink 매크로는 인접한 2개 이상의 청크를 연속해서 해제했을 때 인접한 청크를 병합하기 위해서 사용된다. 소스코드를 보면 prev_inuse 비트가 0인지 확인한다. 0이면 이전 청크가 해제되었다는 뜻이니까 unlink 매크로를 실행한다. FD->bk = BK, BK->fd = FD를 하기 전에 현재 청크의 포인터인지를 검증한다. 그리고 현재 P의 청크가 해제되었을 때 인접한 청크를 병합하기 위해 FD를 P->fd로 설정하고, BK를 P->bk로 설정한다. 왜냐하면 P를 병합하면 BK의 정보와 FD의 정보가 연결되어야 하기 때..
Unsafe unlinkUnsafe unlink 해제된 청크들을 연결하는 이중 연결 리스트에서 청크를 연결해제하는 매크로인 unlink를 이용하여 Arbitrary write를 하는 공격 기법이다. unlink 매크로는 인접한 2개 이상의 청크를 연속해서 해제했을 때 인접한 청크를 병합하기 위해서 사용된다. 소스코드를 보면 prev_inuse 비트가 0인지 확인한다. 0이면 이전 청크가 해제되었다는 뜻이니까 unlink 매크로를 실행한다. FD->bk = BK, BK->fd = FD를 하기 전에 현재 청크의 포인터인지를 검증한다. 그리고 현재 P의 청크가 해제되었을 때 인접한 청크를 병합하기 위해 FD를 P->fd로 설정하고, BK를 P->bk로 설정한다. 왜냐하면 P를 병합하면 BK의 정보와 FD의 정보가 연결되어야 하기 때..
2023.05.23