🗂️ Etc
CSRF(Cross Site Request Forgery) 공격, 사례, 방어 방법
CSRF(Cross Site Request Forgery) - 사이트 간 공격 위조 XSRF라고도 부른다. CSRF 공격 방법 1. 공격자는 본인의 사이트에 일반 사용자가 접근하도록 유도한다(메일 등의 발송으로) 2. 공격자의 사이트에 접근한 사용자는 접근한 페이지 내에서 img 태그(get 방식)나 form 태그(post 방식)에 공격자의 의도가 담긴 Parameter를 담아 공격할 서버에 전송하도록한다. img 태그와 link 태그는 CORS가 적용되는 대표적 태그다. 참고 - XSS와 다른 점은 XSS는 클라이언트를 공격하는 방식이라면 CSRF는 서버를 공격하는 방법이다. 예시 및 사례 예를 들어 공격자는 사용자의 비밀번호를 바꿀 수 있다. 대표적으로 2008년 옥션 개인정보 유출 사건이 존재한다...
Windows에 Redis 설치하기
아래에서 윈도우 Redis 설치 파일을 다운받아 설치한다. Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis github.com 아래와 같은 경로에 설치가 되면 redis-server.exe를 실행하면 redis-server가 실행된다. redis.windows-service.conf를 열어서(redis.windows.conf파일 아님) 비밀번..
다이나믹 쿼리 사용 시 간과할 수 있는 개인정보 유출 문제(Feat. iBatis, myBatis, QueryDsl)
최근 회사에서 개인정보 유출 이슈가 발생했다. 해당 이슈 사항은 굉장히 큰 부분이라 전사적으로 뒤집어진 사건이었고(자세한건 잡혀갈까봐 말을 못하고) 원인은 너무 사소한 곳에 있던 문제였다. 원인은 다이나믹 쿼리 사용 시 개인정보에 관한 컬럼에 조건문을 사용했기 때문이다. iBatis AND CUST_ID = #custId# myBatis AND CUST_ID = #{custId} custId는 고객 ID에 관한 컬럼이다. iBatis, myBatis를 사용한다면 위와 같은 코드를 많이 마주치게 될 것이다. 위의 코드는 문제가 있는 코드다. 의외로 위와 같은 코드는 아래와 같은 생각으로 쉽게 발생할 수 있다. 매개변수가 매번 달라지니 다이나믹 쿼리를 사용하자. 근데 하나하나 쓰기 귀찮으니 다른데서 복사해서..
Static Method를 테스트 하기 어려운 이유
예제 코드 public class RepositoryRank { interface GithubService { GitHub connect() throws IOException; } class DefaultTestService implements GithubService { @Overridwe public Github connect() throws IOException { return Github.connect(); } } ---------------------------------------- private GithubService gitHubService; public RepositoryRank(GithubService gitHubService){ this.gitHubService = gitHubSer..