DNS - Domain Name System
TCP/IP 네트워크에서 사용되는 네임 서비스의 구조이다. TCP/IP 네트워크에서는 도메인이라고 하는 논리적 그룹을 계층적으로 설정할 수 있고, 그 논리적 그룹 명칭인 도메인명을 컴퓨터의 명칭(호스트명)의 일부에 포함시켜 이용하는 방법을 찾고 있다. 도메인 혹은 호스트 이름을 숫자로 된 IP 주소로 해석해 주는 TCP/IP 네트워크 서비스로서, 계층적 이름 구조를 갖는 분산형 데이터 베이스로 구성되고 클라이언트·서버 모델을 사용한다.
windows에서 dns 캐쉬를 확인 할려면
cmd > ipconfig/displaydns
cmd > ipconfig/flushdns
에이 다 필요 없어
SQL Injection 공격 부터 …
SQL Injection 이란 ?
질의 과정에서 사용자가 악의 적인 입력 값을 적용하여 정상적인 SQL 문이 오작동하게 하는 공격 기법이다.
해당 쿼리문을 이용한 공격 방법인데, 정보가 일치하면 “True”값을 반환하고 불일치할 경우에는 “False” 값을 반환한다.
이럴 경우는 Query의 구조와 오류를 이용하여 활용할 수 있다. MSSQL Database 기준으로 싱글쿼터( ‘ )와 “—“를 이용하여 생략 및 주석처리를 할 수 있다. 만약에 Query 문이 “Select * from members where id = admin’— and pwd = 1234’ — “ 일 경우 and 이후의 “Select * from members where id=admin’— and pwd = 1234’— “ 부분이 생략이 되어 패스워드 값을 확인하지 않고 바로 관리자(admin)의 정보를 반환하게 된다. 이런식으로 정상적인 인증 절차를 무시하고 특정권한을 얻을 수 있다.
1. 입력값 필터링
- 모든 사용자에 의해 입력받는 변수에 대해 입력 문자를 체크하고 허용 범위에 벗어나는 문자열에 대해서는 제한해야 한다.
- 입력 받은 변수와 데이터베이스 필드 값의 데이터형을 일치 시켜야 하고, 사용중인 SQL 구문을 변경 시킬수 있는 특수 문자를 제한해야 한다.
- 검색 기능과 같이 클라이언트로부터 생성된 SQL 구문을 받는 부분이있다면 최대한 제거해야 한다.
Injection을 발생시키지 않도록 입력 시 특수 문자(‘ “ / \ : “ space — + 등)이 포함되어 있으면 에러메세지 출력 및 필터 후 삭제 조치를 하여야 한다.
2. 데이터베이스 관리자 권한 제한
3. 서버 사이드 스크립트(Server SideLanguage)를 이용하여 필터링 처리
4. 사용자 / 서버 에러 처리 강화
5. 데이터베이스 에러 노출 방지
주석
MS-SQL : —
ORACLE : —
MY-SQL : #
MS ACCESS :
SQL Injection에 사용되는 구문
Select 구문 - 데이터를 조회하는 문
Insert 구문 - 새로운 데이터를 삽입하는 문
Update 구문 - 데이터를 수정하는 문
Delete 구문 - 데이터를 지우는 문
Union 구문 - 다른 테이블의 데이터를 조회하는 문
Where 구문 - 추가로 조건을 주는 문
SQL Injection을 위한 환경 구축
우분투에 Apache , PHP , MySQL 설치(인터넷에 보면 많음)
Apache
-> 웹 서버 프로그램의 하나로 PHP가 제공한 HTML 파일을 HTML 규약에 따라 클라이언트의 컴퓨터에 전송한다.
PHP
-> 동적인 웹 사이트를 제작할 수 있게 해주는 프로그래밍 언어로 PHP 문법에 맞게 작성된 프로그램을 내장된 해석기를 통해 HTML 형태로 변환해 웹 서버인 Apache에 제공한다.
MySQL
-> DBMS(데이터베이스 관리 시스템) 중 하나로 각종 데이터를 저장한다. 무료이며 성능이 우수하다.
대부분 APM이라고 하는데 Apache, PHP , MySQL의 첫 글자를 순서대로 따서 나온 말이다
리눅스 환경에서
apt-get update //다룬로드 목록 갱신
apt-get install apache2 //Apache 설치
apt-get install php5 //php설치
apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql //mySQL 설치
apt-get install phpmyadmin //phpMyAdmin설치
댓글 없음:
댓글 쓰기