SMALL

전체 글 118

[CodeEngn] Basic RCE L05

[문제] [풀이] 파일을 다운하여 임의의 문자열을 넣을면 오류 메시지가 출력된다. IDA를 열어 start 함수를 보면 UPX로 패킹되어 있는 것을 알 수 있다. 이에 윈도우 cmd 창에서 upx 언패킹을 하여 ollydbg로 분석해보았다. ollydbg로 [Searchfor] - [All referenced text strings]를 확인하면 프로그램 속의 문자열만 추출하여 보여준다. 여기서 Enter a Serial! 아래에 Registered User와 GFX-754-IER-954가 위치하였고, 이 다음 성공 메시지를 출력하고 있었다. 해당 값들이 실제 정답인지 확인하고자 코드를 확인하였다. 코드를 보면 Registered User 아래에 조건 분기문으로 00440F8C로 분기하는 것을 볼 수 있는..

Wargame/CodeEngn 2021.07.29

[Webhacking.kr] Old 17

[문제] [풀이] 문제의 소스코드를 확인하니 unlock에서 계산된 값을 login.pw.value와 비교하여 get 방식으로 ?unlock/10을 보내고 있었다. 태그를 보면 login의 pw가 우리가 입력하는 입력 창임을 알 수 있다. 따라서 Console 창에서 unlock 변수에 들어갈 값을 계산해보면 7809297.1이 된다. 즉, 이 값을 입력 창에 입력해주면 되는 것이다! https://webhacking.kr/challenge/js-4/?780929.71 url 또한 unlock/10의 값이 파라미터로 연결된 것을 볼 수 있다.

[Webhacking.kr] Old 16

[문제] [풀이] Challenge 16 * 문제의 스크립트를 확인해보니 if(cd==??) 문 중에서 if(cd==124) location.href=String.fromCharCode(cd)+".php"; // do it! 부분만 다른 부분과 달랐다. 주석으로 do it이 있는 것으로 보아 해당 부분이 문제 풀이의 힌트가 될 것 같다. String.fromCharCode() 함수에 대해서 찾아보았는데, 와 같이 hex 값을 유니코드로 바꿔준다고 한다. 해당 값을 Console 창에서 실행해보면, |.php 파일을 나타내면서 flag를 출력한다. url 주소창을 보면 https://webhacking.kr/challenge/js-3/%7C.php 로 변경되어 있음을 확인할 수 있고, 7C가 | 로 변경되..

LIST