전체 글 썸네일형 리스트형 범용 쉘코드(Universal Shellcode) (2) 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 이전 포스팅범용 쉘코드(Universal Shellcode) (1) 보러가기 이전 포스팅에서는 범용 쉘코드의 필요성에 대하여 포스팅하였다. 그렇다면 ASLR기술이 적용된 시스템에서는 어떠한 과정을 통해 실질적으로 우리가 필요로 하는 함수를 구할 수 있을지 학습하여 보겠다. 프로세스에서 함수의 주소값을 구하기 위해서는 함수가 저장되어져있는 dll의 시작 주소값과 dll 시작 주소부터 함수까지의 offset을 알아야한다. ① dll의 시작 주소값 구하기 대체적인 주소값 계산의 흐름은 위와 같다. FS레지스터에는 TEB의 주소가 저장되어 있다. TEB란 현재 실행되고 있는 쓰레드에 대한 정보를 담고 있는 .. 더보기 범용 쉘코드(Universal Shellcode) (1) 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 현 포스팅[범용 쉘코드(Universal Shellcode)]을 읽기에 앞서 제시된 포스팅을 읽고 오시는 것을 추천드립니다. 이전 포스팅쉘코드(Shellcode) 기초(1)쉘코드(Shellcode) 기초(2) 범용 쉘코드(Universal Shellcode)의 필요성 이전 포스팅[ 쉘코드(Shellcode) 기초(1) ]에서 작성한 쉘코드를 컴퓨터를 재부팅한 후 실행하면 어떻게 될까? 다음과 같은 에러 메세지를 확인할 수 있다. 그렇다면 다음과 같이 재부팅전에 정상작동하던 쉘코드가 어떠한 부분에서 문제가 발생하며 어떠한 이유로 정상적으로 실행이 되지 않는 것인지 짚고 넘어가야 한다. 위의 작성한 쉘코.. 더보기 쉘코드(Shellcode) 기초(2) 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 이전 포스팅쉘코드(Shellcode) 기초(1) 보러가기 쉘코드(Shellcode) 기초(1)에서의 문제점 이전 포스팅[쉘코드(Shellcode) 기초(1)]에서 작성한 쉘 바이트 코드에서는 널바이트('0x00')을 포함한다는 문제점을 지니고 있었다. 바이트 코드에서 널바이트('0x00')를 포함할 시에 문자열 복사 계열 취약점에서 발생하는 부분에서는 바이트 코드로 사용할 수 없다는 문제점(범용성)과 이로인해 널바이트 코드 이후에 쉘 바이트 코드를 복사하지않아 정상적으로 작동하지 않는다는 문제점(신뢰성)을 지니고 있다. 결론적으로 공격자(해커)는 쉘바이트 코드에서 널바이트만을 제거하여 같은 동작을 하.. 더보기 쉘코드(Shellcode) 기초(1) 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 쉘코드(Shellcode) 쉘코드란 보안 취약점이 있는(실행흐름을 악의적으로 조작할 수 있는) 프로그램에서 실행 시킬 실질적인 실행 코드를 말한다.예를들어 이는 포트를 여는 것 일 수도 있고, 악의적인 서버에 본인의 개인정보 파일을 업로드하게 하는 것 일 수 도있으며,해커가 원하는 실질적인 모든 행동을 수행하는 코드를 말한다. 보안 취약점이 있는 프로그램의 공격에 성공하여 실행흐름을 조작하여 공격자가 원하는 특정주소를 실행시킬 수 있는 데 이때 CPU는 흐름이 바뀐 메모리에서 직접 코드를 읽기에 CPU가 해석할 수 있는 기계어 코드로 이뤄져야한다. 좋은 쉘코드의 조건신뢰성 - 공격자가 원하는 행위를 .. 더보기 관망해석 프로그램 Hardy-Cross 관망 계산법 Hardy-Cross 관망 계산법을 이용한 프로그램을 만들어봤다. 단순한 재미로 만들었기에 폐합회로가 1개인 경우에 해당하며 무수한 노가다를 방지하기위해 오차범위를 0.001%이 내일 경우 반복문을 종료하는 형태로 프로그램을 만들었다. 더보기 JAVA 기반 TCP/IP 다중 채팅 프로그램 자바(JAVA)로 작성한 콘솔 기반 TCP/IP 다중 채팅 프로그램 프로젝트 구조 소스코드 ChatClient.javaimport java.net.*; import java.io.*; import java.util.*; public class ChatClient { String ipAddress; static final int port=6000; Socket client=null; BufferedReader read; PrintWriter oos; BufferedReader ois; String sendData; String receiveData; String user_id; ReceiveDataThread rt; boolean endflag=false; public ChatClient(String id.. 더보기 안드로이드에서 웹 크롤링(crawling) 하기 개요jsoup 라이브러리를 이용한 안드로이드에서의 웹파싱 목적우리는 한번 쯤은 인터넷을 '정보의 바다'라고 비유하는 표현을 들어본 적이 있습니다. 그 말은 명백한 사실입니다. 경험을 통해 아시겠지만 우리는 평소 필요한 정보들을 인터넷을 통해 얻기 때문입니다.더욱 구체적으로 말하면 이러한 정보는 보통 검색 포털이나, 블로그 등 WWW(월드 와이드 웹)을 기초로하여 HTML을 이용하여 정보를 제공받습니다. 만약 우리는 인터넷에서 HTML을 이용한 데이터를 다룰수 있는 방법을 알게 된다면 그것은 크나큰 장점이 됩니다.오늘은 이러한 목적을 기반으로 하여 안드로이드에서 원하는 데이터를 파싱하는 방법을 포스팅하고자 합니다. 실습 연합뉴스 홈페이지를 보면 무수히 많은 데이터와 기사를 갖고있습니다.허나 만약 우리가 필.. 더보기 JAVA 기반 Echo Server 및 Client ◇소개 JAVA를 기반으로 한 다중채팅의 기반이 되는 Echo Server 및 Client ◇소스코드 EchoServer.java /* * Client가 Server 로 메시지 전송(한번) * Client 는 접속 시 IP, Port번호 입력 후 접속 가능하며, 메시지 한번 보내고 종료 * Server 는 계속 실행상태, Client 가 보내온 메시지 Client 로 보내기 !!!!!! * EchoServer4 와 EchoClient4 가 한 묶음 */ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.Out.. 더보기 이전 1 ··· 12 13 14 15 16 17 다음