웹개발/Database
[SQL] SQL 인젝션 정의 및 공격(방어)방법
kmhan
2020. 5. 2. 23:37
728x90
반응형
SQL 인젝션이란?
- 데이터베이스와 연동된 웹 애플리케이션에서 공격자가 입력이 가능한 폼에 조작된 질의문을 삽입하여 웹 서비스의 데이터베이스 정보를 열람 또는 조작할 수 있는 취약점을 말한다.
공격방법
| SELECT user FROM user_table WHERE id='admin' AND password=' ' OR '1' = '1'; |
방어방법 : Query String이 아닌 Parameter Binding을 사용하면 된다.
|
String prepareStatementQuery = "SELECT user FROM user_table WHERE id=? AND password=?"; PreparedStatement preparedStatement = connection.prepareStatement(prepareStatementQuery); preparedStatement.setString( parameterIndex: 1, loginName); preparedStatement.setString( parameterIndex: 2, loginPassword); |
참고자료
728x90
반응형