본문 바로가기

tmp20

[포렌식] 대회 문제로 보는 침해 사고 대응 교육 1. WireShark - 네트워크 패킷 흔적 조사 *tcp dump 같이 다운로드 1.1 ARP 스푸핑 : duplicate, 중복 감지 된 경우 뜸 ARP 스푸핑 시 ARP Type는? Type ARP (0x0806) 공격자의 실제 MAC 주소는? 192.168.1.103 공격자는 몇번의 패킷을 전했는지? 3번, eth.src == 00:d0:59:aa:af:80 깃발 눌러서 필터 관련 설정 가능. 전체 필터 목록 조회: [Analyze] > [Display Filter Expression] 1.2 FTP 서버 브루트포스 응답코드 설명 331 사용자 이름에 문제가 없으며 암호가 필요합니다. 530 로그인되지 않았습니다. 220 새 사용자에게 서비스가 준비되었습니다. 230 사용자가 로그인하여 진행합니.. 2023. 7. 25.
[WP plug-in] 플러그인 만들기 (1-2) *다음의 유투브 영상을 따라 제작하였습니다. https://www.youtube.com/watch?v=0l7JTie_6jM&list=PLriKzYyLb28kR_CPMz8uierDWC2y3znI2 1) 개발시 오류 확인을 위해 config.php에서 디버그 옵션을 True로 활성화시킨다. 2) 먼저 아래의 워드프레스 플러그인 경로에 플러그인 폴더를 생성해야한다. [wordpress 설치폴더] > wp-content > plugins > [플러그인 폴더 생성] 3) 이후 플러그인 폴더에 플러그인 이름과 똑같은 PHP파일을 만들고 package와 주석으로 플러그인에 대한 설명을 기술한다. 이를 수행할 시 내가 만든 플러그인이 WP 플러그인에 설치된 것을 볼 수 있다. 4) 필요하다면 라이센스의 내용을 소스코드.. 2023. 2. 27.
Prototype Pollution 1. 프로토 타입 Java, C 와같은 클래스 기반 객체 지향 프로그래밍 언어와 달리 자바스크립트는 프로토타입 기반 객체 지향 언어이다. 클래스 기반 객체 지향 프로그래밍 언어는 객체 생성 이전에 클래스를 정의하고 객체를 생성하지만 프로토타입 기반 객체지향 프로그래밍 언어는 클래스 없이 객체를 생성한다. 자바스크립트의 모든 객체는 부모 객체와 연결되어 상속되는데 이런 부모 객체를 프로토타입이라고 한다. 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체를 가진다. 최소 하나 이상의 다른 객체로부터 상속을 받는다. 프로토타입 객체도 또 다시 상위 프로토 타입 객체로부터 메소드와 속성을 상속받을 수 있는데 이를 프로토타입 체인이라고 한다. 상속되는 메소드들은 객체 생성자의 proto.. 2023. 2. 8.
DDE(Dynamic Data Exchange)와 CSV Injection 1. CSV injection CSV injection은 CWE-1236에 Improper Neutralization of Formula Elements in a CSV File로 기록되어 있는 취약점이다. 사용자가 제공한 정보를 CSV 파일에 저장하지만 스프레드 시트에서(대다수) 파일을 열때 명령으로 해석될 수 있는 구문을 적절히 필터링하지 않아 발생한다. 서비스의 도메인에서 웹 페이지, API를 통해 CSV 파일을 다운로드하는 기능이 있다면 점검 포인트가 된다. 이 중 사용자의 입력값을 통해 CSV를 수정할 수 있다면 공격 포인트로 볼 수 있다. 2. DDE의 개념 문서를 작성할 때 사용하는 대표적인 프로그램으로 MS word. Excel 등이 있는데 이런 문서 파일엔 매크로 기능이나 'JS', 'J.. 2023. 2. 7.
[AI] 기초 개념 학습 #2(강화 학습) 1. 강화 학습의 개념 강화학습이란 상태(state), 행동(action), 보상(reward)로 구성되어 있다. 강화학습은 순차적인 의사결정 문제에서 누적 보상을 최대화하기 위해 시행착오를 거쳐서 상황에 따른 행동정책을 학습한다. 에이전트와 환경으로 정의하면 에이전트는 학습의 주체, 의사 결정자, 행동의 주체이며 환경은 에이전트를 제외한 모든 것이다. 에이전트가 St라는 상태에서 At라는 행동을 하면 환경이 이를 관측하고 Rt+1의 보상과 다음 상태 St+1를 에이전트에 전달한다. 2. 마르코프 확률 마르코프 확률은 강화학습에 있어 선행되어야하는 개념이다. Markov Property(마르코프 확률)는 미래의 상태는 현재의 상태에 영향을 받으며 과거의 상태는 영향을 받지 않는다는 이론이다. 현재에 대한.. 2023. 1. 31.
[AI] 기초 개념 학습 #1(ML 종류) 0. 인공지능(artificial intelligence) : 인간의 지능적인 활동을 할 수 있도록 컴퓨터를 구현하는 것 - 튜링 테스트: AI의 성능을 시험하는 방법으로 이미테이션 게임이라고도 한다. 일반인이 컴퓨터와 대화해서 사람으로 판정하는 비율이 30%이상 되면 인간처럼 사고할 수 있는 시스템이라고 간주하는 것이다. 1. 머신러닝 인공지능의 한 분야로 컴퓨터가 학습할 수 있는 알고리즘과 기술을 개발하는 분야이다. 1-1. 지도 학습 입력(x)에 대해 레이블(y)를 달아놓은 데이터를 컴퓨터에게 학습시키는 것 1) 분류 레이블 y가 이산적인 경우(범주형 변수인 경우) 분류 혹은 인식 문제라고 부른다. - 종류 : 로지스틱 회귀법, KNN, 서포트 벡터 머신 (SVM), 의사 결정 트리 2) 회귀 레이.. 2023. 1. 30.
YAML .데이터 직렬화 언어 예시) YAML이란? YAML은 구성 파일 작성에 자주 사용되는 데이터 직렬화 언어입니다. YAML을 yet another markup language로 생각하는 사람도 있고, YAML ain’t markup language(재귀 약어)로 생각하는 사람도 있습니다. 후자는 YAML이 문서가 아닌 데이터용임을 강조하는 말입니다. https://www.redhat.com/ko/topics/automation/what-is-yaml 다음은 구문 규칙을 보여주는 단순한 직원 기록용 YAML 파일의 예입니다. --- # An employee record name: Martin D'vloper job: Developer skill: Elite employed: True foods: - Appl.. 2023. 1. 28.
직렬화(Serialization)와 역직렬화(Deserialization) 1.마샬링의 정의 마샬링이라고도 부르는 개체 직렬화는 객체의 상태를 변환하는 과정이다. 쉽게 데이터를 메세지로 보내거나 데이터 베이스에 데이터로, 텍스트 파일로 저장할 수 있다. 데이터는 JSON, XML, Binary 형식으로 직렬화한다. 2.마샬링(Marshalling) vs 직렬화(Serialization) 마샬링은 직렬화와 비슷한 개념으로 큰 개념인 변화하는 과정을 의미한다. 직렬화의 과정에 마샬링이 포함되며 두 개를 같은 것으로 봐도 무방하다. 직렬화는 객체가 대상이지만 마샬링은 변환 자체에 의미가 있기 때문에 서로 다른 언어간의 데이터 전송은 마샬링이라고 한다. 직렬화는 객체를 바이트 스트림으로 바꾸는 것, 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환시키는 것이다. 메모리.. 2023. 1. 20.
Type confusion vulnerabilities 1.Type confusion type confusion 취약점은 프로그램에서 사용하는 변수나 객체를 선언 혹은 초기화되었을 때와 다른 타입으로 사용할 때 발생하는 취약점이다. 개체의 유형을 확인하지 않고 사용해 논리적 오류가 발생할 수 있다. 잘못 사용했을 시 원격 코드 실행이 가능하다 2. CWE CWE-843로 등록되어 있다. CWE에 기록된 항목 설명은 다음과 같다. 제품이 호환되지 않는 유형을 사용하여 리소스에 액세스하면 리소스에 예상 속성이 없기 때문에 논리적 오류가 발생할 수 있습니다. C 및 C++와 같이 메모리 안전성이 없는 언어에서는 유형 혼동으로 인해 범위를 벗어난 메모리 액세스가 발생할 수 있습니다. 이 약점은 C에서 다양한 포함된 개체 유형이 있는 데이터를 구문 분석할 때 공용체와.. 2023. 1. 18.