분류 전체보기 (550) 썸네일형 리스트형 [2020.11.28] Reversing.kr Challenge Music Player 라이트업 해당 뮤직 플레이어는 1분만 음악을 들을 수 있도록 제한되어있다. 1분 이상 들을 수 있도록 1분 체크 루틴을 수정해야한다. 해당 MP3 플레이어에 음악 파일을 실행시키면 1분까지만 실행되고 팝업창이 출력된다. 해당 프로그램의 모듈간의 호출을 찾아 rtcMsgBox 함수를 필터링하니 rtcMsgBox 함수가 네번 호출된 것을 알 수 있다. 4개의 함수 중 어떤 함수가 1분 제한 메시지를 띄우는 건지 알아내기 위해 4개의 함수에 BP를 설정한다. wav 파일을 넣고 1분간 실행하자 4045D8의 위치로 이동한다. 4045D8에 있는 rtcMsgBox 함수가 1분 제한 팝업창을 띄운다는 사실을 알 수 있다. 4045D8 위치로 이동하지 않게 코드를 수정해야 한다. 4045D8 주소에 도달하지 않기 위해서는 .. [2020.11.28] 세미나 준비 웹퍼저 팀은 이번주 활동시간에 세미나 준비를 위한 회의를 진행하였습니다. 목차는 이번 하반기에 활동한 내용을 위주로 다음과 같이 구성하여 발표를 준비할 예정입니다. ------------------------------------------------------------------------ 1. 활동계기&소개 2. '취약점 분석을 위한 퍼징' 문서 리뷰 - Web Fuzzing - File Fuzzing - Network Fuzzing - Memory Fuzzing 3. 논문 리뷰 - 제목 - 주제 - 구성 - 중요 포인트 - 결론(활용방안/한계점) 4. 코드 분석 - 오류(시도의 흔적) - 오픈소스 : Fuzzer_bof_check.py ----------------------------------.. [2020.11.21] Fuzzer review (open source) 11월 3주 Web Fuzzer팀은 open source 퍼저에 대해 리뷰해보는 시간을 가지기로 했다. 1. Fuzzer_bof_check.py 지정된 버퍼보다 큰 랜덤값을 대입하여 버퍼오버플로우를 발생시키는 코드이다. 오류 예상 시 fuzzer 함수에서는 앞서 본 코드와 같이 문자열 변수로 선택되는 임의의 문자를 반복해서 더해 무작위 값을 생성하고 결과값 out을 crash_if_too_long 함수의 인자로 넘겨 buffer 크기와 비교하는 역할을 수행한다. 퍼저 함수만 따로 실행하면, 다음과 같이 랜덤한 문자열을 생성하는 것을 확인할 수 있다. 2. BlazeDVD handler_av 라는 함수를 생성하여 크래시가 발생했을 때의 메모리 상태와 레지스터 값을 확인하고 저장하여 화면에 출력한다. Bla.. [2020.11.21] [DigitalForensic] with CTF 네트워크 문제풀이 오늘은 [DigitalForensic] with CTF의 Network 파트의 1번 문제를 풀어보았다. 회의가 예정된 요일을 구하는 문제이다. 문제를 풀기위해 round1.pcap 파일을 다운받아 wireshark로 열어본다. 처음 실행하면 위와 같은 화면이 나온다. Follow TCP Stream을 통해 필터링 해보았다. 필터링 하면 다음과 같은 결과가 나온다. 두 사용자가 주고받은 내용을 분석하면 회의를 언제할지에 대한 정보를 얻을 수 있을 것이라고 예상하였다. 또한, 위의 &#x~~와 같은 생김새를 보아하여 인코딩 된 문자열이라고 추측하고 디코딩을 시도하였다. 인코딩/디코딩 사이트에서 해당 문자열을 변환해주면 해석되어 출력된다. 전체 문자열 해석 결과는 다음과 같다. betty: How does W.. [2020.11.21] XSS 게임실습 5 XSS Game - 5 [문제] [Hints] [풀이] 힌트 1: 이 5레벨의 제목(breaking protocol) 힌트 2: signup 프레임의 소스를 보아 URL인수들이 어떻게 사용되는지를 보는 것이 유용할 것이다. 힌트 3: (onclick 속성을 사용하지 않고) Javascript를 실행시키는 링크를 클릭하는 것을 만들고 싶을 때, 어떻게 할 것인가? >> 여기서 a태그를 사용해야겠다는 결론을 도출했다. 나머지는 다음 시간에... [2020.11.21] Dream Hack - Server-Side Advanced-NoSQL 01 NoSQL 개요 Memcached, HBase, Cassandra, Hypertable Memcached : 분산 메모리 캐싱 시스템 데이터 베이스의 부하를 줄여 동적 웹 어플리케이션이 속도개선을 위해 사용되기도 한다. Key-value 쌍으로 이뤄진 간단한 데이터 타입을 저장하며, NoSQL 데이터베이스와 유사하지만 NoSQL처럼 영구적이진 않다. 모든 key-value 쌍을 메모리에 저장하므로 서버장애나 오류가 발생했을 때 저장된 데이터가 모두 손실된다. Memcached의 용도는 데이터 요청을 가로채어 가능한 경우 이를 캐시(시스템 메모리)에서 직접 서비스하게 만들고, 백엔드 데이터베이스에 연결된 디스크 스토리지 access를 줄이는 것이 목적이다. 미리 계산된 값을 캐시에서 저장하고 조회하게.. [2020.11.21] 4너블 4ever - 달고나 문서 70p ~ 84p(끝!) Return into libc 기법 스텍 영역의 코드를 실행하지 못하게 하는 non-executable stack보호 기법이나 일부 IDS에서 네트워크를 통해 쉘 코드가 유입되는 것을 차단하는 보호 기법을 뚫기 위한 방법으로 제안. non-executable stack 기법 -스텍 영역에 있는 코드를 실행하지 못하게 하는 것. -CPU 레벨, 운영체제 영역 에서의 보호 기법. -위의 사진처럼 butter overflow 취약점이 있는 버퍼를 공격. -버퍼를 overflow시켜 butter위에 있는 return address영역에 실행시키고자 하는 libc 함수의 주소를 넣어줌. -return address가 libc함수로 바뀌어서 함수가 리턴되면서 libc함수가 실행. -system()함수의 시작지점은 .. [2020.11.21]CodeEngn Challenges Basic RCE L19, L20 라이트업 L19. 이 프로그램은 몇 밀리세컨드 후에 종료되는가 우선 프로그램 실행을 실행하니 아래와 같은 창이 출력되고 얼마 후 자동으로 종료되었다. Ollydbg에서 프로그램을 확인하려 했으나 평소 보이던 모습과 달라 PEiD로 확인하니 UPX로 패킹되어 있다는 것을 알 수 있었다. 이에 언패킹을 하고 다시 Ollydbg에서 실행해보았다. 프로그램을 언패킹한 후 Ollydbg에서 프로그램을 실행하려고 하니 제대로 실행할 수가 없었다. 이에 IsDebuggerPresent를 우회하기 위해 해당 함수를 TEST에서 CMP로 변경하고 실행하였다. 디버거를 우회한 후, Search for > All intermodular calls를 통해 호출되는 모든 API 함수를 살펴보던 중, timeGetTime이라는 함수를 발.. 이전 1 ··· 58 59 60 61 62 63 64 ··· 69 다음