메인
기술
메인
기술
무료게임
잡담
자유
개인
일정
갤러리
회원가입
계정 찾기
로그인
HOME
기술
Sql Injection
목록
작성자
공대여자
작성 : 2014-11-14 09:26
조회 : 210
지남
1일간
2014-11-14
-
2014-11-14
좌표
첨부된 파일이 없습니다.
#database
Sql Injection
DB에 사용되는 SQL문이 입력 받은 값을 사용해서 생성될 때
특수한 기호 등을 사용해서 본래의 기능이 아닌 다른 기능의 SQL문이 동작하도록 하는 공격방법
방어방법
입력단에서 방어
입력단어중 insert, update ,delete 등이 들어있다면 페이지 실행을 중지
주요 단어 : SELECT, UPDATE, DELETE, INSERT, DROP, UNION 등등
장점 : 대응이 간단하다
단점 : 공격이 아닌 것에도 반응한다.
웹 프로그램에서 직접 처리하거나, 아파치 ModSecurity 등을 설치해서 사용
magic_quotes
PHP지원하는 MySQL 인젝션 방지법
'나 "에 자동으로 \를 붙여주는 방식
장점 : 이럴 경우 MySQL에 SQL이 생성될 때 자동으로 escape 처리가 된다는 장점이 있다.
단점 : 문제는 다른 DBMS에서 escape처리가 \가 아닌 경우가 있다.
그리고 계속 내용을 불러서 수정 저장할 경우 ' -> \' -> \\' -> \\\\' 처럼 \가 계속 붙는 경우도 있다.
PHP 5.3.0 부터는 사용금지(DEPRECATED) PHP 6.0.0에서는 해당 기능 자체가 사라진다.
Bind
SQL 문에 입력 받은 값을 바로 쓰지 않고 bind 문자열을 대신 사용한다.
입력 받은 값을 그 뒤 바인드 시켜서 해당 값에 대응되도록 한다.
장점 : Injection에서 해방이다. 바인드 되는 값은 SQL문을 바꾸기 않기 때문에 Injection 당하지 않는다.
아, 기본으로 제공되는게 아니라 에뮬레이팅 된것이라면 bind 메소드(또는 함수)에서 escape 처리해주면 된다.
단점 : 프로그램의 쿼리 부분을 다시 만들어야한다.
DB클래스 등을 사용했다면 수정 부분이 줄어들겠지만, 페이지에서 바로 해당 DBMS함수로 쿼리를 사용한 방식이라면.... 언제 다 뜯어낼꼬...
링크
설명 잘된 곳
Web Hacking 1탄 SQL Injection (레디오스님의 이글루)
일반적으로 사용되는 패턴
' or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a
' or password like '%
참고
--는 Oracle 1 line 주석
# 는 MySQL 1 line 주석
댓글
/
/
답변
수정
삭제
No Nickname
No Comment
새로운 댓글 작성
권한이 없습니다.
{{m_row.m_nick}}
내용이 너무 많습니다!
-
no-star
★☆☆☆☆
★★☆☆☆
★★★☆☆
★★★★☆
★★★★★
확인
게시물 : 30 (2 page)
📅 달력형
📷 갤러리형
RSS
tag
제목
내용
제목+내용
제목+내용+코멘트
작성자
태그
검색
No
제목
작성자
날짜
조회
공지
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
#기본형
공대여자
24-02-06
02-06
3818
공지
유용한 리눅스(LINUX) 명령어
#linux
#command
공대여자
11-03-03
03-03
13309
공지
[공지] 기술 게시판
#etc
#공지
mins01
05-06-24
06-24
13547
30
MySQL, MariaDB 의 user와 database 정리확인용 쿼리
#mysql
#mariadb
#user
#database
#dbms
공대여자
21-04-07
04-07
424
29
mysql, mariadb DATABASE 별 데이터 용량 확인
#mysql
#mariadb
#database
#size
공대여자
21-03-25
03-25
526
28
[mysql] SHOW CHARACTER SET
1
#database
#mysql
#charset
#utf8
공대여자
20-02-12
02-12
347
27
DB data type 관련 글 링크
2
#database
공대여자
17-07-17
07-17
214
26
Announcing SQL Server on Linux
#database
공대여자
16-03-08
03-08
193
25
insert into multiple rows
#database
공대여자
15-11-10
11-10
178
24
몽고디비 , mongodb
#database
공대여자
15-08-11
08-11
187
23
Sql Injection
#database
공대여자
14-11-14
11-14
211
22
알티베이스 리플리케이션 테이블 DDL변경법
#altibase
#database
공대여자
14-04-24
04-24
486
21
DB 클라이언트 툴
#database
공대여자
11-11-22
11-22
694
20
DB에서 복합 인덱스를 설정할 때
#database
공대여자
10-10-21
10-21
199
19
SQL-relay 간단 테스트코드
#database
공대여자
10-08-06
08-06
190
18
Altibase 알티베이스 유용한 SQL구문
#database
#dbms
공대여자
10-01-22
01-22
875
17
mysql 4.1 이상 + 한글 윈도우 CMD에서 접속 할 경우 언어셋 문제.
#database
공대여자
09-04-21
04-21
213
16
DBMS 별 자동증가값 처리방법 sequence , serial , identity ,auto_increment
#autoincrement
#database
#sequence
공대여자
09-04-09
04-09
703