해킹
SQL injection
멧둥
2023. 2. 1. 23:36
* SQL injection
→ 사용자의 입력값을 받는 부분에 공격자가 임의의 값을 삽입해서 서버 사이드 스크립트에 있는 sql 쿼리를 완성시켜 DB로 쿼리를 날려 DB 정보를 탈취,삭제,조회 할수 있는 공격
* SQL injection 실습
※ DVWA 가상머신에서 ifconfig를 입력 후 ip주소를 확인한 뒤 URL에 입력해서 DVWA 페이지에 접속할 수 있음.
(id: admin, password: password)
→ 3을 입력하면 ID가 3인 계정의 정보가 정상적으로 출력
→ 첫 번째 사진의 결과를 통해 SELECT First_name, Surname FROM 테이블이름 WHERE ID='사용자 입력값'과 같은 쿼리를 서버사이드 스크립트에서 사용한다고 예측 가능.
→ a' or 'a'='a를 사용자 입력값으로 입력하면
SELECT First_name, Surname FROM 테이블이름 WHERE ID='a' or 'a'='a' 과 같이 쿼리가 완성될 것이고
or 연산자에 의해 둘 중 하나라도 참이라면 참이되고, ID가 a인 사용자가 없지만(=거짓이지만)
'a'='a'에 의해 참을 만족하게 되면서 전체 데이터를 가져옴.