이번에 팀끼리 HUST에 출전을 하였습니다.
xeros ruby UNLIMIT dladbru(empier) 나갔구요.
Team: Leaveret
으로 나갔습니다.
1~8 번문제를 인증하면서 Score:2000 으로 끝났습니다.
결과는 12등이구요.. (보기좋게 공동 7등으로하죠 는 ㅈㅅ)
그중 7번인 이 수학 암호는 대회 종료 40분전에 감을잡은후 코딩을 하였는데 배열마지막에 쓰레기값이 들어가서 인증실패하다가.. 뒤에 한자리지워줘서 대회 끝나기 1분전에 인증성공했습니다 ㅋㅋㅋ;;;
팀원 모두 잠잘거 다자고 코드엔진 컨퍼런스가고 놀고했는데도 이정도면 만족합니다~
일단 이문제부터 포스팅해드리겠습니다.
f(x)=ax^3+bx+c
라고 식이 주어졌습니다.
f(string)=wyGYcoWgOEaCeA
HINT: f('a')=9
우리가 아는 전부입니다.
일단 무엇을 입력해야 wyGYcoWgOEaCeA 가 나왔는지 알아보기위해
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 를 넣어봤습니다.
결과값으로는
ivULaTwPevUHOvIHyngjCrIHubIvuLATWPEvuHoviHYnGjcriHUb순서로 나왔습니다. 위두개의 글자수는 같습니다만 대문자소문자가섞이다보니 더적어보이네요;;;ㅋ
결과값은 gqSQUMGsmIeuiE 였습니다.
gqSQUMGsmIeuiE 를 넣으면
wyGYcoWgOEaCeA 가 나옵니다.
string=gqSQUMGsmIeuiE
이었던겁니다.
문제는 여기부터였습니다..
f'(string)을 구하라는겁니다..
네네.. 맨위에 나왔던 f(x)=ax^3+bx+c 를 미분해야한다는것을 알았습니다.
그리고 a,b,c 값 부터 알아내야겠지요.
일단 a를넣으면 9라는데요. 넣어보면 i가나왔습니다.
"아하? 왜 i가9가나왔을까?" 생각을하다가 abcdefgh(i) i가 9번째에 있다는것을 떠올렸습니다. "그럼 테이블에 abcdefghijklmnopqrstuvwxyz 가있겠구나?" 를 떠올렸구요. 그 뒤에는 ABCDEFGHIJKLMNOPQRSTUVWXYZ 가있을거라는것도 추측했습니다.
그럼 정작 a는 1일테니 a를 넣은식은
a+b+c=9(i) 라고생각했습니다.
또한 b를 넣은식은
8a+2b+c=22(v) 일테구요.
그래서 수학공식을 써서..
8a+2b+c=22
a + b+c=9 -
-------------
7a+b= 13
이라는 값을 얻었구요 a는1 b는6 이라고 생각해보고
저문제에주어진식을 x^3+6x+c 로 변경후 1(a)를 넣어봤습니다.
1+6+c=9 이기에 c는 2라고 결정내렸구요.
최종얻은 식은
x^3+6x+2 였습니다.
저수학식을 미분한결과 f'(string)=3x^2+6
라는 식을 얻어내었고 아까구한
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
테이블과 코딩을 하였습니다.
결과값으로
Key : WOWOCSWWSOCCOC
가 나오면서 인증에 성공하였습니다.
문제가 수학관련이다보니 설명이 길어지고 잡다해지고 질이나빠졌네요..
죄송합니다 ㅜㅜ..
Ps.허스트형누나분들.. 12등인데 특별상이라도줘요..
'Write-up' 카테고리의 다른 글
[Reversing]Defcon 2015 Pr0dk3y (2) | 2015.06.03 |
---|---|
HISCHALL 2013 문제 풀이 Write up (5) | 2013.11.17 |
[순천향대 2012 정보보호 페스티벌 본선 사회공학적 해킹] (0) | 2012.09.17 |
[순천향대 2012 정보보호 페스티벌 본선 바이너리] (0) | 2012.09.15 |
[Write up]순천향대 정보보호 페스티벌 풀이 (2) | 2012.08.21 |
댓글