목록2021/05/12 (2)
Sechack

main함수이다. add, edit, delete, check, exit 5개의 함수가 각각 메뉴마다 동작하는것같다. menu함수이다. s변수를 출력하길래 따라가봤더니 유니코드 형태로 나온다. 실행시켜보면 s변수는 한글인것을 알 수 있다. 그래서 IDA에서 유니코드 형태로 보인것이었다. 참고로 바이너리 이름도 한글인데 영어로 바꾸고 풀이를 진행하였다. add함수이다. smooth함수는 안에 들어가보니까 32byte를 입력받고 atoi를 이용해서 정수로 변환 후에 반환하는 함수이다. index, size, menu를 입력받을때 사용된다. 당연한 얘기지만 저 함수 내부에서 BOF따위는 터지지 않는다. 본론으로 돌아와서 add함수는 index, size, data를 입력받고 index가 0과 같거나 크고 6보..

nc서버 하나 주길래 접속해보니까 3개의 메뉴가 있다. 1번을 선택해보니까 간단한 사칙연산이 나온다. 계산기로 계산하고 보내보니까 1차 침공 성공이라면서 2차 침공을 하라고 또다시 수식을 준다. 사칙연산 노가다 문제로 추측해볼 수 있다. 3개의 메뉴 전부 봤는데 전부 계산 노가다였다. 그래서 바로 pwntools를 이용해서 자동화 스크립트 짜줬다. from pwn import * def parser(data): if b"+" in data: arr = data.split(b"+") first = int(arr[0]) second = int(arr[1]) r.sendlineafter(": ", str(first + second)) elif b"-" in data: arr = data.split(b"-") ..