| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- react
- Object~
- Navigation
- tabBarBadge
- 정보보호
- 면접을위한CS전공지식노트
- 알고리즘
- BottomTabNavigation
- Flutter
- 웹해킹
- OpenWeatherApi
- ReactNative
- date-fns
- 명령형프로그래밍
- 플러터앱개발공부
- 앱개발
- BottomTabBarNavigator
- 딥러닝
- 플러터앱개발
- 하단탭바알림
- 플러터공부
- 모두의딥러닝
- 화면이동
- Flutter공부
- 앱개발공부
- 데이터베이스의기본
- 선언형프로그래밍
- RectQuery
- 날짜포맷팅
- 플러터
- Today
- Total
목록전체 글 (51)
기록하기
예전에 짧게 공부했던 React Native를 다시 머리 속에서 꺼내기 위해..! 다시 공부해보자 그래서 여긴 자세하게 적는 것 보단 짧게 짧게 메모 형식으로 적을 것이다. 다음에 혹시나 필요할 때 볼 수 있게 ㅎㅎ 컴포넌트를 선언하는 방법 컴포넌트를 선언하는 방법은 2가지 1. 함수 컴포넌트 선언하기 2. 클래스로 컴포넌트 선언하기 함수 컴포넌트 선언하기 Greeting.js 파일을 만들고 이렇게 코드를 작성함. import React from 'react'; import {View, Text} from 'react-native'; function Greeting() { return ( 안녕하세요 함수 컴포넌트! ) } export default Greeting; 이전에도 항상 궁금했던 건데 expo..
ERD란 ? 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하고, 릴레이션 간의 관계들을 정의한 것이다. 만약 서비스를 구축한다면, 가장 먼저 신경 써야 할 부분이며 이 부분을 신경 쓰지 않고 서비스를 구축한다면 단단하지 안흔 골조로 건물을 짓는 거랑 다름이 없다. ERD의 중요성 데이터베이스를 구축한 이후에도 디버깅, 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다. 하지만 ERD는 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용할 수 있지만 비정형 데이터를 충분히 표현할 수 없다는 단점이 있다. 정규화 과정 정규화 과정은 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상이 일어나서 이를 해결하거나, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러..
데이터베이스 일정한 규칙, 혹은 규악을 통해 구조화되어 저장되는 데이터의 모음이다. 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS라고 하며, 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. DBMS : DataBase Management System 엔터티 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다. 예를 들어 회원이라는 엔터티가 있다고 가정 하면..? 회원은 이름, 아이디, 주소, 전화번호의 속성을 가질 것이다. 서비스의 요구 사항에 맞춰 속성이 정해진다. 예를 들어 주소라는 속성이 서비스의 요구 사항과 무관한 속성이라면 주소라는 속성은 사라지게 된다. 릴레이션 데이터베이스에서 ..
싱글톤 패턴 (singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 데이터베이스 연결 모듈에 많이 사용한다. 인스턴스를 만들고 해당 인스턴스를 다른 모듈들이 공유하면서 사용하기 때문에 인스턴스 생성 비용이 줄어드는 장점이 있다. 하지만 의존성이 높아진다는 단점이 있다. 자바스크립트의 싱글톤 패턴 예시 obj와 obj2는 다른 인스턴스를 가지기 때문에 결과는 false로 나옵니다. const obj = { a : 27 } const obj2 = { a : 27 } console.log(obj === obj2) 싱글톤 패턴의 단점 싱글톤 패턴은 TDD를 할 때 걸림돌이 된다. TDD를 할 때 단위 테스트를 주로 하는데, 단위 테스트는 테스트가 서로 독립적이어야 하고 테스트..
오늘은 뭘 개발해볼까 무엇을 더 공부해 볼까 고민하던 도중 학교 백엔드 수업 수행평가로 간단하게 제작했던 Todo List가 떠올랐다. 백엔드의 ㅂ도 몰랐던 나는 어떻게 하면 제일 간단하고 쉽게 todo 생성, 삭제 기능을 구현할 수 있을까 고민하던 도중 Fast API를 발견했었다. Fast API는 내가 상상했던 것 보다 훨씬 간단했고, 파이썬을 잘 모르더라도 쉽게 개발 할 수 있었다. 그래서 사실 수행평가를 진행 하면서 너무 쉽게 점수를 따는 것 아닐까.. 아쉬움이 들었고 Fast API를 사용해서 조금 더 어려운 기능을 구현하면 좋을 것 같다고 생각했다. 그래도 너무 갑자기 어려운거 하면 안 되니까 회원가입이랑 로그인 어떤가 !! 🥹 * 참고 * 제가 적은 코드에는 실제 애플리케이션 보안과 데이터..
웹의 취약점을 보완하는 방법이 있습니다! 특수문자 필터링 - 웹 해킹의 가장 기본적인 형태 중 하나는 인수 조작으로 예외적인 실행을 유발하기 위해 특수문자를 포함한다. - 공격에 사용되는 주요 특수문자를 함수 등을 이용하여 제거할 수 있다. 서버 통제 작용 - CSS 기반의 언어로 필터링하는 경우에는 공격자가 로직만 파악하면 필터링이 쉽게 무력화되므로 ASP, JSP 등과 같은 SSS로 필터링 로직을 수행해야 한다. 지속적인 세션 관리 - 모든 웹 페이지에 일관성 있는 인증 로직을 적용하려면 기업 또는 웹 사이트 단위에서 세션 인증 로직을 표준화하고, 표준을 준수하여 웹 페이지를 개발하도록 해야한다. 정기적인 취약점 스캐닝과 팬테스트 - 정기적으로 웹 애플리케이션을 취약점 스캐닝 도구를 사용하여 검사하고..
저번에 적었던 웹의 주요 취약점을 이어서 적어보도록 하겠습니다! 취약한 접근 제어 - 인증된 사용자가 수행할 수 있는 것에 대한 제한을 제대로 적용하지 않은 것을 의미한다. - 공격자는 이를 악용하여 사용자 계정 접근, 중요 파일 보기, 사용자 데이터 수정, 접근 권한 변경 등과 같이 권한 없는 기능을 사용하거나 데이터에 접근할 수 있습니다. - 관리자 페이지가 추측하기 쉬운 URL이거나 인증이 필요한 페이지에 인증을 하지 않고 우회하여 접속할 수 있는 취약점. - 인증 우회를 막으려면 웹의 중요 페이지에 세션 값을 확인하는 검증 로직을 입력해 두어야한다. - 프로그램 개발시 표준 인증 로직을 만들어 웹에 존재하는 모든 페이지의 앞 부분에 입력해야한다. 디렉터리 탐색 - 웹 브라우저에서 확인 가능한 경로..
웹 프록시를 통한 취약점 분석 - 웹의 구조 파악, 취약점 점검, 웹 해킹에서는 웹 프록시 툴을 사용한다. - 웹 해킹에 사용하는 웹 프록시는 클라이언트에 설치하여 클라이언트의 통제를 받으므로 클라이언트가 웹 서버와 웹 브라우저 간에 전달 되는 모든 HTTP 패킷을 웹 프록시로 확인 및 수정 가능하다. - 클라이언트의 웹 브라우저 패킷이 웹 프록시로 향하도록 설정해야 한다. 서버에서 클라이언트로 전송 되는 패킷을 변조할땐 다시 글 내용을 조회하기 위해 해당 글을 클릭하면 서버가 클라이언트로 보내는 응답 패킷에서 해당 글의 본문이 전달되는 것 확인. 웹 취약점 스캐너를 통한 정보 수집 - 빠른 시간 내에 다양한 접속 시도를 수행할 수 있다는 것이 장점이다. - 웹 취약점 스캐너로 발견된 취약점은 개발 확인..
CSRF 공격기법 - 크로스 사이트 요청 위조 공격(CSRF : cross site request forgery attack) - XSS와 유사하게 활용 가능 - XSS와 차이 -> XSS는 특정 사이트를 신뢰하는 정책을 이용한 코드를 삽업하여 사용자가 script 실행 -> CSRF는 특정 인증된 사용자의 요청을 신뢰하는 정책을 이용해 script 요청을 서버에서 실행 시킨다. 공격 경로 예시 공격자가 시스템 관리자에게 스크립트가 포함된 메일을 전송한다. 인증된 세션을 가지고 있는 관리자가 메일을 읽는다. 브라우저에서 인증된 세션과 함께 악성 스크립트가 실행된다. 관리자 세션 탈취 성공!!
1. 계정 관리 2. 세션 관리 3. 접근 제어 4. 권한 관리 5. 로그 관리 6. 취약점 관리 시스템 보안 BOF : Buffer Overflow 데이터를 버퍼에 저장할 때 개발자가 의도한 크기 넘어에 값을 넣는 방식 -> 초과된 데이터는 인접 메모리에 양향이 간다(제어 관련 구문도 포함될 수 있음) BOF 원인 및 해결 방안 1. 입력 값의 길이를 올바르게 검사하지 않아 생기는 취약점 2. 프로그램의 실행 흐름을 바꾸어 특정 코드가 실행되게 하는 기법 3. 입력 값에 대한 길이 및 타입에 대한 체킹은 필수! BOF에서 사용되는 용어 BOF 취약 함수 BOF 방지 C언어 Stack BOF 방지를 위해, strcpy 함수를 strncpy로 교체한다 -> strncpy(buffer, argv[1], si..