본문 바로가기

분류 전체보기

(550)
[2020.03.31] pw.Sly - 달고나 문서 ~p27 (1) 학습내용: 달고나 문서 ~p.27까지 달고나 문서의 처음부터 27페이지까지 각자 학습하고, 학습 내용을 공부하고 모르는 질문을 정리하였다. Q1. p.20에 sub명령어와 push명령어 용법이 왜 인터넷&수업자료와 다 반대일까? sub 명령어는 sub [option2][option2] 면 obtion1=obtion1-obtion2라고 하는데 설명은 왜 반대인건가? A. CPU 제조 회사에 따라 문법이 다르다. (리눅스) AT&T : 명령어 [source] [destination] (윈도우) Intel : 명령어 [destination] [source] 예시 : eax에서 ebx 레지스터로 데이터를 복사하는 경우 AT&T : movl %eax, %ebx Intel : mov ebx, eax 참고 :http..
[2020.03.31] Dreamhack 개념정리 - Client-side Basic 1. Client-side Basic Client-side 취약점의 주목적 공격자는 사용자로부터 본인을 식별하기 위한 사용자 정보, 즉 쿠키나 쿠키에 저장된 세션 아이디를 탈취해 사용자 권한을 얻거나, 사용자의 브라우저에서 자바스크립트를 실행하거나 특별한 행위를 수행하도록 하여 사용자가 보낸 것처럼 요청을 전송하는 것이 클라이언트 사이드 취약점의 주 목적 ​ 취약점이 발생할 수 있는 이유 웹 브라우저는 Stateful한 상태를 유지하기 위해 모든 HTTP 요청에 쿠키를 함께 보냄 ※ stateful: client의 이전 상태를 기록하고 있는 것 > 서로 다른 사이트인 dreamhack.io와 theori.io에서 dreamhack.io/resource1에 요청을 보내지만, 같은 쿠키가 함께 보내지는 것을..
[2020.04.07] Reversing.kr | CSHOP 문제 http://reversing.kr의 CSHOP 문제를 풀어보도록 하자. 문제를 클릭하면 CSHOP.zip 파일이 다운받아진다. zip파일을 풀고 CSHOP.exe 파일을 실행시키면 다음과 같이 회색 화면이 뜬다. Exeinfo PE 툴을 사용하여 패킹 여부와 프로그램을 제작한 언어를 확인한다. c#으로 만들어진 .net 프로그램이다. 닷넷(.NET) 프로그램? 닷넷 프레임워크(.NET Framework)는 마이크로소프트사에서 제공하는 윈도우 프로그램 개발 및 실행환경입니다. 네트워크 작업, 인터페이스등의 많은 작업을 캡슐화하여 코딩의 효율성을 증대시켰습니다. .NET의 특징은 CLS(닷넷 프레임워크의 언어가 반드시 지켜야하는 언어 스펙)을 따르는 언어라면 어떠한 언어라도 닷넷 프레임워크에서 실행가능하며..
[2020.03.31] Reversing.kr | Easy crack 문제 http://reversing.kr의 첫 번째 문제인 Easy Crack을 풀어보도록 하자. 문제를 클릭하면 Easy_Crack.exe 파일이 다운받아진다. 해당 파일을 실행시키면 사용자가 입력할 수 있는 창이 뜬다. 임의의 값을 넣으면 Incorrect Password라는 창이 뜨면서 프로그램이 종료된다. 출제자가 정해놓은 패스워드를 리버싱으로 알아내고 그것을 입력하면 문제가 풀릴 것이다. 리버싱을 하려면 가장 먼저 패킹 여부와 어떤 언어로 프로그램이 제작되었는지 확인이 필요한다. Exeinfo PE 툴을 사용하여 이를 확인해본다. 이 프로그램은 C++로 제작되었으며 패킹이 되어있지 않음을 알 수 있다. 마우스를 우클릭 하여 [Search for] > [All referenced text strings..
[2020.04.07] XSS Game Level 4.Context matters alert() 함수를 호출하는 문제이다. 처음 화면에서 입력창에 3이 적혀있는 것을 볼 수 있다. 그대로 입력해보면, 3초 안에 타이머가 실행된다면서 Time is up! 이라는 alert 창이 뜨는 것을 볼 수 있다. 이전과 같은 방식으로 onerror 이벤트도 써보았다. 당연히 풀리지 않았다. 힌트는 이렇게 주어져 있었다. 마지막 힌트대로 '(작은 따옴표)를 입력하여 실행시켜보니, 무한루프에 빠진 듯 alert함수가 실행되지 않았다. 'alert('1')' 이라는 문장을 HTML 코드로 인코딩하여 넣어보았다. (hint 2 활용) 입력 값: alert('1')' 하지만 여전히 풀리지 않았다. 소스코드를 살펴봤을 때 21번째줄에서 startTimer 함수가 호출되는 것을 볼 수 있었다..
[2020.04.07] Reversing.kr | Easy_Unpack | Reversing.kr Easy_Unpack 문제 압축을 해제하면 다음과 같은 txt파일이 존재한다. OEP 값을 찾으라는 문제다. * OEP 란? OEP(Original Point)는 실행 프로그램에서의 실제 시작점을 의미한다. 일반적인 프로그램은 실제 시작점이 프로그램 실행 시 시작점과 동일하지만 Packing이 되면 실제 OEP가 숨겨져 있게 된다. PEiD로 확인해본 결과 Packing 되어 있음을 확인했고 무엇으로 Packing되었는지는 알 수 없다. * Packing과 Unpacking? 1. Packing - 실행파일을 암호화하거나, 압축하여 소스코드를 볼 수 없도록 하는 것 - 압축을 하면 용량을 줄이고, 실행속도가 높아짐 - 사용자 측면에서도 유리하지만, 악성코드 유포시에도 유리하게 ..