study (53) 썸네일형 리스트형 윈도우 시스템 1. 윈도우 아키텍처 - 윈도우 시스템은 사용자모드와 커널 모드로 구분된다. - 커널모드 기본적으로 일반 사용자가 접근할 수 없는 영역이며, 윈도우 커널 관련 취약점은 꾸준히 발표되고있다. -Protection rings(Ring Architecture) 윈도우는 자원에 접근하기위해 각각 다른 권한을 제공한다. 취약점에서 Gain Privilege" 취약점은 이런 권한 통제를 우회하는 취약점이다. 2. 계정 및 패스워드 - 윈도우 계정: system계정, 관리자 계정, 일반 계정으로 구분된다. - 일반 사용자 계정 조회 : net users - 관리자 사용자 계정 조회: net localgroup administrators - 사용자 계정 조회: net user 계정아이디 - 윈도우 계정 추가를 통해 백.. 취약점에 대한 이해 * 버그 VS 취약점 VS 익스플로잇 - 버그: 개발자가 의도하지않은 결과 - 취약점: 버그 중에서 보안상의 문제들 - 익스플로잇: 취약점 공격 1. 취약점과 익스플로잇 취약점(Vulnerability)이 발생하는 이유: 프로그램은 사람이 만드는데, 개발자가 프로그램 개발 시 실수를 하기 때문이다. - 취약점을 연구하는 목적은 판매, 명예, 공부, 불법행위, 군사목적 등 다양하다. - 취약점이 발견되고 패치가 발표되기 전까지의 기간에 이뤄지는 공격을 "0-day(제로데이)"라고 한다. 이러한 취약점을 이용해서 원하는 코드를 실행하거나 특정 목적을 달성하는 공격 코드를 익스플로잇(exploit)이라고 부른다. root(최고 관리자) 권한으로 올라갈 수 있는 취약점이다. - SQL injection SQL .. [Java] HashMap * 도시이름과 나라이름을 저장하는 HashMap을 만들고 검색>출력한다. import java.util.*; public class HashMapAssign10 { public static void main(String[] args) { Map map= new HashMap(); map.put("서울", "한국"); map.put("브라질리아","브라질"); map.put("아디스아바바","에티오피아"); System.out.println("도시 이름을 입력하세요."); Scanner scanner= new Scanner(System.in); String city= scanner.next(); if(map.containsKey(city)==true) { System.out.println(city+ "은(.. [Java] 제네릭 메소드로 변경하기 - 게시판에 작성자 이름을 검색하면 그 작성자가 작성한 글의 제목을 출력하도록 프로그램을 작성한다. - 에 QABoard class를 추가하고 main() 메소드에 QABoard 객체로 작성된 배열을 추가한다. - 의 findSubject() 메소드를 제네릭 메소드로 변경하여 OpenBoard와 QABoard 객체에서 모두 사용할 수 있도록 한다. class OpenBoard{ String subject; String content; String writer; public OpenBoard(String subject, String content, String writer){ this.subject= subject; this.content= content; this.writer= writer; } } pu.. IDA Pro 이용하여 Lab05-01.dll 분석하기 1) DllMain의 주소는 무엇인가? IDA pro에서 실습 파일을 열면 자동으로 dll main함수부터 보여줍니다. 때문에 main의 주소는 1000D02E임을 바로 알 수 있습니다. 2) Imports 윈도우를 이용해 gethostbyname을 탐색해보자. 임포트 위치는 어디인가? 우선 gethostbyname이라는 함수에 대해 알아보겠습니다. 우리가 접속하고자하는 사이트에 대한 정보들을 알아오기위한 함수입니다. 그 정보들에는 ip등이 있곘습니다. import window를 보고 검색을 통해 api를 찾습니다. gethostbyname함수의 import위치는 .idata 섹션의 100163CC라는 위치에서 사용할 수 있도록 명시되어있습니다. 3) gethostbyname에 함수는 몇 개인가? get.. IDA Pro 프로그램 1) idapractice.exe를 IDA 프로그램을 이용하여 연다. 32비트 파일 실행위한 ida를 실행하고 분석할 파일을 선택합니다. 파일을 열면 어떤 파일을 분석할 것인지 자동으로 선택이 되어 보여줍니다. pe파일임을 자동으로 인식하니 그냥 ok하고 넘어갑니다. 그래프 모드로 보여지는 모습입니다. 2) 그래프모드로 열린 화면에서 텍스트 모드로 변경한다. 이 화면에서 텍스트 모드로 변경하려면 [스페이스바] 단축키를 사용합니다. 이전 그래프 모드로 돌아가려면 동일하게 스페이스 바를 누르면 됩니다. 3) 그래프모드에서 행번호와 명령어 코드를 출력하기 위한 옵션을 설정하시오. option> General> 로 들어가서 위와같이 설정합니다. 4) 단축키를 사용하여 401D90 주소 위치로 이동하시오. G를 .. x86 디스어셈블리 shadow(ollydbg와 같음)에서 파일을 열고 레지스터와 스택의 변화를 보겠습니다. mov 실습 >push ebp ebp의 값인 0012fff0이 하단 레지스터에 추가된 것을 확인하였습니다. >mov ebp, esp esp를 ebp로 바꿉니다. 현재 esp에 있는 값은 예전의 ebp값이기 때문에, 새로운 함수의 스택 명령을 위해 현재의 시작지점으로 바꿉니다. >sub esp, 8 8을 빼고 ffb8이 되었습니다. >mov ebp-4, 22334455 >mov ebp-8, 0 을 수행하고 각 자리에 22334455와 0값이 들어가 있게되었습니다. >mov esi, ebp-4 >mov edi, ebp-8이 되어서 각 값이 들어갔습니다. >mov esp, ebp 를 하게되어 esp값에 이전 ebp값이 들.. [Java] 예외처리문(try~catch), 곱한 값이 음수일 경우 import java.util.Scanner; public class CalculatorExample{ static int mul(int x, int y){ int result= x*y; return result; } static int div(int x, int y){ System.out.println("x * y=" +mul(x, y)); System.out.println("x / y=" +div(x, y)); } public static void main(String[] args){ System.out.println("정수값 2개 입력해주세요"); Scanner.scanner= new Scanner(System.in); int x= scanner.nextInt(); int y= scanner.nex.. 이전 1 2 3 4 5 6 7 다음