본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


전체 글674

13. 취약한 패스워드 복구(PR) 취약한 패스워드 복구 취약점은 패스워드 찾기 같은 프로세스로 인해 공격자가 불법적으로 다른 사용자의 패스워드를 획득, 변경할 가능성이 있는 취약점 입니다. 해커가 취약점 찾기를 메일, 문자 등 다른 인증을 요구하지 않고 사용자 화면에서 바로 표출하는 경우에 이에 쉽게 접근하여 사용자의 비밀번호를 확인 할 수 있기 때문입니다. #방법1 이를 대비하기 위해서는 사용자의 비밀번호를 문자 및 특수문자를 입력받게 하여 위변조가 어렵게 하는 것 입니다. 브라우저인 Javascript에서 사용자 비밀번호 입력 시 해당 유효성을 검증하게 합니다. https://lts0606.tistory.com/547 #방법2 서버에서 비밀번호을 입력받을 때 특수문자가 있는지, 단순한 패턴으로 입력받았는지 한번 더 검증하게 합니다. .. 2021. 12. 6.
Javascript 비밀번호 정규식 검증하기 1. 최소길이 6, 1개이상 문자, 1개이상 특수문자 function isOkPwd(password){ let regex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{6,}$/ if( !regex.test(password) ) { return false } return true } 2. 최소 6자, 하나 이상의 대문자, 하나의 소문자 및 하나의 숫자 정규식 function isOkPwd(password){ let regex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{6,}$/ if( !regex.test(password) ) { return false } return true } 2021. 12. 6.
12. 불충분한 인증(IA) 불충분한 인증은, 민감한 데이터에 취약한 인증 메커니즘이 구현되어 있을 경우 발생하는 취약점 입니다. 인증 기능(로그인, 중요 페이지에 대한 2차 인증 등)은 구현하였으나 추측 가능한 패스워드, 취약한 인증 프로세스로 구현되어 있으면 해커가 이를 우회하여 정보를 탈취 할 수 있는 취약점 입니다. 해당 취약점을 대비하는 이유는, 단순한 비밀번호 입력을 통하여 쉽게 로그인을 시도 할 수 있거나, 권한이 없는 사용자가 중요 정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있기 때문 입니다. #방법1 이를 대비하기 위해서는 먼저 인증이 필요한 곳에서의 비밀번호를 단순하게 입력받는 것이 아니라 특수기호가 포함된 단어로 입력을 받게 하는 것 입니다. JavaScript를 통하여 브라우저에서 1번, Java를 통.. 2021. 12. 2.
11. 크로스 사이트 스크립팅(XS, XSS, Cross Site Scripting) 취약점에서 가장 많이 시도되며 유명한 크로스 사이트 스크립팅 입니다. 웹 환경에서 다른 최종 사용자의 클라이언트에서 임의의 스크립트가 실행되는 취약점 입니다. 웹 사이트 게시판, 댓글 ,자료실 등에 정상적인 콘텐츠 대신에 악성 콘텐츠를 주입하여 실행 될 경우 사용자가 원본 콘텐츠 대신 악성코드 감염 및 웹 페이지 변조 등 사용자에게 악의적인 영향을 미칠 수 있는 악성 콘텐츠를 열람할 수 있게 할 수 있습니다. 크로스 사이트 스크립팅을 대비한다는 것은 한마디로 압축하면, 브라우저의 명령어가 일반 글씨로 저장되어 다른사람의 브라우저에서 실행되지 못하게 하는 것을 의미 합니다. 내가 만든 게시판에서 누군가 게시판 글을 저장하고, 해당 글 내용이 실행 되지 않게 하여야 합니다. 예를 들어 아래 코드가 게시글로 .. 2021. 12. 2.
10. 악성 콘텐츠(CS) 웹 환경에서 파일을 업로드 하는 경우에 해당 파일유효성 검증을 따로 하지 않는 경우, 악성콘텐츠가 삽입된 페이지에 접속한 사용자는 악성코드 유포 사이트가 자동으로 호출되어 악성코드에 감염될 수 있는 취약점을 의미 합니다. 악성콘텐츠는 SQL 인젝션, Cross Site Scripting, 파일 업로드를 통한 페이지 위변조 기법 등을 통해 삽입이 가능하면서 서버 내부의 자원 탈취 및 변조, 클라이언트 브라우저에게의 악성코드 삽입 등이 가능하므로 해당 취약점은 반드시 조치가 되어야 합니다. #방법1 취약점에 대한 첫번째 조치로는 브라우저에서 허용된 파일 확장자만 업로드 할 수 있도록 제한을 두는 것 입니다. 일반적으로 file테그에 change옵션을 통하여 파일 확장자를 제한 합니다. 아래 코드는 간단하게 .. 2021. 12. 2.
9. 정보 누출(Information Leakage) 정보노출이란 서버의 정보가 외부로부터 노출되는 것을 의미 합니다. 서버의 정보는 오류인 경우 오류 메시지와 함께 노출되는 경우와, 서버의 응답헤더에 서버이름이 있는 경우 2가지가 존재 합니다. 해당 취약점을 대비하는 이유는, 동작하는 어플리케이션 서버 정보를 해커에게 제공함으로서 침투할 방법을 좀 더 용이하게 할 수 있기 때문 입니다. #방법1 정보누출을 원천적으로 차단하기 위해서는 각각의 어플리케이션 서버의 설정을 통해서 가능 합니다. 헤더에서 Server 정보를 제거하여 해당 서버가 어떠한 프로그램의 기반으로 만들어 졌는지, 어떠한 이름을 가지고 있는지 제거 해 주도록 합니다. #방법2 오류 페이지가 서버 자체의 화면으로 가게 하는 것이 아니라 사용자가 만든 화면으로 가도록 하는 것이 필수 입니다. .. 2021. 11. 29.