본문 바로가기
💾Database & Server/MySQL & Maria

[MySQL] SQL Injection

by inbeom 2023. 8. 25.
728x90

💡 SQL Injection

SQL인젝션(SQL 삽입, SQL 주입으로도 불린다)은 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격 방식이다.

 

String SQL Injection

  • id를 입력하고 pwd에 ⇒ 'OR''=’ 이라고 입력하면 True로 인식해버려서 로그인이 성공해버리게 된다.

SQL query>

sql = SELECT * FROM user_info WHERE id=’aaaa’ and pwd=' 'OR''='';
// 'OR''=' 

 

Numeric SQL Injection

  • String으로 입력이 불가능한 경우 (selectBox)
  • Burp Suit 프로그램을 이용해 Proxy로 값이 서버로 전송될 때 intercept하여 값을 원하는대로 수정하여 보냄.

https://portswigger.net/burp

 

이러한 SQLinjection공격을 막기 위해 DataBase를 연결 할 때 ‘PreparedStatement’를 사용해야 한다!

(Statement는 내부에서 연결할 때 사용 해도 된다)

SQL Injection 이란? (SQL 삽입 공격)

728x90

'💾Database & Server > MySQL & Maria' 카테고리의 다른 글

[MySQL] InnoDB & MyISAM  (0) 2023.08.25
[MySQL] Storage Engine  (0) 2023.08.25
[MySQL] Query 함수  (0) 2023.08.25
[MySQL] Query 문법  (1) 2023.08.25