[JAVA]this 키워드 개념 및 구현
Language/JAVA2021. 2. 15. 21:54[JAVA]this 키워드 개념 및 구현

1. this 키워드 란? 1) 개념 this는 인스턴스의 자기 자신을 의미한다. 아래 3가지 역할을 보면 쉽게 이해가 될 것이다. 2) this 키워드의 역할 ① 자기 자신의 메모리를 가르킨다. ② 생성자에서 다른 생성자를 호출할 경우 사용한다. ③ 인스턴스 자신의 주소를 반환할 때 사용한다. 2.1) 자기 자신의 메모리를 가르킨다. main 함수에서 Student 객체를 하나 생성한 후 학번, 이름을 Setter를 통해 값을 입력했다고 가정한다. public class StudentTest { public static void main(String[] args) { Student studentPark = new Student(); studentPark.setStudentID(150); studentP..

[JAVA]접근 제어자(Access modifier) 개념 및 구현
Language/JAVA2021. 2. 14. 23:10[JAVA]접근 제어자(Access modifier) 개념 및 구현

1. 접근 제어자(Access modifier) 란? 1) 개념 접근 제어자를 통해 변수, 메서드, 성생자에 대한 접근 권한을 지정할 수 있다. 종류는 public, private, protected, 아무것도 쓰지 않는 default 접근 제어자가 존재한다. 각각의 접근 권한은 아래 표와 같다. 접근자 클래스 내부 패키지 상속받은 클래스 이외의 영역 private ○ X X X defualt ○ ○ X X protected ○ ○ ○ X public ○ ○ ○ ○ 2) 왜 권한을 나눠서 설정해야 하는 걸까? 외부에서 확인을 못하게 설정하고 싶은 경우 변수를 private로 설정해서 외부에서 접근하지 못하도록 설정할 수 있다. 이를 통해 정보 은닉(Impormation hiding)이 가능해진다. 또한 ..

[JAVA] 참조 자료형(Reference data type) 개념 및 구현
Language/JAVA2021. 2. 14. 21:47[JAVA] 참조 자료형(Reference data type) 개념 및 구현

1. 참조 자료형(Reference data type) 이란? 변수의 자료형은 기본 자료형과 참조 자료형 2가지로 구분된다. 1) 기본 자료형과 참조 자료형의 차이점은? 기본 자료형은 사용하는 메모리가 정해져있는 자료형이다. 대표적으로 int, long, float, double 등이 존재한다. 참조 자료형은 클래스를 타입으로 변수를 선언하는 자료형이다. 그러므로 클래스에 따라 할당되는 메모리가 다르다. 대표적으로 String, Date 등이 존재하고 또한 임의로 내가 원하는 클래스를 만들어 참조 자료형으로 사용할 수있다. 2) 참조 자료형 구현 Student라는 이름의 클래스 안에 학생에 대한 정보가 저장되어있는데, 과목에 대한 정보를 다른 클래스에 구현한 후 참조 자료형을 이용하여 더욱 쉽게 데이터를..

[JAVA]생성자(Constructor), 생성자 오버로딩(Overloading) 개념 및 구현
Language/JAVA2021. 2. 14. 10:00[JAVA]생성자(Constructor), 생성자 오버로딩(Overloading) 개념 및 구현

1. 생성자(Constructor) 란? 1) 개념 객체를 생성할 때 new 키워드를 사용하게 되는데 이때 생성자를 호출하게 된다. 객체 생성할 경우 이외에는 호출할 수 없고, 멤버 변수 초기화 등 인스턴스를 초기화 하는 코드가 구현된다. 생성자 이름은 클래스 이름과 동일하고 반환 값이 없으며 상속되지 않는다. private 변수는 다른 클래스 에서는 호출할 수 없지만 생성자를 호출할 경우 초기화가 가능하다. 1.1) Student.java Student 클래스의 생성자를 생성하고 매개 변수로 학번과 이름을 받아온다고 가정했을 때 다음과 같다. (생성자 정의) public class Student { public int studentID; //학번 public String studentName; //이름..

[JAVA] 클래스와 객체를 이용한 간단한 예제 풀이
Language/JAVA2021. 2. 13. 05:25[JAVA] 클래스와 객체를 이용한 간단한 예제 풀이

1. 예제 1번 1) 문제 나이가 27살, 이름이 peemang 이라는 남자가 있습니다. 이 남자는 클럽에 참여 하였고, 클럽 인원은 5명입니다. 해당 내용을 클래스와 객체를 활용하여 생성하면 된다. 2) 출력 결과 나이: 27 이름: peemang 클럽 참여 여부: true 클럽 인원: 5 3) 문제 풀이 더보기 3.1) People.java package classpart; public class People { public int age; //나이 public String name; //이름 public boolean club; //클럽 참여 여부 public int clubMember; //클럽 인원 public void peoplePrint() { //객체 정보 출력 System.out.prin..

[JAVA] 함수(Function), 메서드(Method), 인스턴스(Instance) 개념 및 구현
Language/JAVA2021. 2. 13. 01:28[JAVA] 함수(Function), 메서드(Method), 인스턴스(Instance) 개념 및 구현

1. 함수(Function) 란? 1) 개념 하나의 기능을 수행하는 일련의 코드이다. 호출하여 사용 및 함수가 실행된 후 값을 반환할 수 있다. 함수가 선언되면 여러 곳에서 호출되어 사용될 수 있다. 위 내용들을 통해 코드의 재사용성, 가독성을 높일 수 있다. 2) 함수의 구성 요소 함수는 머리(header)와 몸체(body) 부분으로 구성되어있다. 머리: 이름, 매개변수를 작성한다. 몸체 : 함수 동작 과정, 반환 값을 작성한다. public class FunctionTest { public static int add(int number1, int number2){ //이름, 매개변수 선언 int result = number1 + number2; //동작 return result; //반환 } } 3)..

[JAVA] 객체(Object), 클래스(Class) 개념 및 구현
Language/JAVA2021. 2. 13. 00:08[JAVA] 객체(Object), 클래스(Class) 개념 및 구현

1. 객체(Object) 란? 구체적 추상적 데이터의 단위를 객체라고 표현한다. 사람, 자동차와 같은 사물 및 주문, 관리, 생산과 같은 행위 모두 객체로 표현할 수 있다. 2. 객체지향 프로그래밍(Object Oriented Program: OOP) 이란? 객체를 기반으로 하는 프로그래밍이다. 객체를 정의 및 기능을 구현하고 객체 간의 협력을 구현한다. 절차 지향 프로그래밍에 비해 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 프로젝트 개발에 많이 사용한다. 3. 클래스(Class) 란? 객체를 코드로 구현한 것이다. 객체지향 프로그래밍의 가장 기본적인 요소이다. 1) 멤버 변수(member variable, attribute) 객체가 가지는 속성을 변수로 표현한 것이다. 학생에 대한 정보를..

SQL CRUD 명령어 사용 방법
Language/SQL2021. 1. 2. 01:55SQL CRUD 명령어 사용 방법

1. CREATE 1) 데이터베이스 생성 CREATE DATABASE [DB_NAME]; show databases; 2) 데이터베이스 접근 use [DB_NAME] select database(); 3) 테이블 생성 CREATE TABLE [NAME] ([COLUMN_NAME] [DATA_TYPE]); show tables; 4) 테이블 목록 확인 describe [TABLE_NAME]; 2. DROP 1) 데이터베이스 및 테이블 삭제 DROP [DATABASE/TABLE] [NAME]; 3. INSERT 1) 테이블에 데이터 삽입 문자열의 경우 작은따옴표(')안에 문자를 입력한다. INSERT INTO [TABLE_NAME] ([COLUMN1]...) VALUES ([DATA1]...); 4. SEL..

2020. 12. 30. 10:30[SQL Injection] 개념 및 공격 방식, 종류

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 해주세요.

ORACLE 사용자 생성 및 ORACLE + PHP 구성 방법
Language/SQL2020. 12. 22. 22:52ORACLE 사용자 생성 및 ORACLE + PHP 구성 방법

1. ORACLE 실행 본 포스팅은 oracle 18g(64bit)과 apmsetup(32bit)를 설치한 후 과정을 설명하였다. ① cmd를 실행한 후 sqlplus 명령어를 입력하여 mysql을 실행한다. ② 사용자 명의 기본 값은 system이고 비밀번호는 설치할 때 설정한 내용을 입력한다. 2. 사용자 생성 1) 사용자 계정 및 테이블 스페이스 생성 기본 테이블 스페이스는 제한 없이 생성하기 위해 unlimited로 설정 하였다. create user c##[ID] identidied by [Password] default tablespace users quota [용량(100M)|unlimited] on users; 2) 생성한 사용자에게 권한 부여 connect: DB접속 권한 resource..

FortiOS SSL VPN Directory Traversal Vulnerability (CVE-2018-13379)
Hacking & Security/Vulnerability2020. 12. 16. 19:47FortiOS SSL VPN Directory Traversal Vulnerability (CVE-2018-13379)

1. 개념 FortiOS에서 SSL VPN Directory Traversal 취약점이 존재한다. 심각도(CVSS V3)는 10점만점에 7.5점이고 최근 11월 해커가 해당 취약점을 이용하여 5만개의 노출된 암호를 유출하여 더욱 문제가 되었다. 노출된 IP는 각 공공기관, 금융권도 포함되어있다. Passwords exposed for almost 50,000 vulnerable Fortinet VPNs A hacker has now leaked the credentials of almost 50,000 Fortinet SSL VPNs vulnerable to CVE-2018-13379. Exploits for these VPNs had been posted over the weekend on hacker..

XSpear (XSS Scanner) 사용 방법
Hacking & Security/Web Hacking & Security2020. 12. 6. 11:40XSpear (XSS Scanner) 사용 방법

1. 개념 XSpear는 ruby 언어로 만들어진 XSS Scanner Tool이다. GET 메소드로 전송하는 URL 매개변수 값에 XSS 구문을 자동 대입하여 XSS 취약점이 존재하는지 확인한다. github 홈페이지: github.com/hahwul/XSpear 2. 설치 방법 Kali Linux에서 설치한 후 이용하였다. 1) 파일 다운로드 github 저장되어있는 XSpear 파일을 git clone 하여 저장한다. git clone https://github.com/hahwl/XSpear.git 설치된 경로로 이동하면 정상적으로 파일을 받아온것을 확인할 수 있고, 현재 최신 업데이트 버전이 1.4.1 버전인것을 알 수 있다. gem 명령어를 이용해 XSpear 최신버전을 설치한다. sudo ge..

Cisco ASA Read Only Path Traversal Vulnerability (CVE-2020-3452)
Hacking & Security/Vulnerability2020. 10. 4. 08:13Cisco ASA Read Only Path Traversal Vulnerability (CVE-2020-3452)

1. 개념 Cisco는 세계 1위 유선통신장비 제조사이며 네트워킹 하드웨어, 보안 서비스 등을 제공, 판매하는 미국의 다국적 기업이다. 2. 취약점 설명 Cisco ASA의 해당 취약점은 취약한 기기에서 처리되는 HTTP 요청 내 URL 입력을 적절히 검증하지 않았기 때문에 발생한다. 공격자는 변조된 URL을 이용하여 악용에 성공하면 공격자가 대상 장치의 웹 서비스 파일 시스템에 있는 모든 파일을 볼 수 있다. FOFA: "webVpn" 3.PoC (Proof Of Concept) 1) 로그인 페이지 접근 로그인 페이지에 접근하면 URL이 http://[Target IP]/+CSCOE+/logon.html#form_title_text 인것을 확인할 수 있다. 2) URL 변조 기본 로그인 페이지 URL을..

Netgear_WGR614v10 Authentication bypass Vulnerability (CVE-2017-5521)
Hacking & Security/Vulnerability2020. 10. 4. 00:45Netgear_WGR614v10 Authentication bypass Vulnerability (CVE-2017-5521)

1. 개념 NETGEAR는 미국 캘리포니아주 산호세에 본사를 둔 글로벌 컴퓨터 네트워킹 회사이다. 2. 취약점 설명 Netgear WGR614v10은 무선 라우터 제품이고 펌웨어 V1.0.2 이하를 사용하는 NETGEAR WGR614v10의 passwordrecovered.cgi에 인증 우회 취약점이 존재한다. FOFA: "WGR614v10" 3.PoC (Proof Of Concept) 1) 로그인 시도를 통해 id 값 확인 WGR614v10 라우터의 관리 인터페이스 페이지로 접근한 후 로그인을 하지 않고 취소 버튼을 누른다. 취소 버튼을 누르면 인증이 실패하여 401 에러 페이지로 리다이렉트 되게 된다. 401 Unauthorized Error 란? 해당 리소스에 유효한 인증 자격 증명이 없기 때문에 ..

NetGear_DGN2200 ping.cgi RCE Vulnerability (CVE-2017-6077)
Hacking & Security/Vulnerability2020. 10. 3. 02:50NetGear_DGN2200 ping.cgi RCE Vulnerability (CVE-2017-6077)

1. 개념 NETGEAR는 미국 캘리포니아주 산호세에 본사를 둔 글로벌 컴퓨터 네트워킹 회사이다. 2. 취약점 설명 NETGEAR DGN2200은 NETGEAR의 무선 라우터 제품이고 펌웨어 10.0.0.50 이하를 사용하는 NETGEAR DGN2200의 ping.cgi에 취약점이 존재한다. 원격 공격자는 HTTP POST 요청의 ping_IPAddr 필드에 있는 쉘 메타 문자를 사용하여 임의의 OS의 명령을 실행할 수 있다. FOFA: app="NETGEAR-DGN2200" 3. PoC(Proof of Concept) 1) 로그인 해당 무선 라우터로 접속하면 ID, Password를 입력하는 창이 출력된다. Netgear DGN2200 라우터 관리 인터페이스에 대한 기본 암호는 admin/passwor..

반응형
image