본문 바로가기
728x90
반응형

분류 전체보기207

[인시큐어뱅크] 안드로이드 앱 내/외부 저장소 진단 중요 정보들이 평문으로 저장되어 있는 경우가 있다. 이런 것들에 대한 진단 방법에 대해 알아보자. [내부 저장소]/data/data//- 앱별 데이터가 저장되는 경로이다/data/data/shared_prefs/- 앱의 설정 정보가 저장되는 XML 파일이다.- 자동 로그인 정보, 세션 토큰 등 민감한 정보가 평문으로 저장될 수 있다./data/data/databases/- SQLite 데이터베이스 파일이 저장되는 디렉터리이다- 데이터베이스 내 테이블에서 민감 정보(사용자 정보, 쿠키, 인증 토큰 등)가 저장될 수 있다- 도구를 통해 열면 된다./data/data/cache/- 앱 실행 중 생성된 캐시 파일이다- 요청 응답, 이미지, JSON 등 불필요한 정보가 평문으로 남아 있을 가능성이 있다/data/.. 2025. 1. 4.
[인시큐어뱅크] 하드코딩된 중요 정보 확인 실습 앱 분석을 하기 위해 실제 소스 코드가 있는 경우와 apk 파일만 있는 경우가 있다. 기업에서 직접 소스 코드를 주지 않는 이상 소스 코드를 보면서 분석을 진행하는 경우는 드물기 때문에 apk 파일만 주어진 경우로 가정하여 분석 진행하겠다. 분석 도구는 JADX-gui를 사용한다.그럼 이런 화면을 볼 수 있다. 여기서 분석을 진행하면 된다.ctrl + shift + f위 단축키를 이용하면 검색을 할 수 있다. 이걸로 주요 키워드를 검색해가면서 하드코딩된 정보를 찾아보자.[계정 정보 하드코딩]앞서 설명한 검색 방법으로 `username`을 검색하게 되면 `devadmin`이라는 username이 하드코딩되어 사용되는 것을 확인할 수 있다. 더블클릭하여 자세한 내용을 확인해보자.  public .. 2024. 12. 31.
DOM Clobbering [DOM Clobbering 이란?]DOM Clobbering은 HTML 요소의 `id`나 `name`이 전역 변수 혹은 함수와 동일한 이름을 가질 때 발생하는 취약점이다. 자바스크립트에서 전역 변수로 사용하려던 이름이 DOM 요소에 의해 "덮어씌워져(clobbered)" 버리는 현상이다. [DOM 이란?]DOM (Document Object Model)은 웹 페이지를 구조화하여, 각 요소를 객체(Object) 형태로 표현한 인터페이스(Model)이다. 쉽게 말해, 웹 페이지의 각 요소(텍스트, 이미지 등)를 자바스크립트로 제어하기 위해 브라우저가 내부적으로 만들어 두는 것들이다. Hello, World! Change Text  위 코드는 `myHeading`과 `myButton` DOM 요.. 2024. 12. 30.
[Tip] CodeQL 간단 사용법 간단하게 codeQL 사용법을 정리해보겠다. 세팅https://github.com/github/codeql-cli-binaries GitHub - github/codeql-cli-binaries: Binaries for the CodeQL CLIBinaries for the CodeQL CLI. Contribute to github/codeql-cli-binaries development by creating an account on GitHub.github.com여기 release 페이지에서 최신 codeql을 다운받는다. codeql 실행 파일의 환경 변수를 설정해준다.  그럼 위와 같이 다른 폴더에서도 codeql을 실행할 수 있다. https://github.com/github/codeql Git.. 2024. 12. 30.
728x90
반응형