본문 바로가기

분류 전체보기17

안드로이드 앱 컴파일/디컴파일 과정 (DVM/ART/JADX) 안드로이드 앱(.apk) 생성과정과 디컴파일 과정을 알아보자. 컴파일 : 소스 코드(개발자가 코딩한 코드)를 CPU가 이해할 수 있는 형식(기계어)으로 변환하는 과정디컴파일 : CPU가 이해하는 코드(기계어) 를 사람이 읽을 수 있는 소스 코드로 변환하는 행위  기계어 (Machine Code) - CPU가 이해하고 실행할 수 있는 명령어를 말한다. - CPU는 0과 1로 이루어진 이진 데이터만 인식 가능하다.- 즉, CPU가 이해하는 모든 명령어와 데이터는 2진수(0과 1)로 이루어져 있다. ex) 0101 0011  안드로이드 컴파일 방식(DalvikVM, ART)Dalvik VM(달빅 가상머신) / Android Runtime(ART)안드로이드 앱은 두가지의 실행 환경을 가진다.  Dalvik VM.. 2024. 12. 5.
JSP 웹개발 환경 구성 (jdk + eclipse + tomcat ) JSP 웹 개발을 시작해보자.eclipse(이클립스)와 Tomcat 서버와 연동하여, 환경구성을 할 것이다. 개발 환경 : Win 11 설치 순서1) JDK 212) tomcat 113) eclipse (ver. 2024-09) JDK 21 설치https://www.oracle.com/kr/java/technologies/downloads/#jdk21-windows Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com링크를 타고 들어가자. 클릭설치 파일이 다운 된다. 디.. 2024. 11. 14.
쿠키, 세션, 세션ID 란? 그들의 차이점? 웹 개발을 하거나, 취약점 진단 학습을 시작 할 때, 쿠키, 세션, 세션ID 라는 말을 들어봤을 것이다. 알아보자. 쿠키, 세션, 세션ID는 대략 뭐냐? 사용자의 브라우저와 웹사이트의 서버가 자신의 상태를 알리고, 서로를 식별하고 만든 문자열이다. 애초에 왜 서로를 식별을 못해?HTTP는 무상태 프로토콜(stateless)이다.  즉, 각 요청은 독립적이고 이전 요청의 상태를 기억하지 않는다. 그래서 쿠키, 세션, 세션ID 는 상대방을 매번 요청 떄마다 식별하고, 이전 상태값을 기억 하려고 만든것이다.쿠키란? 서버측에서 "야 우리사이트에서 너(클라이언트 브라우저)를 식별할 수 있는 방법이 이거야" 라고 주는 고유한 문자열이다.서버측에 저장 되지 않고, 클라이언트 측(메모리나 하드) 에 저장된다.어떻게 동.. 2024. 11. 13.
하드코딩된 중요 정보(소스코드 보유 하고 있는경우) https://kk-nic.tistory.com/13 Android-InsecureBankv2 환경 구성모바일 앱 취약점 진단을 위해서 기존에 많이 사용 하는 InsecureBankv2 와 DIVA로테스트 진행 예정이다. 먼저는 InsecureBankv2 앱으로 해보자. InsecureBankv2 와 DIVA 란?모바일 애플리케이션 보안 학습을 위kk-nic.tistory.com전 강의  앱 취약점 진단 항목중에 “하드코딩된 중요 정보” 에 대해서 살펴보자. 정적분석의 대표적인 사례이다. * 정적분석 -> 앱 실행 시키지 않고, 소스코드 분석하는 기법  분석방법 1 -> 소스코드 보유하고 있을 때, 안드로이드 스튜디오의 소스코드 올려놓고, 진단 분석방법 2 -> 소스코드 없고, 앱의 apk 파일만 있을 .. 2024. 11. 12.