본문 바로가기

typeorm2

[NestJS] bcrypt로 패스워드 해시화 하기 0. 배경 1. bcrypt? 2. 용례 및 주의점 배경 사용자 정보를 담고있는 DB에서 암호를 해시화 시킬 필요가 있다고 생각해서 bycrypt 로 해싱 시켜주었는데 한번만 업데이트 되고 이후 업데이트에선 해싱되지 않아서 알아보게 되었다. bcrypt? bcrypt 이전에 'crypt' 라는 함수를 통해 유닉스(Unix) 시스템에서 비밀번호를 해싱하기 위해 처음 도입된 함수가 있었다. 그러나, 기본적인 crypt 함수는 솔트를 사용하여 해시 충돌의 위험을 줄였지만, 초기 버전은 현대의 컴퓨팅 파워에 의해 쉽게 깨질 수 있는 약한 해싱 알고리즘을 사용했다고 한다. 이러한 배경으로 나오게 된게 bcrypt 이다. bcrypt는 'Blowfish' 알고리즘을 사용했는데 이를 통한 이점은 다음과 같다. Bl.. 2024. 2. 6.
[NestJS] PostgreSQL 에서의 SQL Injection 방어 0. SQL Injection? 1. 왜 Injection이 되는걸까 2. 어떻게 대비해야할까 SQL Injection?: https://youtu.be/FoZ2cucLiDs?si=9YFOHgu6Iucb9ZCn 이거만큼 injection 설명 잘해놓은게 없다 SQL 인젝션 공격은 웹사이트의 보안 취약점을 이용하여 데이터베이스를 침투할 수 있는 공격 기법이다. 따옴표(')를 입력하여 발생하는 오류 메시지가 공격 가능한지 확인하는 첫 번째 단계이며, 유니온 셀렉트를 이용하여 다른 테이블의 내용까지 출력하는 것도 가능하다. 왜 Injection이 되는걸까? 인젝션이 왜 되는지 더 딥하게 이해하려면, postgreSQL 파싱과정에 이해를 해야한다. 우리가 select 쿼리를 보내면 DBMS내부에서 문법을 검사할.. 2024. 2. 2.
반응형