분류 전체보기218 [웹프로그래밍] 인터넷과 웹 인터넷 인터넷은 네트워트의 일종으로 TCP/IP에서 운영체제와 상관없이 모든 기종의 컴퓨터들을 연결한 통신망이다. 인터넷 서비스 안에 웹(www)과 이메일, 그리고 FTP, Telnet, DNS 등이 있다. C/S환경 웹 서비스 환경을 C/S 환경이라고 하는데, Clients/Server 환경이다. 클라이언트는 서버에게 요청을 하고, 서버는 그에 맞게 응답해준다. 이것이 바로 웹 페이지 동작 원리인데, 클라이언트 측 그리고 서버 측에서 웹페이지 동작 원리를 구분해서 살펴보자 - 클라이언트 측 (간단) 클라이언트를 웹 브라우저로 생각하고, 서버를 웹 서버라고 생각하자. 그러면 사용자가 웹 브라우저, 즉 클라이언트 측에서 검색하고 싶은 것을 요청을 하면 웹 서버, 즉 서버가 그에 대한 정보를 가지고 응답해준.. 2021. 3. 29. [CodeEngn] Basic RCE L07 문제 파일을 받고 실행시켜보자 serial check 프로그램 같다 디버거에 넣어본 뒤에 [Search for] - [All referenced text strings] 를 이용해서 성공메시지 부분을 찾았다. 그곳으로 이동해보자 이동해보면 주변에 함수들이 되게 많아서 함수들을 살펴보았다. 좀만 더 위로 올리면 이 함수를 확인해볼 수 있었는데, 문제에 '컴퓨터 C드라이브의 이름이 CodeEngn일 경우 시리얼이 생성될 때'라고 했으므로 C드라이브의 이름을 받는 함수가 있을 것 같았다. 아마 GetVolumeInformationA 함수가 그 역할을 할 것 같다. 종단점 설정해주고 재시작을 해보자 f7로 들어가보면 잘 모르겠다. 나와서 f8로 한 줄씩 디버깅 해보자 serial 창에 임의의 숫자인 1111을 .. 2021. 2. 25. [CodeEngn] Basic RCE L15 Name이 CodeEngn일 때 Serial을 구하라고 한다. 그러면 Name이 달라질 때마다 Serial이 달라지는 것일까 ?? 실행해보면 이렇게 Name과 Serial 입력창이 뜬다. 이제 디버거에 넣어보자 실패나 성공 창 부분을 찾기 위해서 [Search for] - [All referenced text strings]를 해보자 그랬더니 바로 원하는 부분이 나왔다. Try Again!을 더블클릭해서 들어가보자 조금 위로 올리면 Serial을 비교하는 CMP 부분을 확인할 수 있다. 종단점 설정해주고 다시 시작해주었다. 창이 뜨면 위와 같이 입력해주었는데 CMP 명령어 줄을 보면 EAX와 4588F8 주소 부분을 비교하는 것을 볼 수 있었다. 그래서 레지스터 창에 EAX 부분을 계산기에 넣어봤더니, .. 2021. 2. 24. [CodeEngn] Basic RCE L09 StolenByte를 구하라고 한다. 그게 뭐지?? muhan56.tistory.com/80 StolenByte StolenByte는 패커가 위치를 이동시킨 코드로써 보호된 프로그램의 코드의 윗부분(보통은 엔트리 포인트의 몇 개의 명령어) 이다. 이 부분의 명령어는 이동된 곳 이나 할당 받은 메모리 공간에서 muhan56.tistory.com 블로그 글을 봤는데 잘 모르겠다. +) 패킹된 바이너리의 언팩을 방해하기 위해 일부 명령어를 조작하는 것 (안티 디버깅의 일종) 일단 디버거에 얹어보자 PUSHAD가 있고 한 줄씩 디버깅이 되지 않는 것으로 보아 패킹되어있는 것 같다. Exeinfo PE 프로그램을 사용해서 어떤 방식으로 패킹되어있는지 살펴보자 UPX로 패킹 되어 있는 것을 확인할 수 있었다. UP.. 2021. 2. 23. 이전 1 ··· 27 28 29 30 31 32 33 ··· 55 다음 728x90