반응형

일상 578

어셈블리어 AND, SUB, TEST, CMP 차이

AND 비트연산을 수행한다. Operand 값을 2진수로 바꾸고, 비트 연산을 통해서 양쪽다 1인 값만 참이된다. SUB 마이너스 기능을 수행한다. SUB a1, a2 형식이면 a1의 값을 a2만큼 감소한 후 결과값을 a1에 저장한다. TEST 첫번째 Operand와 두번째 Operand를 AND 시킨다. 이 연산의 결과는 ZF에만 영향을 미치고 Operand에 영향을 미치지 않고 버려진다. 두 Operand가 모두 0인지 아닌지 판단 가능하다 CMP 첫번째 Operand와 두번째 Operand를 뺀다. 이 연산의 결과는 ZF에만 영향을 미치고 Operand에 영향을 미치지 않고 버려진다. 두 Operand가 같은지 판단 가능 하다

어셈블리 기초 _ 명령어 모음

Reversing 분석을 하다보니 어셈 명령어가 헷갈려서 다시한번 정리하고 올려본다.. - 데이터 이동 명령어 mov - Move mov 명령어는 두번째 인자의 주어진 데이터(레지스터, 메모리 주소, 상수값)을 첫번째 인자에 복사합니다. 주의할 점은, 레지스터끼리의 데이터 이동은 가능하지만, 메모리 주소간의 데이터 이동은 할 수 없다. 이러한 경우에 메모리 간 데이터 복사를 위해서는 복사하고자 하는 데이터를 먼저 특정 레지스터로 이동 후 이동해야 한다. mov eax, ebx — ebx의 데이터를 eax에 복사한다. mov byte ptr [var], eax — eax를 var가 가르키는 주소로 복사한다. push — Push stack push 명령어는 현재 ESP 레지스터가 가지고 있는 스택 메모리 ..

HTTP 에러코드

HTTP Error Code 정리 HTTP 에러코드 에러 메시지 주로 발생하는 Error : 302, 403, 404, 500 302 같은경우 자동으로 리다이렉트 되는 경우가 많음. 100 - Continue 101 - Switching Protocols 200- OK, 에러 없이 전송 성공 202 - Accepted, 서버가 클라이언트의 명령을 받음 203 - Non-authoritative Information, 서버가 클라이언트 요구 중 일부만 전송함 204 - Non Content, 클라이언트 요구를 처리했으나 전송할 데이터가 없음 205 - Reset Content 206 - Partial Content 300 - Multiple Choices, 최근에 옮겨진 데이터를 요청함. 301 - Mov..

네트워크 프록시 Tool Echo Mirage

Echo Mirage 사용법 #C/S 프로그램에대한 진단이 필요한 상황으로 어떤 Tool을 사용하는 것이 좋을까 하고 고민하던차에 발견한 Tool이다. TCP 소켓통신에 활용되기에 간단한 변조, 패킷탐지가 가능하다. 1. 용도 - 네트워크 프록시 툴로 DLL injection, Function hooking에 이용한다. - 로컬에서 데이터를 보거나 수정이 가능하며 OpenSSL을 연결하여 평문으로 조회 가능하다. - C/S 프로그램 같은 프로그램 진단 시 Burp 및 Fiddler에서 잡히지 않는 패킷에 대한 조회 및 변조가 가능하다. - TCP 소켓 통신과 같은 프로그램에 대한 진단 및 전송 패킷에 대한 분석이 가능하다. 2. Process > Injection -> Inject : 프로세스(PID 이..

버프스위트(Burp Suite)_Spider

-Burp Sutie 사용법- Spider 버프스위트의 Spider는 웹 페이지의 데이터를 추출하는 크롤링 이라고 생각하면 된다. Spider를 사용할때는 꼭 검증된 테스트 페이지를 대상으로 테스트를 해야하고, 정상적인 웹페이지에서 테스트를 할경우 간혹 오작동을 시킬수 있는 일이 발생을 하기 때문에 꼭 이점 유의해야 한다. 취약점 테스트는 제 블로그 주소인 http://itinformation.tistory.com 으로 테스트 진행한다. - [Target] > [Site Map] 메뉴에서 Spider 기능을 사용하고 싶은 URL에 대해서 "Spider this host" 메뉴를 사용하여 보낸다 Spider 기능이 활성화 되면, Requests mada, Bytes Transferred, Request q..

TRACE와 XST(Cross-site Tracing) 공격

cross site tracing (XST 공격) XST 공격이란 기본적으로 HTTP 메소드 중 하나인 TRACE메소드를 이용한 XSS기법 중 하나이다. 서버에서 TRACE 메소드를 지원하고 있을 때, 클라이언트가 서버로 TRACE 요청을 보내면 서버는 요청받은 메시지를 그대로 반환하여 응답한다. 이때 TRACE요청에 의해 반환되는 응답에는 사용자의 쿠키정보 등과 같은 중요정보도 포함되게 되는데 이걸 가로채는 공격이다. TRACE 메소드를 이용한 요청을 보내기 위해서는 XMLHTTP 나 XMLDOM을 주로 이용하게 됩니다. XST 공격 시나리오 - 공격자가 표적 홈페이지의 XSS 취약점을 발견 - 공격자가 XSS 취약점을 바탕으로 공격코드를 작성하여 관리자에게 메일 또는 게시글 작성 - 관리자(로그인상태..

버프스위트(Burp Suite)_Repeater

-Burp Sutie 사용법- Repeater Repeater는 수동 제어 및 HTTP 요청을 재요청하고 애플리케이션 응답을 분석해 주는 도구다. 취약점 진단을 위한 입력 매개변수 조작, 요청, 재발생 등 다양한 목적으로 Repeater를 활용할 수 있다. Tool에서 오른쪽 클릭 후 "Send to Repeater" 클릭하면 Repeater 메뉴로 해당 패킷이 전송된다. 이미 요청이된 메일 이후에서도 재전송이 가능하다. 상단의 [GO] 버튼을 클릭하여 요청 메시지를 대상 서버에 재전송한다. 요청에 대한 응답은 오른쪽 HTTP 에디터에 어느정도 분석 되어 같이 표시된다. [] 버튼을 클릭하면 사용자에 의해 재요청된 내역이 목록으로 표시 된다. 내역 중 하나를 클릭하면 해당 요청과 응답 내용을 함께 출력한다.

버프스위트(Burp Suite)_Intruder_2

-BurpSuite 사용법- Intruder는 웹 애플리케이션을 대상으로 사용자 정의 공격을 자동화하여 수행 하는 도구이다. 실제 현업에서 진단하는 나 역시 모의해킹 컨설팅 및 웹 어플리케이션 모의해킹 취약점 진단 시 자주 사용하는 메뉴다. [Target] 메뉴 1. Host : 대상 서버의 IP주소나 호스트 네임 2. Port : 대상 서버의 서비스에 맞는 포트 번호 3. Use HTTPS : 암호화 통신을 사용하는 경우 체크 [Position] 메뉴 1. Attack Type - Sniper : 하나의 Payload Set만 설정하여 공격을 진행, 여러 개의 Payload Position이 마킹 되어 있으면 한번에 하나의 position에 차례대로 삽입하여 공격을 수행 - Battering ram :..

파일 다운로드 우회 정리

* 파일 다운로드 경로 우회 1) 파일 다운로드 경로 ../../../../etc/passwd ../../../../etc/hosts ../../../../winnt/win.ini ../../../../boot.ini ../../../../wp-config.php 2) 인코딩 ../../../../etc/passwd %2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%65%74%63%2f%70%61%73%73%77%64 ../../../../../../../../../etc/hosts 인코딩 %2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%65%74%63%2f%68%6f%73%74%73 더블 인코딩 %2..

버프스위트(Burp Suite)_Intruder_1

Intruder는 웹 애플리케이션을 대상으로 사용자 정의 공격을 자동화하여 수행 하는 도구이다. 실제 현업에서 진단하는 나 역시 모의해킹 컨설팅 및 웹 어플리케이션 모의해킹 취약점 진단 시 자주 사용하는 메뉴다. 버프 스위트(Burp Suite)를 활용하여 아래 그림과 같이 패킷을 캡쳐 후 오른쪽 클릭 시 Intruder메뉴로 보낼 수있는 메뉴가 있다. 또한, 지금 현재 잡고있는 패킷이 아닌 접속했던 히스토리에서도 Intruder 기능을 이용 할 수가있다. HTTP History 메뉴에서 Intruder로 보내고 싶은 패킷 위에서 단축키 [Ctrl] + I 키를 누르면 Intruder 메뉴로 해당 패킷이 전송된다. Intruder 메뉴에 접근을 하면 아래와 같이 메뉴 [Target], [Positions..