반응형

전체 글 574

Server-side Template Injection 취약점 (SSTI)

* Server-side Template이란? 정적 웹페이지 - 서버에 미리 저장된 정보(HTML, 이미지, JS등)를 별다른 가공 없이 바로 보여주는 페이지 동적 웹페이지 - 서버 내 정보를 스크립트로 가공한 이후 전달되는 페이지 Server-side Template Engine - 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 Template에 넣어 최종 페이지(html)를 완성한 이후 클라이언트에서 전달해주는 역할 - Html 코드에 고정적으로 사용하는 부분은 Template으로 만들고 동적 생성해야 하는 부분만 Template의 특정 장소에 끼워 넣는 방식으로 동작 >> 사용자가 입력하는 데이터와 미리 정의된 템플릿을 조합하여 사용자에게 보여주는 방식 Server-side Templa..

Spring Framework 취약점 진단

Spring Framework Spring Framework는 2002년부터 사용된 Java 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 Spring이라고도 하며, Java 기반 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공 공공기고나의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로 사용됨 Spring Framework 파일구조 Servlet-context.xml : 서버 요청과 관련된 객체 정의 (URL 관련된 controller나, 어노이테이션 등의 설정) root-context.xml : 비즈니스 로직을 위한 설정(ex. 회원가입 과정-아이디 중복여부 확인) / DB에 접속하기 위한 정보 기술(id, pw) views(디렉터리) : Sprin..

OpenSSL 취약점 점검 가이드

SSL(Secure Sockets Layer) / TLS(Transport Layer Security) 인터넷 상의 보안 통신 표준, 데이터를 암호화 하는 프로토콜 네트워크 구간에서의 데이터를 암호화 하여 중간에 데이터가 탈취되거나 도청될 때 데이터를 주고받는 당사자 외에는 복호화 할 수 없음. 인증 - 무결성 - 기밀성을 보장함 OpenSSL C언어로 되어 있는 공개 암호화 라이브러리, 비밀키 암호화/공개키 암호화/MAC/키 관리 SSL,TLS에서 사용되는 거의 모든 암호화 알고리즘이 구현되어 있음 오픈소스 프로젝트로 개발되어 여러 사람들에게 안정성이 인증되었고, 무료로 사용할 수 있을 뿐만 아니라 제공되는 기능들은 많은 소프트웨어에서 사용할 정도의 보안성을 가지고 있음 발생하는 취약점 리스트 - He..

wordpress 취약점 진단 방법

정보 수집부터 보호 대책 까지 1. wordpress 사용 확인 : 점검을 수행할 대상에서 wordpress를 사용하고 있는지 확인한다. - 메인 페이지나 특정(plugin을 사용하는) 페이지 접근 시 페이지 내 소스코드 또는 주석으로 wordpress 버번과 사용중인 plugin 이름, 버전 정보를 확인 할 수 있음. - style 부분에서 사용중인 theme 정보를 확인할 수 있음 2. 정보수집 1) cve 정보 수집 - wordpress theme vulnerabilities 2) nmap nse - http-wordpress-enum -> plugin, theme 정보 스캔 > 명령어 : nmap -sV -p 80 --script http-wordpress-enum 3) wpscan : WPSca..

JWT(Json web token) 취약점 점검

이전 작성 참고 내용 https://itinformation.tistory.com/527 JWT(Json Web Token) 보안 특성 및 대처 방안 JWT 란? - JWT는 상호간의 정보를 안전하게 전송하는데 사용되는 기술 - 주로 신원(identity) 정보와 클라이언트의 요청과 관련된 정보를 운반하는데 사용 - 토큰은 인증(authentication)을 통해서 생성 -> itinformation.tistory.com JWT 장점 - JWT는 쿠키 등에 저장되므로 서버에서 인증을 위한 세션 저장소가 필요 없음 - 다른 서비스 인증에서도 공통적으로 사용할 수 있어 확장성이 뛰어남 - REST 서비스로 제공 가능 JWT 단점 - 필드가 추가되면 토큰 크기가 증가 - Header나 payload는 단순히 ..

취약점 점검을 위한 자바스크립트 분석 유형

1. Client Side 검증 우회 - 데이터를 서버로 보내기 전에 클라이언트에서 먼저 검증하여 사용자의 실수로 발생하는 통신의 낭비를 줄일 수 있음 - 서버에서 값이 유효한지 확인하는 과정이 없어 사용자에게 더 빠른 오류 피드백을 줄 수 있음 - 단점 > 클라이언트에서만 값을 확인할 경우, 서버에서 데이터를 빼가는 등의 악영향을 미칠 수 있음 > E2E 암호화를 하지 않는 경우 전송되는 데이터를 손쉽게 바꿀 수 있음 > 클라이언트에서 검증하는 로직은 공격자가 확인하고 우회할 수 있음 2. 보안 프로그램 설치 탐지 우회 - 보안 프로그램은 로컬에서 동작하는 웹 서버 구조를 가지고 있음 - 자바 스크립트로 보안 프로그램에 요청을 보내고 요청에 따라 암호화, 전자 서명 등을 진행 - 대책 > 난독화를 통한..

iOS 정적분석을 위한 바이너리 추출

App 바이너리 추출 1. App Directory > App 설치된 Bundle 경로에서 FTP와 같은 방법(3utool도 가능)으로 바이너리 추출 > /var/containers/Bundle/Application/[app_id]/[app_name]/ 2. 메모리 덤프를 통한 바이너리 추출 > App Store에서 앱을 설치 시 앱이 암호화되어 복호화가 필요 > 앱 실행 시 앱이 메모리에 복호화되어 로그되었을 때 이를 덤프하여 바이너리를 추출하는 방법 > Clutch tool을 이용해 복호화과정을 자동화 시킬 수 있음 (12,13에서는 동작하지 않을수 있음) App Store 설치 앱과 IPA 설치파일 차이 - App Store에서 설치된 앱은 실행 Binary가 암호화 되어있음 - IPA 파일을 설치..

Smail code 타입 및 코드 예시

안드로이드 모바일 앱 분석 시 사용하는 Smali code에 대한 설명입니다. Smali 자료형 타입 I > int F > float J > Long S > short Z > Boolean C > char D > duoble V > void Smail 명령어 1. Register 간 데이터 이동 > move, move/from16, move-wide, move-wide/from16 2. 리턴값 세팅 및 처리 > move-result, move-result-wide, return-void, return-object 3. 예외 처리 > throw, move-exceoption 4. 레지스터에 상수 대입 > const/4, const/16, const, const-wide, const-string 5. 동기화..

android permission 설정 설명

android.permission.request_ignore_battery_optimizations : 배터리 최적화 모드 해제(슬립모드 해체) -> 해당 옵션 지정 시 구글등록 안될수도있음 permission system_alert_window : 최상단에 뷰화면을 띄우는 권한 permission foreground_service : Android 9 (API level 28) 이상을 타깃으로 하는 앱은 반드시 포함 필요 / 포그라운드 서비스 실행 모드(서비스가 종료되거나, 삭제되어야 앱이 종료됨) permission ACCESS_COARSE_LOCATION permission ACCESS_FINE_LOCATION : 위치정보 권한 android.permission.REQUEST_DELETE_PACKA..

모바일 보안 취약점 점검 PC세팅 시리즈(3) - frida 설치(android)

모바일 취약점 점검 수행을 위해서 PC를 새로 장만하고, 다시 세팅하는 과정을 남겨보려고한다. Frida(android) 설치 방법 1. python 설치 1. frida PC에 설치 - pip install frida - pip install frida-tools - frida --version 2. frida-server 설치 https://github.com/frida/frida/releases - PC에 설치된 frida 버전과 동일한 frida-server 버전 다운로드 수행 - 저는 녹스(가상) 환경에서 테스트할예정이라 32으로 다운받았고 일반 실 기기는 아마도 64 3. 다운받은 frida-server를 기기에 넣어주기 - 다운받은 서버파일 압축 해제 - 편하게 핸들링하기 위에서 이름은 변경..