School/Security
[ Web Hacking ] - W31c0m3, w3b h4ck3rs!
HTTP 포트로 데이터를 교환하는 방식은 전송 계층(Transport Layer)의 프로토콜을 따릅니다. 대표적으로는 TCP와 UDP가 있습니다. TCP로 데이터를 전송하려는 서비스에 UDP클라이언트가 접근하면, 데이터가 교환되지 않습니다. 반대의 경우도 마찬가지 입니다. 그래서 서비스 포트를 표기할 때는 서비스가 사용하는 전송 계층 프로토콜을 같이 표기하기도 합니다. 예를 들어 HTTP의 서비스 포트가 TCP/80이라고 하면, HTTP서비스를 80번 포트에서 TCP를 제공하고 있다는 뜻입니다. HTTP 요청 HTTP 요청은 서버에게 특정 동작을 요구하는 메시지입니다. 서버는 해당 동작이 실현 가능한지. 클라리언트가 그러한 동작을 요청할 권한이 있는지 등을 검토하고, 적절할 때만 이를 처리합니다. HTT..
[ Security ] 비밀번호 단방향 암호화
단방향 암호화(One-Way Encryption) 단방향 암호화란 한쪽 방향으로 암호화를 한다는 의미입니다. 즉 암호화만 가능하고 복호화는 할 수 없습니다. 그렇기 때문에 비밀번호를 관리할 때 유용하게 사용됩니다. 비밀번호 단방향 암호화 방식으로 저장하는 경우에는 패스워드 DB가 유출되어도 안전합니다. 패스워드를 검증할 때에는 사용자로부터 입력받은 비밀번호를 똑같은 방식으로 암호화하여 암호화된 패스워드끼리 비교를 하면됩니다. 유저가 비밀번호를 잊어버렸을 때는 찾기가 불가능합니다. 대신 비밀번호 변경 메일, SMS인증을 통해 새로운 비밀번호를 입력하도록 하면 됩니다. 대표적으로 많이 사용하고 있는 알고리즘은 SHA-256암호화 알고리즘입니다. 단방향 암호화 종류 해시(Hash) 알고리즘을 사용한다. MD5..
[ Node.JS ] Express-Session과 암호화
Cooie는 사용자의 정보가 웹 서버를 통해 사용자의 컴퓨터에 직접 저장되는 정보의 단위를 말합니다. 예를 들어 사이트에 접속을 했는데 "아이디와 비밀번호를 저장하시겠습니까?라는 창이 뜨면 사용자의 아이디와 비밀번호를 쿠키로 저장한다는 뜻입니다. 쿠키는 브라우저에서 임의로 바꿀 수 있습니다. 만약 아이디와 패스워드 같은 중요한 정보가 쿠키로 저장했다면 보안에 큰 문제가 있을 겁니다. 이러한 문제점을 해결하기 위해서 나온것이 Session입니다. Session이란? 세션은 쿠키보다 더 안전하고 많은 데이터를 저장하는 저장 방식입니다. 쿠키의 경우 데이터를 사용자의 컴퓨터에 저장하기 때문에 비밀번호 같은 민감한 부분이라도 예외없이 그대로 드러납니다. 하지만 세션은 데이터를 서버에 저장하기 때문에 쿠키보다 안..
[ Basic Security ] - Ubuntu in Server
이 포스트는 다 이해 안하셔도 됩니다. 그냥 우리가 배운 리눅스 서버를 어떻게 활용하고 보안전문가, 해커, 개발자가 어떻게 바라보고 있는지에 대한 큰 그림만을 그리셔도 됩니다. 기본 설정 기본 EC2 로그인은 ssh로 설정되어 있습니다. 서버에 공개키를 두고 각 사용자마다의 개인의 개인키를 두어서 로그인을 하는 구조이죠 만약 로그인 체제를 password로 바꾸어서 로그인하고 싶다면 어떻게 할까요? 우선 아래의 명령어로 ubuntu라는 user의 password를 설정해 주도록 하겠습니다. $sudo passwd ubuntu 그 다음에 저희는 root유저의 passwd를 설정하고 root유저로 접속하고 싶으니까 아래의 명령어도 쳐줍니다. $sudo passwd root 그리고 아래의 명령어로 root계정..