1. 드림핵 sint
코드

size를 0으로 입력시, read함수에서 -1 값이 큰 양수로 변하고 오버플로우 발생 가능해짐
(read()의 세번째 인자타입이 size_t인데, unsigned 타입과 동일하게 음수를 가질 수 없음-> underflow, 최대값으로 변환)

buf~ ret 사이의 거리+ sfp 4바이트= 264바이트

----------------------------------------------------------------------------------------------------
2. cmd_center
코드

read 함수로 입력받은 후 바로(검증없이) system 함수로 사용 -> 커맨드 인젝션 발생 가능
마찬가지로 read() 입력에서 버퍼 오버플로우! system(cmd_ip) --> system("/bin/sh")이 목표(셀 실행!)

center_name ~ cmd_ip 거리= 0x20 = 32 / ifconfig는 조건만족

-------------------------------------------------------------------------------------------------------------
3. validator
ida로 코드 확인가능

read()에서 bof 발생, validate()에서 검증 -> validate()를 우회하는게 목표

첫번째 조건문: correct[]와 각 자리 일치
두번째 조건문: 11이상인 j값, 반복문 돌때마다 이전 값보다 1씩 커짐 (signed vs unsigned 방식차이)

correct[] 값은 DREAMHACK!


(/bin/sh) 실행 완료
