공부용
[Heap] fastbin reverse into tcache in glibc 2.31
🧡 fastbin reverse into tcache :D fastbin reverse into tcache는 다음 부분을 이용해 fastbin에 있는 free된 heap들을 tcache로 옮겨 AAW를 가능하게 해주는 기법이다. #if USE_TCACHE /*While we're here, if we see other chunks of the same size, stash the min the tcache.*/ size_t tc_idx = csize2tidx(nb); if(tcache && tc_idx < mp_.tcache_bins) { mchunkptr tc_victim; /*While bin not empty and tcache not full, copy chunks.*/ while(tcache-..
[Browser Exploitation] picoCTF - Turboflan
🧡 Explaination d8, source, server.py가 주어진다. server.py는 Download Horsepower 문제와 동일하다. 🧡 Function Explaination __DeoptimizeIfNot 함수가 삭제되었다. 찾아보니 이 함수는 한 함수가 최적화 되고 그 함수의 타입이 바뀌었을 때 최적화를 해제하는 역할을 수행한다고 한다. 이 함수가 삭제되었으므로 최적화 버그를 발생시킬 수 있다. diff --git a/src/compiler/effect-control-linearizer.cc b/src/compiler/effect-control-linearizer.cc index d64c3c80e5..6bbd1e98b0 100644 --- a/src/compiler/effect-c..
[Browser Exploitation] picoCTF - Download Horsepower
🧡 Explaination d8, source, server.py가 주어진다. server.py는 Kit Engine 문제와 동일하다. 🧡 Function Explaination setHorsepower 함수가 추가되었다. 내부에 추가된 tq는 ArraySetHorsepower인데, setHorsepower 함수를 부르면 이 부분이 호출된다. diff --git a/src/builtins/array-horsepower.tq b/src/builtins/array-horsepower.tq new file mode 100644 index 0000000000..7ea53ca306 --- /dev/null +++ b/src/builtins/array-horsepower.tq @@ -0,0 +1,17 @@ +// ..
[Browser Exploitation] picoCTF - Kit Engine
🧡 Explaination d8, source, server.py가 주어진다. 먼저 server.py를 봐보자. size를 입력받고 내가 입력한 스크립트를 실행한 후, 표준 출력과 표준 에러를 출력해 준다. #!/usr/bin/env python3 # With credit/inspiration to the v8 problem in downUnder CTF 2020 import os import subprocess import sys import tempfile def p(a): print(a, flush=True) MAX_SIZE = 20000 input_size = int(input("Provide size. Must be = MAX_SIZE: p(f"Rece..