반응형
주요정보통신기반시설 기술적 취약점 분석 평가 기준
약한 문자열 강도
회원 가입 시 안전한 패스워드 규칙이 적용되지 않아 취약한 패스워드로 회원 가입 가능한 경우
공격자가 추측을 통한 대입 공격을 시도하여 사용자의 패스워드를 추출할 수 있다.
➽ 규정 예시
①
최소 10자리 이상의 비밀번호 구성 ②
3종류 이상(대소문자, 숫자, 특수문자)을 조합하여 최소 8자리 이상의 비밀번호 구성 ③
연속적인 숫자나 전화번호 등 추측하기 쉬운 개인정보 및 아이디와 비슷한 비밀번호는 사용 자제 ④
비밀번호는 유효기간을 설정하여 반기별 1회 이상 변경 ①
최소 10자리 이상의 비밀번호 구성 "^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{10,}$"
②
대소문자, 숫자, 특수문자 세가지 조합 이상 8자 이상의 비밀번호 구성 "^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$"
예시 2,3번 적용된 자바스크립트
function check_passwd() {
var check1 = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,12}$/.test(mbrPwd);
if(!check1){
return "비밀번호는 영문,숫자,특수문자(!@$%^&* 만 허용)를\n조합하여 8~12자로 구성하세요.";
}
if(/(\w)\1\1/.test(mbrPwd)){
return '같은 문자를 3번 이상 사용하실 수 없습니다.';
}
var cnt = 0;
var cnt2 = 0;
var tmp = "";
var tmp2 = "";
var tmp3 = "";
for (var i = 0; i < mbrPwd.length; i++) {
tmp = mbrPwd.charAt(i);
tmp2 = mbrPwd.charAt(i + 1);
tmp3 = mbrPwd.charAt(i + 2);
if (tmp.charCodeAt(0) - tmp2.charCodeAt(0) == 1
&& tmp2.charCodeAt(0) - tmp3.charCodeAt(0) == 1) {
cnt = cnt + 1;
}
if (tmp.charCodeAt(0) - tmp2.charCodeAt(0) == -1
&& tmp2.charCodeAt(0) - tmp3.charCodeAt(0) == -1) {
cnt2 = cnt2 + 1;
}
}
if (cnt > 0 || cnt2 > 0) {
return '연속된 문자를 3번 이상 사용하실 수 없습니다.';
}
return 'O';
}
반응형
'해킹-보안' 카테고리의 다른 글
SuNiNaTaS WEB 22번 풀이 - Blind Sql Injection (0) | 2021.02.18 |
---|---|
Fiddler 환경 설정 및 단축키 (0) | 2021.02.15 |
Spring XSS Java Filter 등록하기 (1) | 2021.02.09 |
톰캣 에러 페이지 처리 및 버전 정보 삭제 (0) | 2021.02.01 |
톰캣 8.5 사설 SSL 인증서 설치 (0) | 2021.01.31 |