
Querydsl 취약점으로 인한 SQL/HQL Injection 이슈

·
Server/JPA
오랜만에, Spring 공부를 하며 다시 프로젝트를 셋팅하고 있던 와중 gradle의 의존성 추가 부분에서 안내문을 접했다.검색하는 과정에서, Querydsl을 사용할 때 보안 이슈가 발생할 수 있다는 점을 알게 되었다. 특히 사용자가 orderBy값을 제공하는 경우, blind SQL injection이라 불리는 형태의 공격을 당할 수 있다고 한다. 예를 들어, 아래와 같은 요청을 서버에 보낸다고 생각하자.http://localhost:8000/products?orderBy=name+INTERSECT+SELECT+t+FROM+Test+t+WHERE+(SELECT+'2')='2'+ORDER+BY+t.id HTTP/1.1 SELECT t1 FROM Test t1 Order By t1.name INTERSE..