목록전체 글 (73)
delpho
_1. 빌더 패턴은 왜 나왔을까 ? 빌더패턴은 생성자만 사용할 때 발생할 수 있는 문제를 개선하기 위해 고안 어떤 이슈인데?? 👉👉 1. 클라이언트 프로그램에서 팩토리 클래스를 호출할 때 Optional한 인자가 많아지면, 타입과 순서에 대한 관리가 어려워져 에러 발생 확률이 높아진다. 2. 경우에 따라 필요 없는 파라미터들에 대해서 팩토리 클래스에 일일이 NULL 값을 넘겨줘야한다. 3. 생성해야 하는 sub class가 무거워지고 복잡해짐에 따라 팩토리 클래스 또한 복잡해진다. 이 해당 이슈들을 해결하려면 ?? 👉👉 1. 불필요한 생성자를 만들지 않고 객체를 만든다. 2. 데이터의 순서에 상관 없이 객체를 만들어 낸다. 3. 사용자가 봤을때 명시적이고 이해할 수 있어야 한다. _2. [ 빌더 패턴 (..
_1. [ CSRF (Cross Site Request Forgery) ] 사용자(희생자)가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 만드는 공격 _2. [ 공격 방법 ] 1. 공격자는 피싱사이트 혹은 CSRF 스크립트가 포함된 이메일를 전송 2. 사용자는 해당 사이트 혹은 메일을 열람 3. 사용자의 권한을 사용하여 공격자가 원하는 CSRF 스크립트 요청이 발생 4. 공격자가 의도한 행위가 실행 _3. [ 방어 방법 ] Referrer 검증 Back-end 단에서 request의 referrer를 확인하여 domain (ex. *.facebook.com) 이 일치하는 지 검증하는 방법 Security Token 사용 (A.K.A CSRF Token..
_1. [ XSS (Cross Site Scripting) ] 1. 사용자가 악성 스크립트를 삽입하여 의도하지 않은 명령을 실행시키거나 세션 등을 탈취할 수 있는 취약점 2. 대부분 JS를 이용한 공격 _2. [ 종류 ] Reflected XSS 악성 스크립트를 클라이언트에게 직접 전달 서버에 스크립트를 저장하지 않기 때문에 서버에서 이루어지는 필터링을 피할 수 있음 Stored XSS 악성 스크립트를 서버에 저장시킨 다음 클라이언트의 요청/응답 과정을 통해 공격하는 방식 DOM Based XSS 브라우저가 html 페이지를 분석하여 DOM을 생성할 때 악성 스크립트가 DOM의 일부로 구성되어 생성되는 공격 출처 https://tibetsandfox.tistory.com/5 XSS(Cross Site S..
_1. [ SQL Injection ] 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 _2. [ 종류 ] Error based SQL Injection Union based SQL Injection Blind SQL Injection Blind SQL Injection Stored Procedure SQL Injection Mass SQL Injection _3. [ 대응 방안 ] Error Message 노출 금지 웹 방화벽 사용 Prepared Statement 구문사용 출처 https://noirstar.tistory.com/264 SQL Injection 이란? (SQL 삽입 공격) 1. SQL Injection 1.1 개요 SQL Inject..
_1. JWT, OAuth ... 연관이 되어보이는데 확실한 차이가 무엇인지 감이 잘 안온다. JWT가 과일이라면, OAuth는 과일을 담는 상자! [ JWT ] Token의 한 종류 [ OAuth (Open Standard for Authorization) ] 클라이언트 애플리케이션에게 보안 위임 액세스를 제공하는데에 사용하는 개방형 표준 프로토콜 [ 개방형 표준 ] 기술 표준이 문서화되어 공개되어있고, 사용이 자유로운 것 풀어말하면 A서비스를 이용하는 사람들이 별다른 비밀번호나 자격증명없이 로그인할 수 있도록 B서비스에서의 접근 권한을 부여할 수 있게하는 표준 _2. 근데.. OAuth는 프로토콜이야? 프레임워크야? 검색해보니 둘 다 불리던데.. 👉 OAuth2.0 프로토콜이라고도 불리고 프레임워크라..
_1. 싱글톤 패턴 = 디자인 패턴의 한 종류 디자인 패턴이 뭔데? [ 패턴 ] 일정한 형태의 양식이나 유형 [ 디자인 패턴 ] 객체 지향 프로그래밍 설계를 할 때, 자주 발생하는 문제들을 피하기 위해 사용되는 패턴 _2. [ 싱글톤 패턴 (Singleton parttern) ] 객체의 인스턴스가 오직 하나만 생성되는 것을 보장하고 어디서든 동일한 인스턴스에 접근할 수 있도록 하는 디자인 패턴 [ 싱글톤 패턴 예시 ] public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서 호출못하게 private 으로 지정해야 한다. } public static Singlet..