Adios, Augustus De Morgan!
힌트를 많이 보고 푼 문제이지만..
이 문제는 암호와는 별 상관이 없지만 Crypto 카테고리 안에 들어있다.
USER 의 BOOL은 고정적이고 PASS값을 입력하는 문제이다.
매우 빠르게 돌아와서 처음에는 확인하기 힘들었지만 제출을 막 눌러보면 'Wrong :(' 이라는 문구가 띄워진다.
보기가 힘들기 때문에 파이썬으로 값을 보내고 응답을 확인해본 결과 'Wrong :(<Script>history.back(-1);</script>'가 돌아오는데 입력한 문자에 따라 돌아오는 갯수가 다르다.
1문자를 넣는다는 가정하에 a를 넣으면 'Wrong :(<Script>history.back(-1);</script>'이 두개가 돌아오고 b를 넣으면 'Wrong :(<Script>history.back(-1);</script>'이 한개가 돌아온다. 즉, 첫번째 문자는 b라는 것이다. 이어서 b이후에 a부터 z까지 해서 찾으면 되는데 문자가 맞을때마다 시간이 조금씩 더 걸린다. 아마 넘기는 중간에 잠시 멈추도록 프로그래밍이 되어있는것 같다.
그래서 만약 답이 abcdefg고 abcdefk를 넣었다면 돌아오는 응답이 걸리는 시간은 1초X6 정도가 된다.
더 빠르게 하기 위해서는 앞에서 틀린값을 일부러 넣어 바로 'Wrong :(<Script>history.back(-1);</script>'메시지가 뜨도록 하면 된다.
url과 table을 선언하고 inp값을 하나씩 늘려준다. inp에는 정답이 하나씩 쌓이게 되는데 다시 보낼때는 틀린값을 넣어야 하므로 lambda함수를 이용했다.
이렇게 해서 Wrong값이 파라미터로 넘긴 값의 길이보다 1개가 더 많으면 맞는 답이 되는 것이다.
정답은 booleanbooleanbeautifulmybaby이다.
Hack me Answer : booleanbooleanbeautifulmybaby
'CTF | wargame' 카테고리의 다른 글
TWCTF16 - super_express (Crypto) (0) | 2016.09.06 |
---|---|
Hack-me / Apollo 11 moon hoax (프리메이슨) (0) | 2016.07.22 |
Hack-me / Rape me,If you can (class파일 디컴파일[jad]) (0) | 2016.07.22 |
Hack-me / Apple Online Store (쿠키, 에이전트 변조) (0) | 2016.07.22 |
XCZ.kr / Prob36 (포렌식, lnk파일) (0) | 2016.07.22 |