본문 바로가기

IT 엔지니어/Security

(10)
SQL injection[Non-blind/Blind] SQL INJECTION웹 애플리케이션이 사용자의 입력값을 검증하지 않고 SQL 쿼리에 삽입해버리는 취약점Database를 조작하거나 정보를 탈취할 수 있음​[ SQL Injection 공격 시 정보 수집 순서 ]취약점 확인 (문법 오류)특수문자를 입력해서 DB 오류 메시지가 뜨는지 확인 (SQL 인젝션 여부 판단)DATABASESQL 명령어로 현재 DB 이름 알아냄TABLEinformation_schema.tables에서 테이블 목록 조회COLUMN (FIELD)원하는 테이블의 column_name 목록을 조회해서 어떤 정보가 저장되어 있는지 파악​​[ SQL 조건문 논리 연산자 ]SQL Query의 WHERE 조건문을 조작해서 원래 의도와 다른 결과를 만들기 위해 사용ANDORNOT모든 조건이 참일 ..
XSS XSSCross-Site Scripting사용자가 입력한 악성 자바스크립트 코드가 웹페이지에 삽입되고, 브라우저에서 그대로 실행되는 공격​REFLECTED XSSSTORED XSS저장 여부저장 XDB 등에 저장됨실행 타이밍요청 즉시 반영페이지 조회 시마다 실행전파 범위한 번의 클릭한 사람누구나 (지속적 피해)위험도비교적 ↓위험도 ↑XSS (Reflected)서버 입력값을 즉시 페이지에 그대로 출력페이지가 로드되면서 자바스크립트 코드가 실행됨일회성 - 한 번 실행되고 끝주로 URL을 통한 피싱 공격에 多​Security low 설정하고 코드 입력을 했더니​​페이지가 Reload 되며 자바스크립트 팝업이 출력된다.이 웹 애플리케이션은 입력값을 검증 없이 그대로 HTML에 반영해버려서악성 스크립트가 실행된 ..
Burpsuite, Hydra, DVWA, BURPSUITEApplications - Web Application Analysis - burpsuiteBrute Force admin 로그인  Brute suite -> proxy -> history  마우스 우클릭 -> Send to Intruder  해당 비밀번호 입력값 드래그 후 Add$ 클릭 오른쪽 PAYLOAD 예상 비밀번호 ADD / ATTACK 비밀번호 임계값 설정 목적 = Brute Force 방지     payload 사전 파일 작성저장된 리스트로 brute force 공격 가능/usr/share/john/password.lst*Brute Force(무차별 대입 공격)**는 가능한 모든 경우의 수를 시도하여 정답을 찾는 방식입니다.주로 보안 공격에서 패스워드 크래킹, 키 찾기, 해시..
XSS XSSCross-Stie Scripting[ XSS ]클라이언트 측에서 악성 스크립트를 실행시키는 공격웹 애플리케이션에서 사용자의 입력을 검증 없이 출력할 때 발생하는 스크립트 삽입 공격사용자 입력을 필터링 없이 HTML에 직접 출력할 때 문제가 생기기 때문에 입력값을 글자로 바꿔서 출력해 주면 안전공격자는 자바스크립트 같은 악성 스크립트 코드를 삽입하여, 피해자의 브라우저에서 실행되도록 유도누군가 웹사이트에 몰래 자바스크립트 코드를 심는 행위웹사이트에 악성코드가 몰래 들어가는 공격​XSS 종류Reflected XSS쿼리스크링 등을 통해 입력값이 즉시 응답에 반영되어 실행Stored XSS게시판/댓글 등에 저장된 악성 스크립트가 다른 사용자에게 전달됨DOM-based XSS서버가 아닌 자바스크립트(클라이..
Directory Indexing DIRECTORY INDEXING[ Directory Indexing 방지 ]​Directory에 직접 접근했을 때 내부 파일 목록이 보이지 않도록 방지하는 보안 설정Index : 디렉터리 인덱싱 (index.html 등이 없을 경우 파일 목록을 표시/X)FollowSymLinks : 심볼릭 링크 (다른 위치에 있는 파일/디렉터리에 대한 참조를 따라가도록 허용/X)Apache는 Options 안에서 모두 기호를 붙이든지 빼든지 해야 함Indexes만 - 기호를 붙이면 restart 시 오류 발생# vi /etc/httpd/conf/httpd.conf149 Options -Indexes +FollowSymLinks​'dami' 라는 user를 생성해 주고 허가권을 755로 변경해 준다.해당 디렉터리 아래 ..
SNORT RULEs SNORT RULE[RULE HEADER] [Option]alert any any -> any any (msg: "Ping Detected";sid:1000001; rev:1;)[ Rule Header ]alert : Actionany : 출발지 호스트/네트워크any : 출발지 포트-> : 방향any : 목적지 호스트/네트워크any : 목적지 포트​​[ Action 유형 ]alertlogpassdrop / reject경고 발생 및 로그 기록로그 기록패킷 무시패킷 차단 및 로그 기록 (IPS)* Snort에서는 drop / reject 모두 로그 기록 남김​​[ Option 유형 ]msgcontentnocaseoffsetsidrev탐지 시 출력할 메시지패킷에 포함된 문자열로 탐지대소문자 무시패킷의 상대적 ..
SNORT / IDS IDSIntrusion Detection System[ IDS : 침입 탐지 시스템 ]네트워크나 시스템에서 발생하는 ​비정상적인 트래픽, 해킹 시도, 악성 공격 등을 감지하는 보안 솔루션트래픽 모니터링탐지 및 경고 (Alert)로그 기록​[ IDS vs IPS ][ 패키지 최신 버전 업데이트 ]방화벽 OFF 후 순서대로 입력# dnf -y update# dnf -y install curl# dnf -y install git# dnf -y install pcre*# dnf -y config-manager --set-enabled crb# dnf -y install dnf-plugins-core# dnf -y install epel-release# dnf -y upgrade# init 6​# vi /etc/..
IPTABLES / UTM IPTABLES 설치# dnf -y install iptables*[ IPTABLES ]리눅스 커널에 내장된 방화벽 관리 도구네트워크 트래픽을 제어하는 강력한 도구시스템 관리자가 리눅스 커널 방화벽이 제공하는 테이블들과 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 공간 응용 프로그램리눅스 서버에서 보안을 강화하고, 특정 포트를 차단하거나 허용하는데 유용​IPTABLES 환경 설정 파일# vi /etc/sysconfig/iptablesINPUTFORWARDOUTPUT들어오는 패킷 제어통과하는 패킷 제어(라우팅용으로 전달되는 패킷)나가는 패킷 제어​시스템 재실행# systemctl restart iptables# systemctl stop iptables 해야 다른 서버에서 서비스 접근 가능HTT..