본문 바로가기

전체 글

(16)
[WEB] SQL Injection #2 SQL Injection은 실행될 쿼리를 조작하여 권한 획득이나 데이터베이스의 데이터를 획득할 수 있다. 데이터베이스는 데이터에 쉽게 접근할 수 있도록 다양한 문법을 지원한다. UNION UNION은 다수의 SELECT 구문의 결과를 결합하는 절이다. 이를 통해 다른 테이블에 접근하거나 원하는 쿼리 결과를 생성해 애플리케이션에서 처리하는 타 데이터 조작이 가능하다. 이는 애플리케이션이 데이터베이스 쿼리의 결과를 출력하는 경우 유용하게 사용할 수 있다. UNION Condition UNION을 사용하기 위해서는 두 가지 필수 조건을 만족해야 한다. 1. 이전 SELECT 구문과 UNION을 사용한 구문의 실행 결과 중 컬럼의 갯수가 같아야 한다. 2. 특정 DBMS에서는 이전 SELECT 구문과 UNION..
[WEB] XSS 우회 #2 자바스크립트 함수 및 키워드 필터링 Unicode escape sequence 자바스크립트가 지원하는 Unicode escape sequence를 통해 유니코드 문자를 코드 포인트로 나타낼 수 있다. 필터링된 문자열을 Unicode로 변환해 우회하는 것이 가능하다. var cookie1 = "\u0063ookie"; //cookie var cookie2 = "cooki\x65"; //cookie \u0061lert(document.cookie); //alert Computed member access 객체의 특정 속성에 접근할 때 속성 이름을 동적으로 계산하는 기능이다. document["coo"+"kie"] == document["cookie"] == document.cookie alert(docume..
[WEB] XSS 우회 #1 XSS 공격을 방어하기 위한 다양한 패치와 필터링이 존재한다. 그러나 XSS 방어가 올바르게 수행되지 않았을 때 이를 우회할 수 있는 방법도 다양하다. 이벤트 핸들러 속성 자바스크립트 코드를 실행할 수 있는 HTML 태그는 (script src 사용) 태그에 on 이벤트 검사 : (개행 문자 사용) 3. 특정 태그 및 속성 필터링 다른 태그 및 속성을 이용하여 필터 우회 URL 정규화 확인 function normURL(url) { return new URL(url, document.baseURI); } normURL('\4\4jAva\tScRIpT:alert(1)') normURL('\4\4jAva\tScRIpT:alert(1)').protocol normURL('\4\4jAva\tScRIpT:aler..
[REV] IDA 사용법 IDA (Interactive Disassembler) IDA는 디스어셈블과 여러 환경에서의 디버깅 및 다양한 아키텍처에서의 디컴파일과 같은 여러가지 기능 제공한다. 바이너리 분석이 필요한 리버스 엔지니어링 업무에서 사용되며 여러가지 라이센스가 있다. 이 중 무료버전인 IDA freeware는 아래 경로에서 다운받을 수 있다. (x64 아키텍처만 디컴파일 기능을 제공) https://hex-rays.com/ida-free/ IDA Freeware IDA Freeware The free binary code analysis tool to kickstart your reverse engineering experience. hex-rays.com IDA 인터페이스 1. Function Window IDA에서 ..
[WEB] SQL Injection #1 DBMS로 관리되는 데이터베이스에는 다양한 민감 정보가 포함되어 있다. 공격잔는 데이터베이스의 데이터 유출이나 SQL Injection과 같은 공격으로 데이터를 확보 및 악용할 수 있다. 따라서 데이터의 소유자 이외의 이용자가 해당 데이터에 접근할 수 없도록 해야한다. 인젝션(Injection) 공격 인젝션 공격은 사용자의 입력값이 애플리케이션의 처리 과정에서 구조나 문법적인 데이터로 해석되어 발생하는 취약점이다. 개발자가 정상적인 입력값이 아닌 비정상적인 입력값에 대한 적절한 예외처리나 필터링을 수행하지 않았을 때 발생한다. SQL Injection SQL은 DBMS에 데이터를 질의하는 언어이다. 개발자는 웹서비스 개발 시 사용자의 입력을 SQL 구문에 포함하여 요청하도록 개발할 수 있다. 예를 들어 ..
[WEB] XSS (Cross Site Scripting) 테스트 클라이언트 사이드 취약점 웹 페이지의 이용자를 대상으로 공격할 수 있는 취약점으로 이용자 식별을 위한 세션 및 쿠키 정보를 탈취하고 이용자의 계정으로 임의의 기능을 수행할 수 있다. XSS (Cross Site Scripting) XSS는 대표적인 클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입하여 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있다. 이를 통해 특정 계정의 세션 정보 탈취 및 임의의 기능을 수행할 수 있음. 예를 들어, 게시판 기능이 있는 특정 사이트에 XSS 취약점이 존재한다면 오리진 권한으로 악성 스크립트가 포함된 게시물을 업로드할 수 있다. 이후에 이용자가 악성 스크립트가 포함된 게시물을 방문하면 스크립트가 실행되어 이용자의 쿠키 및 세션 정보..
[책리뷰] 프로그래머의 뇌 (The Programmers's Brain) 이 책은 인지과학의 주제를 많이 다루고 있는데, 우리가 여러 매체를 통해 접할 수 있는 기억력 향상법, 공부 잘하는 법과 같은 두뇌의 작용을 프로그래밍에 접목한 내용을 다루고 있다. 책을 읽으면서 느낀점은 어렸을때 학교 공부를 하면서 틀린문제만 선별하여 여러번 풀어보고 오답노트를 작성하는게 공부를 잘할 수 있는 빠른 방법이다와 같이 프로그래밍에서의 공부 방법을 가르쳐주는 것 같다. "아 이렇게 하면 특정 언어에 더 빨리 익숙해지겠구나!", "이렇게 하면 특정 문법을 더 잘 기억하겠구나!"를 머리로는 이해하는데 실제로 내가 그렇게 공부하기는 귀찮고 가볍게 읽은 것 같다. ㅋㅋㅋ 책 내용으로 넘어가서, 이 책은 4가지의 파트로 나누어져 코드 더 잘 읽기, 코드에 대해 생각하기, 좋은 코드 작성하기, 코딩에서..
[서버관리] 시간동기화 명령어 (ntpdate, ntpd, chronyd) 1. 서비스 사용 여부 확인 # systemctl status ntpd # systemctl status chronyd 2. 시간동기화 서버 설정 (/etc/ntp.conf, /etc/chrony.conf) # vi /etc/ntp.conf # vi /etc/chrony.conf -------------------------------------------- #기존 서버 주석처리 #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst #시간동기화 서버 추가 server [시간동기화 서버 IP] ib..