전체 글193 [JAVA] #11. 예외처리 error : 프로그램 코드에 의해 해결되기 힘든 심각한 오류 exception : 코드에 의해 수습가능한 미약한 오류 # throw 예외를 고의로 발생시킴 이걸 썼으면 꼭 try catch문을 쓰거나 메서드에 throws를 붙여서 예외처리하도록 해야 함 RuntimeException : 프로그래머의 실수로 발생하는 예외 > try catch 필수 Exception : 사용자의 실수 등 외적요인에 의햄 > try catch 선택 ㅡ + 호출한 메서드로 예외를 전달 + 호출한 메서드에서 처리하도록 할떄 사용 //그니까 만약에 내가 어떤 메서드 sum을 정의 할 때 헤드에 throws nullException라고 붙였어 그러면 만약에 다른 메서드 (main) 에서 sum을 호출해서 쓰는데 sum 진행중에 s.. 2020. 11. 17. [JAVA] #10. 제어자 + 추상클래스 + 인터페이스 > + 메서드에 static, abstract를 함께 쓸 수 없다. + 클래스에 abstract와 final을 동시에 사용할 수 없다. + abstract 메서드의 접근제어자가 private일 수 없다. + 메서드에 private과 final을 같이 사용할 필요가 없다. # 접근 제어자 $$$ 캡슐화 접근제어자의 필요성 + 외부로부터 데이터를 보호 + 외부에서는 불필요하고 내부적으로만 사용되는 부분을 은닉 # static + 멤버변수, 메서드, 초기화 블록 앞에 사용 + 클래스에 관련된 것, 공통적인 것 *static 멤버변수 : 모든 인스턴스에 공통적으로 사용되는 클래스변수가 된다. //클래스당 하나 : 클래스변수는 인스턴스를 생성하지 않고도 사용 가능하다. : 클래스가 메모리에 로드될 때 생성 *st.. 2020. 11. 17. [웹해킹 실습] # 파일 업로드 공격 1) LOW level 먼저 보안 레벨을 LOW로 맞추고 시작! 파일 업로드 공격을 실행할 것이므로 파일 업로드 항목으로 들어가서 Browse를 눌러 다운받은 webshell.php를 선택하여 업로드 한다. wㅌbshell ? (ㅎ..webshell) : 웹사이트를 통해 시스템 명령어를 실행할 수 있는 프로그램 Browse를 눌러 다운받은 webshell.php를 선택하여 업로드 한다. 이미지 파일이 아님에도 upload 되었으며 지금 위치에서 두 단계 상위 디렉터리에 /hackable/uploads/에 파일이 업로드 됨 (../../ 라고 되어있으므로 알 수 있다.) URL의 /dvwa/vulnerabilities/uploads/# 에서 두단계 상위로 가면 /dvwa 따라서 URL에 /dvwa/ hac.. 2020. 11. 15. [웹해킹] # 파일 업로드 파일 업로드 공격 파일을 업로드하는 기능에 적절한 보안 대책이 되지 않았을 때 파일 업로드 취약점이 발생한다. - 아무 파일이나 업로드 할 수 있을 때 공격자는 web shell이라는 악성 파일을 업로드하고 시스템명령을 실행하여 시스템에 침투할 수 있다. > web shell : 웹을 통해 시스템 명령어를 실행할 수 있는 웹 페이지의 일종 > 파일 업로드 공격 대응 - 꼭 필요한 파일 형식만 업로드되도록 파일의 확장자와 내용을 검사 - 업로드된 파일을 사용자가 접근 불가능한 경로에 저장 - 파일이 업로드되는 디렉터리의 실행 권한을 제거 - 업로드된 파일을 다른 확장자로 변경 : 확장자를 제거하면 해당 파일에 접근해도 코드가 실행되지 않도록 할 수 있다. - 업로드된 파일의 이름을 랜덤하게 재생성하여 저장.. 2020. 11. 15. # 보호되어 있는 글 입니다. 2020. 11. 14. [JAVA] # 09. 상속 >> extends + 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것 + 모든 클래스에 상속은 반드시 하나만 됨 (중복X) + 자손은 조상의 모든 멤버를 상속받음 (private, 생성자, 초기화블럭 제외) / 생성자는 별도로 필요 + 자손의 멤버의 개수는 조상보다 같거나 많아야 한다. + 공통 부분은 조상에서 관리하고 개별부분은 자손이 관리 + 조상의 변경은 자손에게 영향을 미치지만 반대는 아님 # 클래스의 관계 상속 관계 : ~은 ~이다. (is – a) 원은 도형이다. circle is a shape 포함 관계 : ~은 ~을 갖고 있다. (has – a) 원은 점을 가지고 있다. circle has a point / 상속이 안어울리는 관계 - 모든 클래스의 최고 조상 모든 클래스는 Obje.. 2020. 11. 12. [웹해킹 실습] # 파일 인클루전 공격 1) LOW level 먼저 보안 레벨을 LOW로 맞추고 시작! 파일 인클루전 공격을 하기 위해 파일 인클루전 항목으로 들어가자 여기서의 소스코드를 확인하면 이렇게 변수 page을 통해 사용자의 입력값이 GET 메소드로 전달됨을 알 수 있다. 잊지말자 여긴 low level 이야 넘 쉽지.. 페이지의 file1.php를 한 번 눌러보았다. URL에 내가 열려고 한 파일의 이름이 변수 page에 입력됨을 확인 (1) LFI (로컬 파일 인클루전) : 웹서버에 원래 존재하는 파일을 인클루드 한다. + Path Traversal 공격 : ../ 를 이용하여 상위 디렉터리로 접근하여 타 파일을 인클루드 (../ : 현재 위치보다 하나 상위의 파일로 이동) URL의 page= 다음에 ../../../../../e.. 2020. 11. 12. [웹해킹] # 파일 인클루젼 공격 파일 인클루젼 공격 파일 인클루젼 공격 : 주로 PHP application을 대상으로 발생한다. ? PHP에 존재하는 include 함수는 다른 파일을 소스 코드에 직접 include할 수 있는 기능으로 Include할 파일을 외부 사용자가 설정할 수 있는 경우 파일 인클루드 취약점이 존재하게 된다. 파일 인클루젼 공격의 종류 > LFI (Local File Inclusion, 로컬 파일 인클루젼) 공격 대상의 서버에 있는 파일을 include하여 공격한다. > RFI (Remote File Inclusion, 리모트 파일 인클루젼) 외부 서버(주로 공격자가 관리하는)의 악성 코드를 include하여 공격한다. 웹 어플리케이션이 file.php를 인클루드 -> 이때 웹 요청의 page 파라미터를 통해 .. 2020. 11. 12. [JAVA] # 08. 클래스와 객체 + 클래스 : 객체를 정의해 놓은 것으로 객체를 생성할 때 사용 + 객체 : 실제로 존재하는 것 (사물 또는 개념) / 객체의 속성과 기능에 따라 다르다. (?) + 인스턴스 : 객체는 인스턴스를 포함하는 일반적인 의미이며 인스턴스는 객체를 생성하는데 사용된다. + 인스턴스화 : 클래스로부터 인스턴스를 생성하는 것(메모리 공간을 잡아주는 것) // 클래스를 인스턴스화 하면 객체가 됨 > - 객체는 속성과 기능으로 구성 속성은 변수로 기능은 메서드로 정의 인스턴스 생성 // Tv myTv; //객체를 다루기위한 참조변수 선언 myTv = new Tv(); // 객체 생성 후, 생성된 객체의 주소를 참조변수에 저장 참조변수는 하나의 인스턴스만 가리킴; 하나의 인스턴스는 여러개의 참조변수를 가질 수 있음 반복.. 2020. 11. 11. 이전 1 ··· 13 14 15 16 17 18 19 ··· 22 다음