해킹&보안/웹
2025. 6. 18.
SQL INJECTION 실습
위와 같이 입력창이 있는 것을 확인했고 SQL 인젝션 공격을 위해 'or '1'='1을 입력창에 넣고 Submit를 클릭했다 원래라면 유저의 ID를 입력하고 해당하는 유저의 정보를 받아와야하는데'or '1'='1의 결과로 여러 사용자의 정보가 한꺼번에 나왔다 이게 뭘 의미하는걸까?원래 로직은 특정 ID만 조회되도록 쿼리가 짜여 있었을 텐데, ' OR '1'='1 을 넣음으로써 조건이 항상 참(True) 이 되어서전체 레코드가 조회된 것이다 조금 더 자세히 코드를 참고해서 확인해보면SELECT firstname, surname FROM users WHERE id = '$input';이렇게 유저가 입력을 하면 users테이블에서 찾고 해당 아이디와 일치하는 정보를 보여주는건데$input 값에 ' or '1'..