본문 바로가기

Security26

[Kail Linux] Captcha에 대해 알아보기 . . . 시작에 앞서 따라 해 보시는 건 좋지만 지정된 페이지 이외 허가받지 않은 페이지에서 시행함으로써 일어나는 모든 일은 개인의 책임입니다. . . . 위와 같은 인증 방식을 요구하는 절차를 보신 적 있으실 겁니다. Captcha란? 대부분의 사이트에 가입, 비밀번호 변경 등 보안성을 높이기 위해 널리 사용되고 있습니다. 대표적으로 사진 속에서 특정 사물을 찾거나 유동적인 작업을 요구하기에 봇은 이를 인증할 수 없다고 알려져 있죠 또한 이러한 인증방법으로 Brute force 같은 공격에도 보안성을 높일 수 있습니다. DVWA Captcha를 이용하여 어떤 식으로 동작되는지 알아보겠습니다. DVWA페이지에서는 크게 4단계로 보안등급을 설정할 수 있습니다. 먼저 Low 단계에서 알아보겠습니다. Low.. 2020. 2. 7.
[Kail Linux] 파일 인클루젼 공격 알아보기 (file inclusion) 파일 인클루젼 공격은 주로 php 페이지에서 발생합니다 파일 인크로젼 공격은 두 가지로 분류됩니다. 1. 로컬 파일 인클루젼(LFI) - 이미 시스템에 존재하는 파일을 인클루드 2. 리모트 파일 인클루젼(RFI) - 외부에 있는 파일을 원격으로 인클루드 실습 환경을 DVWA를 활용해 보겠습니다. 파일 인클루젼 공격은 요청하는 페이지의 경로를 변경해 줌으로써 정보를 탈취하는 방식입니다. www.tistory.com/page=incloud.php 저런 식으로 tistory 페이지에서 incloud.php라는 페이지를 호출하는 상황이라고 가정합니다. 외부에 있는 파일을 원격으로 인클루드 하는 경우라면 www.tistory.com/page=http://127.x.x.x/../../change.php 다음과 같은.. 2020. 2. 5.
[Kail Linux] Command Injection 알아보기 (커맨드인젝션) Command Injection에 대해 알아봅시다 Command Injection이란? 명령어 삽입 공격으로 취약한 운영체제에서 임의의 명령어로 공격하는 기법입니다. 명령어 ; 명령어 의 형태로 ping 127.0.0.1 c 3 ; ls -al 다음과 같은 방법으로 사용됩니다. Command Injection 공격은 ping으로 예를 들었지만 명령어 ; 명령어 형태로 임의의 명령어가 와도 무관합니다. ping 명령어는 대상의 호스트가 살아있는지 여부를 알아보기 위한 명령어인데 ;(세미콜론) 뒤 다른 명령어를 이어서 전송함으로써 결과를 얻는 방식입니다. 그렇다면 Command Injection의 대응책은 무엇일까? Command Injection 의 대응책으론 사용자로부터 입력받은 해당 부분 이외 정보는 .. 2020. 2. 3.
[Kail Linux] Brute force 알아보기 Brute force 공격에 대해 알아보고자 합니다. Brute force란? 무차별 대입 공격이라고도 불립니다. 이 방법은 사용자의 패스워드를 알아내기 위해 무작위로 패스워드를 대입하여 권한을 얻어내는 방법입니다. 하지만 이러한 방법은 암호의 수가 길이, 대소문자 사용, 특수문자를 사용 유무에 따라 암호를 깨는 데까지 시간이 기하급수적으로 늘어나게 됩니다. Brute force 공격을 예방하는 방법 사용자 1. 암호에 특수문자 및 대소문자를 섞어서 사용합니다. 이러한 방법을 사용하여 해커들이 암호를 깨는데 시간이 상당히 많이 들게 됩니다. 사실상 불가능에 가까워지는 거죠 개발자 1. Brute force 공격에 딜래이를 줌으로서 해커들이 암호를 깨는데 좀 더 많은 시간을 소요하게 하고, 쉽게 추리할 수.. 2020. 2. 3.
[Kotlin] 코틀린 알아보기 #1 fun sum(one: Any): Int?{ if(one is String){ //이 블록에서는 "one"를 자동으로 'String'으로 변환 return one.lenth } //타입 검사 블록 밖에서 'one'는 여전히 'Any'타입 return null } 코틀린 활용하여 기존의 자바와 비교해보는 시간을 가지겠습니다. 함수 정의 C에서 함수 선언 int sum(int a, int b){ return printf(sum); } Java에서 메서드 선언 public static void(){ System.out.println(sum); } 코틀린에서 함수 선언 fun sum(a: Int, b: Int): Int{ return printf(sum) } 각 언어에서 다양한 차이점을 보여준다 자바에서 사용하.. 2019. 9. 19.
[Android] 애니메이션 적용방법(물방울 애니메이션) 안드로이드 애플리케이션에서 클릭 시 애니메이션 발생, 레이아웃 전환이 일어날때 애니메이션 발생등 다양한 애니메이션이 있습니다. 그런 애니메이션을 바꿔 주는 방법을 알아보도록 하겠습니다. 본 예제는 물방울, 카카오톡과 같은 애니메이션을 다뤄보고자 합니다 drawable > animation.xml 에 다음과 같은 내용을 추가해줍니다. 애니메이션을 추가하고자 하는 곳에 background를 지정해줍니다. 본어플리케이션에서 부분을 뚫고 나온 모습이지만 클릭 시 정상적으로 애니메이션이 출력되는 것을 확인하실 수 있습니다. ps. 본 예제는 main_activity.xml 에서 ch_list.xml을 RecyclerView로 반복 호출하였습니다. animation.xml을 추가 애니메이션이 필요한 부분에 back.. 2019. 8. 31.