코코야이야기
* Javascript 반복문의 종류 1. for문 : 일반적인 반복문으로, 초기화 식, 조건식, 증감식을 이용하여 반복문을 실행 for (let i = 0; i < 10; i++) { console.log(i); } 2. while문: 조건식이 true인 동안 반복문을 실행 let i = 0; while (i < 10) { console.log(i); i++; } 3. do-while문: 일단 한 번 실행한 후, 조건식이 true인 동안 반복문을 실행 let i = 0; do { console.log(i); i++; } while (i < 10); 4. for-in문: 객체의 프로토타입 체인 상의 속성을 포함하여 모든 속성을 반복하여 실행 주의사항 : 객체에 사용자가 정의한 메서드나 속성을 추가하는 경..
사용자 식별 방법 1. 세션: 서버에서 관리하는 정보를 이용하여 사용자를 식별하는 방법. 일반적으로 로그인 시 사용자의 아이디와 패스워드를 인증받아 세션을 생성하고, 세션 ID를 쿠키에 저장. 2. 쿠키: 클라이언트에 저장되는 정보를 이용하여 사용자를 식별하는 방법. 사용자의 브라우저에 쿠키가 저장되며, 서버에서는 클라이언트의 쿠키값을 이용하여 사용자를 식별. 3. 토큰: 사용자 인증 정보를 담고 있는 문자열로, 서버와 클라이언트 간에 인증 정보를 주고받을 때 사용. 일반적으로 로그인 시 서버에서 토큰을 생성하여 클라이언트에 전달하고, 이후에는 클라이언트에서 서버로 요청을 보낼 때 토큰을 함께 전달하여 인증을 수행. 4. 핑거프린트: 브라우저의 고유한 정보를 이용하여 사용자를 식별하는 방법. 브라우저의 ..
* 취약점명 - Insecure Randomness * Math.random - 매우 예측하기 쉬운 알고리즘을 사용하여 만들어진 난수로, 보안적으로 안전하지 않음 - 내부적으로 seed 값을 생성하며, 이 값을 직접 지정할 수 없음 - 이 알고리즘은 시드 값이 변경되지 않는 한 항상 같은 순서의 난수 시퀀스를 생성하며, 같은 난수가 연속해서 발생할수 있으며 이론적으로 모든 값이 동일한 확률로 발생할 가능성이 있음 - 시드 값이 알려진 경우 다음에 생성될 난수를 예측할 수 있을 뿐만 아니라, 악의적인 사용자는 예측 가능한 난수 시퀀스를 생성하여 암호화된 데이터를 해독할 수 있음 * Math.random - seed 동적 생성 - Math.random() 함수로 발생하는 같은 난수 시퀀스를 완전히 제거할 수..
[시큐어코딩] 접근제어 * 파라미터 - 사용자가 서버에 요청을 보낼 때 서버에게 전달해야 하는 값을 가지고 있는 변수 - 서버에게 전달되는 파라미터 값을 사용자가 임의적으로 변경하는 것을 "파라미터 변조"라고 함 * 파라미터 변조 사고의 원인 - 사용자의 요청에 대해 서버 애플리케이션에서 적절한 접근제어가 구현되어 있지 않아 발생함 * 파라미터 변조 사고의 대책 - 클라이언트로부터 요청되는 값(GET/POST 파라미터, 쿠키 메모리값 등)은 언제든지 조작될 수 있기 때문에 외부 입력값을 신뢰하지 말고, 반드시 검증을 수행하는 기능을 구현해야 함 * 파라미터 변조 4가지 진단 1) 진단 1 "파라미터 조작을 통해 허가되지 않은 작업이 실행되는가?" - 공격자가 작업 요청이 어떤 방식으로 요청되는지를 체크해..
[월급쟁이 부자로 은퇴하라] 정리 1. Why * 돈은 흔해진다 - 대출로 인해 시중에는 실제 풀린 돈의 금액보다 더 많은 금액이 돌아다니고 있다. 즉 통화량은 계속 증가한다. - 통화량 증가 -> 돈의 가치 하락 * 월급은 오르지 않는다 - 자본주의 3주체 : 정부, 기업, 가계 - 시간이 지날수록 정부(세금)와 기업이 가져가는 퍼센트는 늘고, 가계가 가져가는 퍼센트는 준다. (참고 : 국회예산정책처) * 나의 경제력과 경제 지수 체크리스트 순번 세부항목 O X 1 나는 나의 현재 소득과 지출 내역을 명확하게 파악하고 있다. 2 나는 일생 동안 나에게 일어날 재정적 사건(결혼, 내 집 마련, 자녀 교육, 부모 부양 등)을 나열하고 필요한 비용을 가늠해본 적이 있다. 3 나는 내가 원하는 것(여행, 취미..
[시큐어코딩] 쿠키 및 세션관리 1. 쿠키 (Cookie) - Statless 프로토콜인 HTTP 통신 시 서버가 사용자 정보를 유지하기위해 생성해서 응답 헤더에 붙여 클라이언트에게 전송하는 정보 - 쿠키 정보는 사용자 PC의 메모리 또는 파일에 저장되고, 해당 사이트에 요청을 전송할 때 이름=값 형식으로 효청 헤더에 포함되어 서버에 전달됨 * 제약사항 - 브라우저당 최대 300개 각 호스트마다 최대 20개까지 사용가능 - 크기는 최대 4KB까지 가능(브라우저마다 다름) * 용도 - 세션 관리를 위한 세션 토큰 저장 - 클라이언트 관리에 필요한 정보, 팝업창 제한 설정과 같은 임시데이터 관리 - 제공 정보의 커스터마이징을 위한 사용자 취향 등 저장 세션쿠키 (Session Cookie) 영구쿠기 (Per..
[시큐어코딩] 계정 및 인증관리 인증관리 인가관리 설명 허락된 사용자만 시스템을 사용하도록 하기 위한 제약 권한을 가진 사용자만 시스템을 사용하도록 하는 제약 취약점의 원인 패스워드 관리 정책이나 로그인 관리 정책 부재 - 사용자의 요청에 대해 권한 체크 부재 - 부적절한 권한 체크 * 계정관리 패스워드 선택 정책 - 패스워드로 사용되는 문자열에 대한 정책 정의 방법 - 사용자들이 안전한 문자열을 패스워드로 선택하는 것을 강제하는 시스템이 구축되어야 함 패스워드 관리 정책 - 문자열 선택 정책 - 패스워드 관리 정책 - 초기 패스워드 변경 정책 - 사용자 패스워드 분실 처리 정책 * 패스워드 선택 정책 5가지 진단 1) 진단 1 "패스워드에 문자열 정책이 적용되어 있는가?" - 회원가입 시 입력되는 패스..
[난생처음 내아파트 갖기] 확인 [1] 집값을 깎자 * 급매 타이밍 노리기 - 공급은 많고, 수요는 적은시기, 부동산을 찾아가면 매수자가 왕 * 인근 대단지아파트 입주시점 노리기 - 대단지 분양시 청약에 당첨된 인근 주민이 입주시점에 기존 집을 팔아 잔금을 처리할 경우를 잡는다. - 대단지 분양시 청약에 당첨된 인근 세입자들이 연장하지 않고 떠나 전세매물이 대거등장하여 전세가격이 하락한다. 급전세가 소화되지 못하면, 급매물이 출현한다. - 대단지 분양시 청약에 당첨된 사람이 오지않고 세를 줄 경우 빨리 세입자를 구하기 위해 전세가격을 낮춘다. 세입자가 제때 구해지지 못하면 급매로 마이너스프리미엄으로 나온다. * 급매 나올 집을 찾아 나서기 - '매도인이 팔고자 하는 이유를 알자.' 팔고자 하는 이유 대처..
[난생처음 내아파트 갖기] 찾기 * 집 가격 측정 - 내게 맞는 주택담보대출 금액 파악하기 연봉 실수령액 확인 -> 월 실수령액 파악 -> 한달에 활용가능(저축)한 금액 파악 -> 한 달에 상환 가능한 금액 파악 -> 월상환액을 기준으로 대출가능금액 파악 * 연봉과 월 수령액 연봉 연 실수령액 월 수령액 3000만원 약 2700만원 약 220만원 4000만원 약 3500만원 약 300만원 5000만원 약 4300만원 약 350만원 6000만원 약 5000만원 약 420만원 7000만원 약 5800만원 약 490만원 8000만원 약 6500만원 약 550만원 9000만원 약 7300만원 약 600만원 1억원 약 8000만원 약 660만원 * 연봉에 따른 대출 적정선(대출 이율 4%, 20년 상환가정) 월 ..
[난생처음 내아파트 갖기] 서론 * 집값은 물가 상승률만큼 오른다 - 우리나라 화폐량은 아래의 '광의 통화량' 그림과 같이 꾸준히, 그것도 많이 증가하고 있다. 이에 따라 돈의가치가 나도 모르게 떨어지고 있다. - 기하급수적으로 늘어난 통화량은 우리나라의 시장 어딘가로 흘러 들어간다. 즉 부동산 가격이 오르는 것이 아니라 돈의 가치가 떨어지는 것이다. 전세든 매매든, 폭등과 폭락을 떠나서도 돈이 풀린만큼 물가도 상승할 수 밖에 없다. 집값이 조금씩이나마 상승할수 밖에 없다는 말이다. 아파트 원재료인 시멘트, 철근, 콘크리트, 보일러, 싱크대 등의 가격이 오르고, 인건비까지 오르기 때문에 어쩔수 없는 현상이다. - 월급이 그대로고 물건가격이 떨어지면 행복할것 같지만, 그것이 일본의 '잃어버린 20년'을 낳..