Prepared Statement(3)
-
[Web Application-모의해킹] SQL Injection : 시큐어 코딩(Prepared Statement) #3-4
시큐어 코딩 : Prepared Statement 1) 개요 Project:Web Site 웹 사이트 로그인 페이지 user_id 파라미터에서 발견된 SQL Injection 취약점을 방지하기 위하여 대응 방안 중 하나인 Prepared Statement 기능을 구현하고 적용시켜 실제로 SQL Injection 공격을 방지할 수 있는지 확인한다. 2) 방법 Prepared Statement 기능은 사용자 입력 값과 마찬가지로 Client Side에서 구현을 하게 되면 공격자에 의해 변조될 가능성이 존재하므로 보안을 위해 Server Side에서 구현을 한다. 3) 시큐어 코딩 [1] login_proc.php 페이지 전문12345678910111213141516171819202122232425..
2024.04.27 -
[Web Application-모의해킹] SQL Injection : 대응 방안 #3-1
대응 방안 (feat.주요통신기반시설) 1) 점검 방법 SQL Injection 취약점을 점검하는 방법은 다음과 같다. 사용자 입력 값에 특수문자나 임의의 SQL 쿼리를 삽입하여 DB 에러 페이지가 반환되는지 확인사용자 입력 값에 임의의 SQL 참, 거짓 쿼리를 삽입하여 참, 거짓 쿼리에 따라 반환되는 페이지가 다른지 확인로그인 페이지에 참이 되는 쿼리를 전달하여 로그인되는지 확인 2) 보안설정방법 SQL Injection 취약점에 대한 대응 방안은 다음과 같다. SQL 쿼리에 사용되는 문자열의 유효성 검증 로직 구현시스템에서 제공하는 에러 메시지 및 DBMS에서 제공하는 에러 코드가 노출되지 않도록 예외 처리Prepared Statement 3) 대표적인 대응 방안 사용자 입력 값 검증 로직 ..
2024.04.25 -
[Web Hacking] SQL Injection : 여러 Case 및 대응 방안 #5
SQL Injection 공격이 가능하려면? SQL Injection 공격은 주로 사용자가 입력을 할 수 있는 입력창에서 발생한다. 그러나 입력창이 아니더라도 SQL Injection 공격은 DB와 관련된 곳이라면 어디든지 발생할 수 있다는 것을 인지해야 한다. SQL Injection 공격이란 공격자의 입맛에 맞게 SQL 질의문을 삽입함으로써 공격대상의 DB에 존재하는 데이터를 추출하는 것으로 목표로 한다. 그렇다는 것은 SQL Injection 공격은 DB와 연결되어 있으며 SQL 질의문이 사용되는 위치라면 어디든지 가능하다는 의미이다. *SQL Injection 공격이 발생 가능한 조건 DB와 연결되어있어야 한다. SQL 질의문을 사용하여야 한다. SQL Injection 공격 시 참과 거짓에 결과..
2023.12.16