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.. 이전 1 2 다음