전체 글 (53) 썸네일형 리스트형 [ pwnable.kr ] random 문제 풀이 이번 문제는 제목에서부터 무작위의 냄새가 나는 것 같다. 언제나 그렇듯 kali에서 ssh연결을 해주자 ssh random@pwnable.kr -p2222 (pw:guest) 오늘도 역시 파일 3개중에 코드인 c파일을 cat으로 먼저 열어보자 뭐지.. 이번에는 문제 소스코드가 매우짧다. 쉬어가는 문제인 느낌이다. 해석을 해보면 random변수에 rand함수의 값을 넣어준 뒤 scanf로 입력을 받아서 key라는 변수에 저장한 뒤, random함수에 있는 난수값과 key의 값을 xor해준 값을 0xdeadbeef와 비교해서 같으면 flag를 실행해준다. 코드가 짧으니 해석도 짧은 것 같다, bof같은 공격을 할 수 있는 구석도 보이진 않는다. random에 주석이 있으니까 매우 의심스럽다. rand함수를 .. 교육 내용 4 wireshark에서 Statistics라는 메뉴에서 conversation을 이용하면 어떤 것이 얼마나 패킷을 보냈는지 알 수 있기 때문에 많이 보낸 것에 대해서 찾아보면 쉬울것이다. conver-channel ( 은닉 채널 ) 정보를 전송하기 위해 설계된 것이 아니거나 의도하지 않은 통신채널, 일반적으로 통신채널의 주체에게는 보여지지 않는 개체를 사용하는 채널이다. 기본채널에 기생하는 통신 채널 ICMP convert Channel을 사용한다. conver-channel문제는 은닉 채널이라는 것을 이용하기 때문에 ICMP를 검색해야 한다. ICMP를 검색해 패킷을 보다보면 문자열을 주고 받는데 ( cat, id 명령어 사용 ) 여기서 readme라는 파일을 cat으로 여는데 여기서 나온 문자열을 쭉 .. 교육 내용 3 apllication layer protocol analysis HTTP / DNS / HTTPS wireshark packet filtering packet challenge - apllication layer protocol analysis 응용계층 Review - HTTP GET / POST HTTP GET / POST Follow TCP Stream Domain Name System ( DNS ) 사람이 읽을 수 있는 도메인 이름(예: www.google.com)을 머신이 읽을 수 있는 IP 주소로 변환 google.com이라는 도메인을 받았다고 하면 그 이름과 같은 네임서버( DNS )에 접속한뒤 해당 도메인의 IP를 받아와 서 받아온 IP로 서버에 연결한다. 도메인을 IP로 변환 DNS Pac.. [ pwnable.kr ] passcode 문제풀이 이번에 풀어볼 문제는 passcode라는 문제인데, 다시 ssh를 사용해서 연결한 뒤 푸는 문제이다. ssh passcode@pwnable.kr -p2222 (pw:guest) 이번에도 역시 flag와 passcode, passcode의 소스코드 이렇게 3개의 파일이 들어있다. 소스코드를 먼저 보자 cat passcode.c #include #include void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); scanf("%d", passcode1); fflush(stdin); // ha! mommy told me that 32bit is vulnerable to bruteforcing :) printf("enter passc.. [ pwnable.kr ] flag 문제풀이 이번문제는 평소대로 이미지를 클릭해서 봤더니, 웬 다운로드 경로를 하나만 있었다. 이게 뭔가하고 다운부터 받아보니 웬 파일이 다운로드 됐다. 근데 이걸 쓰기 전에 문제 힌트로 이 문제는 reversing(리버싱) 문제라고 떡하니 쓰여져 있다. ( 왜 pwnable에서 reversing을 하는지..? ) 우리가 reversing을 공부하는중이 아니긴 하나 pwnable에서 reversing은 생각보다 많이 쓰이는데, gdb를 이용한 메모리 분석이다. 일단 이런건 제쳐두고 어떻게 문제를 푸는지 알아보자. 일단 이게 뭔지 모르니 실행을 시켜봤다. 실행시켜봤더니 다음과 같은 힌트가 출력됐다. malloc함수에 flag를 복사한다는 말 같은데, 말만으로는 잘 모르겠다. 이 파일을 뜯어봐야 할 것 같으니 디버거를 .. [ pwnable.kr ] bof 문제풀이 이번에 풀어볼 문제는 bof문제이다 bof는 buffer over flow공격 기법으로 많이 알려진 공격기법의 명칭이다. 우선 들어가기 전에 이전문제들과는 다른 화면을 볼 수 있다. 본래라면 연결할 주소만 줄 터인데 실행파일을 다운로드할 수 있는 링크와 과 소스코드를 볼 수 있는 주소, 그리고 연결하면 뭔가 입력할 수 있는 프로그램(?)을 연결 해주는 nc명령어가 덩그라니 있다. 우선 우리가 해야할 일은 언제나 소스코드인 bof.c를 먼저 보는 것이다. 주소를 인터넷 창에 입력해 보자. http://pwnable.kr/bin/bof.c #include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); g.. [ pwnable.kr ] collision 문제 풀이 pwnable.kr의 두번째 문제인 collision이다. 저번과 같이 linux환경에서 접속해주었다. ( ssh col@pwnable.kr -p2222 , password : guest ) 접속했면 본격적으로 문제를 풀어보기 위해 역시 ls -l로 파일을 확인했다 역시 실행파일인 col파일과 소스코드인 col.c와 flag파일이 있었다. 우린 이제 저 flag파일을 실행시키기위해 끙끙 앓아야 한다. ( 문제풀이를 보기전까지는 말이다. ) 우선 우리가 쓸 수 있는 것은 실행파일과 소스코드 뿐이니 소스코드를 먼저 봐야겠다. # 소스코드 ( .c , .cpp , .python ) 들은 cat명령어로 볼 수 있다. 우리는 문제를 풀어야 하기에 한번 살펴봤다. 우선 소스코드를 해석해보자면 long형으로 hash.. 네트워크_교육내용_2 데이터 링크 계층 - ARP 주소 결정 프로토콜( Address Resolution Protocol )로 네트워크 상에서 논리적인 주소 ( IP ) 주소를 물리적 네트워크 주소( MAC )로 대응( bind )시키기 위해 사용되는 프로토콜이다, 주로 목적지 mac 주소를 확인할 때 사용한다. IP주소를 알아서 데이터를 보내려고 하는데 IP주소는 알지만 MA주소를 모르기 때문에 MAC주소를 알기 위해 신호를 보내는 프로토콜이다. TCP/IP 3계층(네트워크 계층)의 IP Address를 2계층( 데이터링크 계층 ) 의 MAC address로 대응시킬 떄 사용하는 프로토콜이다. 논리주소 : 다중 네트워크와 간접적으로 연결된 장치간의 통신을 가능하게 해줌 ARP 테이블 정보 확인 arp -a ARP Reque.. 이전 1 ··· 3 4 5 6 7 다음