보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
문제에 들어오면 ID와 PW를 입력할 수 있는 칸이나오고 Join버튼을 누를 수 있게 되어있다. 인젝션문제인가 해서 여러가지를 넣어보던중 아래와 같은 알림창이 뜨는 것을 확인했다. 그래서 뭔가 검증절차가 있구나라고 생각해서 JavaScript내용을 확인하기위해 소스코드를 확인했다. 다행히 소스코드는 바로 확인할 수 있었고, JavaScript 검증 코드와, Hint를 얻을 수 있었다. 검증 코드의 경우에 id 와 pw가 동일하면 위에서 봤던 알림창을 띄워주고 다르다면 JavaScript 코드에서 submit을 해준다. 근데 이와 상반되게 힌트에서는 id와 pw가 동일해야 한다고 한다. 한마디로 이 JavaScript 함수 chk_form()을 무시해야 이 문제를 해결할 수 있다는 말이다. 두가지 풀이로 ..
PEiD를 통해 확인해 봤더니 해당 exe파일은 C#으로 만들어졌다는 것을 확인할 수 있다. 그래서 C# 디컴파일 도구를 사용해 디컴파일 했다. (dnspy, DotPeek) 키자마자 버튼 이벤트에대해서 나와서 바로 분석했다. 같이 첨부되어있던 account.dat 파일을 읽어와서 해당 내용을 Split 해준다. account.dat을 HxD를 사용해 내용을 확인해보자. 콜론(:) 을 구분자로 삼아 Split 하게 되면 strArray에는 strArray = { "guest", "7C685308952 ....", "01541" } strArray = { "admin", "A0F60D70FA ....", "31337" } 이 차례로 들어가게 된다. 근데 밑에 if문을 보니 admin에대해 처리를 해줘야 할..