본문 바로가기

call printf

BlockChain을 공부하자! (0) 안녕하세요. 저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 17학번 문승현입니다. 현재 블록체인 기술에 대해 공부를 하여 공부한 내용을 정리하고자 게시글을 작성하였습니다. 미리 읽어주시는 분들께 감사하며 잘못된 지식이 있을 경우 마음 편하게 피드백주시면 감사하겠습니다. 현재 게시글에 대한 깃허브는 아래에 주소를 기입하도록 하겠습니다. https://github.com/schedutron/SnakeCoin 블록 내부 구조 class Block: def __init__(self, index, timestamp, data, previous_hash): self.index = index self.timestamp = timestamp self.data = data self.previous_hash = prev.. 더보기
[ICO Info] Budbo(부보) 코인 ICO 부보 토큰은 의료 목적인 대마초 토큰입니다. 해외에서 이미 상용화되어 앱으로 개발되어 사용되고 있었으며 이번에 ICO를 통해 토큰으로 거래되게할 예정입니다. 각 운송되는 트럭들에 위치추적 부품이 달려있어서 블록체인 기술을 통해 유통되는것을 추적도 가능하게 되어 안전한 거래가 될 수 있다는 장점이 있습니다. 위의 내용은 백서에 나와있는 내용들이니 백서를 읽어보심을 추천드립니다. 백서 - https://budbo.io/budbo-whitepaper.pdf 이 부보 회사는 2017년도부터 활동을 하여 많이 알려왔습니다. 최근에 크립토 이코노미 월드투어에 런던에서 부보가 발표를 하였는데이 다음날 7빌리온이나 팔렸습니다. 이제 곧 암스테르담에 발표를 남겨두고 있습니다. 얼마 남지 않은 1,620,799개 정도 남.. 더보기
[CampPC] 0x0 Start 주요기능공주대학교 공과대학 정문에 있는 피시방 자리 유무를 조회 개발하게 된 이유기숙사에서 정문까지 10분거리이며 왕복이면 20분이기에 갔다가 자리가 없어서 돌아오면 시간낭비가 되버리기때문에그래서 만들게 되었다. 프로젝트 이름이 CampPC 인 이유피시방 이름이 캠프 피시방임. 개발 언어Python + php + html + css 개발 환경MAC, Ubuntu 주저리 주저리사실 이미 다 만들었지만 기록용으로 작성하는 중. 더보기
아고라 서명 페이크 페이지 분석 페이스북을 하다가 우연하게 사이트를 발견하였다. 이런 사이트를 발견해서 접속해보니 운동을 위해 도메인도 구매하고 사이트를 운영하는가 싶었다.매우 착한 사람이며 운동정신이 투철하신분인가 싶기도 했다. 보니까 frame으로 의문의 사이트를 속이기위해 noframe 으로 프레임이 안보이게 숨겨둠그리고 모바일 유저들을 타겟으로 만든거라고 추측가능했따.보면 관심이나 다른 기능들은 되지 않는 걸로 봐서 페이크 페이지라는걸 알 수 있었당. 보면 #u_o_6 이 클릭됬을때 아래의 코드들이 실행되는데.#u_o_6은 바로 로그인 버튼이며 #u_0_2_1, 2 의 내용을 fbid, fbpw 변수에 넣는데 그렇다 이건 우리가 입력한 내용이 저 변수에 들어가서 쇼쇽 쉬식하는 것을 알 수 있다.그래서 ajax로 submit_lo.. 더보기
UPX Pakking Principle (UPP) UPX Pakking principle* UPX : 많고 많은 널리 사용되었던 실행 압축 프로그램 PE File : http://blog.hubeen.kr/306 실행압축?실행압축이란 실행가능한 파일(PE파일)을 대상으로 파일 압축하여 용량과 리소스파일을 보지 못하게 함.압축된 것을 푸는 방법은 파일 내에 압축해제 코드를 포함하고 있어서 실행되는 순간 메모리에서 압축을 해제시킨 후 실행된다. Analysis [ not pakking.exe Section ] [ pakking.exe Section ] 위의 이미지는 패킹된 프로그램과 패킹이 되지 않은 프로그램의 차이다.패킹이 된 프로그램의 크기는 8.00KB에서 6.5KB로 줄어든 것을 볼 수 있으며,섹션 또한 압축되어 있음을 알 수 있다. PE File의.. 더보기
ssh config 파일을 설정해보자! 오늘 작성할 내용은 ssh config 파일을 설정하여 서버 정보와 유저정보를 적어두면 따로 유저@주소를 적으며 접속을 하지 않아도 되게 되는 매@직!매우 편리한 기능이라 할 수 있다. alias에 명령어를 등록해가며 사용하셨다면 그 동안 뻘짓을 하였구나 라고 생각할 수 있을 정도입니다! 먼저 위의 경로로 이동을 해봅시다! .ssh 폴더는 한번이라도 ssh 접속을 하였다면 known_hosts 라는 파일에 서버의 rsa키 같은 것들이 저장이 됩니다. 이 곳에 config 파일을 생성하면 편하게 접속이 되게 됩니다! Host 이름 HostName 서버의 아이피 User 계정명 #IdentityFile 인증서의 경로 #Port 포트 (기본 값은 22) 로 간편하게 등록하고 간편하게 접속이 가능합니다.인증서라.. 더보기
[Pwnable.kr] passcode - 10 pt 보호되어 있는 글입니다. 더보기
[Pwnable.kr] fsb - 20 pt 보호되어 있는 글입니다. 더보기
[Pwnable.kr] input - 4 pt 보호되어 있는 글입니다. 더보기
Design Framework List 나름대로의 포트폴리오 사이트를 만들기 위해 웹 공부를 시작하기 시작했다.뭐 웹 해킹 공부도 관심있기도하고 일단 코딩부터 시작할까 한다. http://getbootstrap.com/http://materializecss.com/http://w2ui.comhttp://getskeleton.com/http://foundation.zurb.com/ 더보기
17학번 공주대학교 천안캠퍼스 컴퓨터공학부(컴공) 면접 후기 2시 30분 면접반이였었다.서산에서 천안 가는 버스 편이 별로 없고 경유지가 많아보여서 좀 많이 일찍 출발했었다.10시 50분차를 타고 갔는데 내가 우연히 탔던 버스가 경유를 하지 않고 직통버스여서 너무나 일찍 도착해서 천안캠퍼스를 구경을 했었다.먼저 적기 전에 교통편을 미리 추천할 겸 적어봐야겠다. 천안 터미널에서 내려서 아래쪽으로 천천히 걸어오면 버스 정류장이 있는데거기서 100번대의 버스들을 타면 공주대에 도착할 수 있다 ex) 120, 100, 110, 140, 112와타시는 버스를 많이 타본적이 없어서 너무나 불편했다...특히나 벨을 언제 눌러야되는지 몰라서 눈치보느라 힘들었다... 그렇게 나는 면접시간에 비해 2~3시간이나 일찍 도착해서 면접 정리도 할 겸 버스 내리면 바로 대학교 입구 들어가.. 더보기
[Utils] Whale Browser Whale Browser" 안녕하세요. 누구나 쉽게 쓰는 브라우저 '네이버 웨일'입니다.“우주선은 거대한 고래였다”는 SF소설 속한 줄 표현에서 영감을 받아 지어진 이름과 같이,'웨일'은 데이터가 넘쳐나는 시대에 정보의 우주를 항해하는여러분의 우주선이 되고자 합니다."[ 출처 : http://whale.naver.com/story ] http://whale.naver.com/ 에서 초대코드가 있다면 다운로드가 가능합니다. 저는 아는 동생이 코드가 있어서 덕분에 얻고 사용할 수 있는 기회가 생겼습니다.아마 곧 2차 베타 테스트 신청을 한다니 그때 이용해서 하시면 될 것 같습니다. 먼저 디자인은 처음 보자마자 매우 심플하고 아름답다고 생각이 들었습니다. 아무래도 크로미움 + 자체 개발 엔진이라 크롬을 사용하.. 더보기
Format String Bug (FSB) Format String Bug (FSB)오랜만에 글을 작성하네요.이번에 정리할 기법은 FSB입니다. Format String Bug (FSB)가 일어날 일은 최근에 없지만 뭐,,프로그래머의 실수로 인해 생길 수도 있으니 알아두면 나쁘지 않을 것 같습니다.먼저 이 글을 읽기 전에 프로그래밍을 해본 적이 있고 Format String에 대해 알고 있으면 편하게 읽으실 수 있습니다. Format String은 C프로그래밍을 해보셨다면 printf() 함수를 이용하며 포맷에 맞게 출력을 할 때 보실 수 있었을 겁니다. printf("I'm %s\n, name); 위의 코드는 간단한 name을 출력하는 코드입니다. Format String Attack은 역시 프로그래머의 게으른 작은 실수로 인해 발생하는 취약점.. 더보기
서버를 간지나게 꾸며보자 1. 터미널 창을 간지나게 꾸며보자2. 입장하거나 입장하려고 할 때에 글씨를 간지나게 띄어보자 이런 밋밋한 터미널 창 말고 간지나게 아름답게 예술적인 터미널을 만들어보겠습니다. Oh-My-zsh (https://github.com/robbyrussell/oh-my-zsh) 에 접속을 하여 설치를 하세요! 만약 경로가 아래와 같이 깨진다 싶으면 폰트를 설치해주어야됩니다. 폰트 (https://github.com/powerline/fonts) 에서 zip을 받아 설치를 합니다. 이러케 설치를 한 뒤에 터미널의 폰트를 설치한 폰트로 변경해줍니다. $ sudo apt-get install zsh$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrusse.. 더보기
[Pwnable.kr] cmd2 - 9 pt 보호되어 있는 글입니다. 더보기
Run ARM ELF for qemu in ubuntu $ sudo apt-get install gcc-arm-linux-gnueabi qemu -y arm compiler와 qemu 설치합니다. arm-linux-gnueabi-gcc --version; qemu-system-arm --version 설치&버전 체크합시다. arm-linux-gnueabi-gcc -staic ./a.c -o a arm-gcc를 이용하여 컴파일합니다. 제대로 컴파일이 ARM로 되었음을 확인합니다. qemu-arm ./a 로 실행합니다. 당연히 ./a 로 하면 arm이므로 실행이 되지 않습니다. 잘 되는 것을 볼 수 있습니다. 더보기
Pintool로 문제 풀기 저번 주말에 해킹캠프에서 핀툴로 문제 풀기라는 주제로 발표를 하였습니다.좋은 경험이 되었다고 생각됩니다.더 열심히 공부해서 재미난 주제를 잡아서 더 큰 곳에서 발표를 하고 싶어지네요. 감사합니다. 더보기
[Utils] Vivaldi Browser Vivaldi Browser"Vivaldi Browser는 오페라 브라우저를 개발한 '욘 폰 테츠너'가 새로 만든 웹 브라우저입니다.욘 폰 테츠너는 1994년 오페라 웹브라우저를 만들고, 2011년 회사를 떠났는데요. 그 후 2년 뒤 비발디테크놀로지라는 벤처기업을 설립하고 새로운 브라우저를 개발해 왔습니다. 그리고 그 결과가 지난 2015년 1월에 탄생한 비발디 브라우저입니다."[ 출처 : MacNews Tistory ] https://vivaldi.com 에서 다운로드를 받을 수 있습니다. Function !비발디의 개쩌는 기능들을 소개해보게따두둥! 커스텀 기능 이건 이미 설치하고 난 뒤의 상황이라 이런 창이지만,설치를 하고 난 다음 실행을 하자마자 커스텀을 하는 창이 뜨게 된다.탭의 위치나, 스킨이나.. 더보기
[Reverse Lab 스터디] Ada Cracked(0) [ 출처 : 닌자보이 란타로 ] 이 Ada Cracked 시리즈 글을 올릴 때는 이 사진을 이용할 예정이다. 이번 주 고른 프로그램이다. 이 프로그램은 베타 버전때의 파일인데. 사용 기한이 만료되었다며 메세지 창을 띄우고 종료를 해버린다.메인을 따라가다보면 날짜를 비교하는 부분을 발견할 수 있다. 로컬 시간이랑 임의로 정해둔 0x07DE비교하는 것을 알 수 있다. 여기서 임의로 ECX의 값을 높은 값으로 바꿔주면 된다. 10초 제한도 비교하는 변수(?)명을 알아내서 시간 체크하는 부분을 찾아내면 되겠다. 문자열 발견 0x2710(10000) (1000ms = 1초)10초와 비교하는 부분을 발견할 수 있었다. 이번 주 과제 끝, 더보기
[Reverse Lab 스터디] DLL Injection DLL Injection 이번 글 내용 한 줄 요약할 수 있는 사진을 만들어버렸다...DLL 인젝션은 말 그대로 다른 프로세서에 DLL을 강제로 박아버리는 것이다.LoadLibrary() API를 호출하여 DLL을 로딩(Loading) 시키는 것인데. DLL Injection은 다른 프로세서에 DLL을 삽입시키느냐, 자신의 프로세스에 삽입시키느냐에 따라 로딩시키는 대상에 따라 달라집니다. What is DLL?DLL은 Dynamic Linked Library의 약자로서 동적 연결 라이브러리입니다.흔히 디엘엘 파일 이라고 읽고 드르르라고 읽기도 합니다.이 DLL 파일은 프로그램 실행 후 동적으로 로드되고, 정적라이브러리에 비해 크기를 줄일 수 있습니다.게다가 패치, 기능 개선에 효율성이 높습니다. Purp.. 더보기
pytagcloud use to wordcloude ppt를 만들던 도중 이런 시각화가 필요해졌다. 그래서 알아보던 도중 인포그래픽이라는 것을 알게 되었고,위의 사진 같은 것들을 워드클라우드라고 칭하는 것 같았다. https://pypi.python.org/pypi/pytagcloud 에서 라이브러리를 설치할 수 있다. import 하는 도중 아래와 같은 에러를 발견할 수 있었다. ImportError: No module named pygame 그래서 pygame을 설치해주었다. http://pygame.org/download.shtml 버전에 맞게 잘 설치해주자. 그리고 ImportError: No module named simplejson 계~~~속 에러가 뜰 수도 있는데.알아서 잘 설치해주자.... 일단 요래 실행이 되면 준비는 된거시다 그리고 아래.. 더보기
Python version 2.7 required, which was not found in the registry. PIL을 설치하는 도중 이러한 에러 메세지를 발견하였다. 구글링을 해보니 64bit 설치 프로그램 오류라고 한다. 고치는 방법은 레지스트리에 파이썬 경로를 정확히 적어주는 것이다. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath 키를 생성하고,InstallPath의 값은 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath 값과 동일하게 세팅하면 된다. 아니면 그냥 아래의 코드를 실행해도 된다. import sys from _winreg import * # tweak as necessaryversion = sys.version[:3]installpath = sys... 더보기
pymongo in mongodb pymongopymongo란 python mongo db drive이다.듣기로는 몽고디비가 그렇게 빠르다고... install pymongo$ pip install pymongo 설치 끝. use pymongo언젠가 시간 날때 작성하겠음. 더보기
Install mongodb https://www.mongodb.com/download-center#community $ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.2.8.tgz $ tar -zxvf ./mongodb-linux-x86_64-amazon-3.2.8.tgz $ mkdir /opt/nosql$ mv mongodb-linux-x86_64-amazon-3.2.8 /opt/nosql/mongodb$ cd /opt/nosql/mongodb$ mkdir data$ mkdir config$ mkdir log $ vi mongodb.conf dbpath=/opt/nosql/mongodblogpath=/opt/nosql/mongodb/log/mongodb... 더보기
[ReverseLab 스터디] UPX Packing 실행압축 (Packing)여기서 UPX는 흔하디 흔한 패킹 툴의 하나의 종류이다.이런 패커들은 실행압축을 하여 실행 파일을 파일의 형태를 그대로 유지를 하고 Size를 최대한 줄여 주는 압축 방식인데. 대게 악성 프로그램들이 이런 압축 방식을 이용하여 분석하는 데에 귀차니즘을 남겨줌.거기에 안티 디버깅까지 들어가버리면 개 빡친다. ㅇㄱㄹㅇ ㅂㅂㅂㄱ ㅇㅈ? 어 ㅇㅈ 실행되는 순간 메모리에서 압축을 해제하고 실행을 시키는 기술이기에,어딘가에 압축 해제 루틴이 담겨있어서, 이런 루틴을 지난 후에 실행시킨다는 게 특징이다. 이런 패킹을 사용하는 목적은 아래라고 생각합니다. 1. 파일 자체의 크기를 줄이기 위함2. 내부 코드와 리소스등을 사용자가 보지 못하게 방해하는 것.3. 분석을 하지 않게 귀차니즘을 넘겨주기.. 더보기
Save Frame Pointer Overwrite (SFO) Save Frame Pointer Overwrite (SFO)이번에 작성할 기법은 SFO 입니다.Buffer Overflow(BOF) 가 일어나는 프로그램 취약점을 이용하여 Save Frame Pointer를 주작질을 하여 원하는 주소로 이동시키게 하는 기법입니다.이 글을 일으시려면 BOF에 대해 알아두셔야 됩니다. Save Frame Pointer Overwrite (SFO)는 1byte만 Overflow되는 상황에서 사용되는 기법으로, save frame pointer(sfp) 1byte를 해커가 주작질함으로서 상위 실행 권한을 얻을 수 있지만,main 함수에서는 save frame pointer(sfp)를 주작질을 하여도 리턴 주소가 주작되지 않습니다. Buffer Overflow(BOF) 글에서 .. 더보기
PE File Format 먼저 적기에 앞서 winnt.h 헤더 파일을 올려놓겠습니다. PE File Format이번에 정리할 것은 윈도우 리버싱에서 알아두어야할 PE 파일이다.PE는 Portable Excutable)의 줄임말이며,윈도우에서 사용되는 실행 가능한 파일 형식입니다.PE 파일은 EXE 파일을 말하는 것이 아니라 SCR, DLL, OCX, SYS, OBJ 들도 포함이 됩니다.PE 구조를 이해는 API 후킹, 압축 실행 등과 같은 고-오-급 리버싱 기법들의 기본 바탕이 되기도 합니다.고로 리버싱을 하겠다 하면 이 PE 구조에 대해 빡삭한 지식을 가지고 있어야됩니다. Preview 어느 실행파일의 PE 구조입니다.이 PE 헤더에는 이 실행파일을 실행하기 위한 여러가지 정보가 담겨있으며,PE의 내용을 가지고 DLL을 로드하.. 더보기
Pokemon Go API in python https://github.com/Mila432/Pokemon_Go_API 먼저 Pokemon Go API를 받습니다. $ git clone https://github.com/Mila432/Pokemon_Go_API 그 다음 아래와 같은 명령어로 설치를 해주면 됩니다. $ pip install -r ./requirements.txt 요로코롬하면 준비는 다 끝났습니다. 사용 방법은 간단합니다. $ python main.py -u test@gmail.com -p Password1004 -t (Google/PTC) -l "Gangwon-do Sokcho-si Cheongbong-ro 3-gil 37, 24904" 이런식으로 넘겨주면 실행이 되게 됩니다.-t 에 넘겨주는 것은 이 계정이 포케몬 고 트레이너 클럽.. 더보기
[Utils] AireCam 아, 녹화할 일이 생겨서 녹화 프로그램을 찾는 중 처음엔 반디캠을 사용했었다.하지만 반디캠은 10분 제한에 워터마크까지 박아버리는게 마음에 안들었다. 그래서 오캠을 사용했었다.하지만 오캠도 점차 광고를 너무 과하게 집어넣기 시작해서 새로운 것을 찾아다니기 시작했는데! AireCam이라는 녀석을 발견하게 됬다. https://www.airelive.com/main/home 주소 적어놓겠습니다. UI도 심플해서 사용하기 매우 편하다.게다가 10분제한? 워터마크? 그런것도 없다. 아주 좋다. 더보기
[Game] Life Is Strange 리뷰 https://steamdb.info/app/319630/ 왜 인지 모르겠지만. 무료로 배포를 하고 있더라. 그래서 게임을 플레이를 해보았는데. 시간을 앞으로 돌리고 뒤로 돌리고 시간을 후루룹챱챱 돌려먹는 게임이였다. 현재 에피소드1을 하는 중이라 현재로서는 그저 실종된 친구의 단서를 찾아다니는 중인데. 초반에 시간할 때 숲에서 깨고 학교 사진에도 찍혀있고.숲에 지도에 해골모양이 있는 걸 보아서는 그 해골 모양이 있는 부분이 살인자? 같은게 있는게 아닐까 하고 생각해본다. 한글패치는 이리저리 찾아다니다가 이 블로그에서 발견하였다. Life Is Strange 한글패치 : http://blog.naver.com/kibme0325/220624344482 혹시 몰라 나중에 이 블로거님이 파일을 삭제할 수도 있.. 더보기