전체 글

웹개발
Web/node.js

webstrom에서 node.js 설정하기

저는 젯브레인의 ide들이 익숙해서 webstrom으로 사용할 것이구요 webstrom은 유료이기때문에 구매를 하시거나 학생분들은 젯브레인 홈페이지에서 학생등록을 하시면 무료로 사용하실수있습니다 먼저 webstrom은 설치된 상태라 가정하고 시작하겟습니다ㅏ webstrom을 실행시켜주세요 Create New Project를 클릭해서 새로운 프로젝트를 시작해봅시다 왼쪽 사이드메뉴에서 Node.js Express App을 선택해주시고 View Engine을 EJS로 변경한후에 CREATE를 눌러 프로젝트를 만들어줍니다 프로젝트를 생성하면 왼쪽 메뉴에 node.js의 기본파일들이 보이실겁니다 일단 냅두시고 왼쪽 하단에보면 터미널이 보이실텐데 눌러서 활성화해주세요 그리고 npm start를 입력해주시면 웹서버가..

Web/node.js

node.js 설치해보자

node.js는 javascript언어를 기반으로하고 php에 이어서 많은 사람들이 사용하고있는데요 한번에 프론트엔드와 백엔드를 같이 개발할수있다는점이 큰 메리트같습니다 먼저 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 위 주소로 접속해서 19.07.20일 기준으로 10.16.0 LTS버전과 12.6.0 버전이있습니다 둘중 무엇을 설치해도 무관하지만 저는 10.16.0 LTS버전을 받아보겠습니다. 설치파일을 다운받고 그냥 쭉쭉 Next버튼을 클릭해주시면 설치가 완료됩니다 설치가 완료되면 명령프롬프트창을 실행시켜서 node --version을 입력..

Wargame/Webhacking.kr

wargame.kr 1번 already got write-up

already got 문제이다. http reponse header를 볼수있냐고 물어본다 start버튼을 눌러서 시작해보자 http response header를 보는방법을 구글링해본결과 f12를 눌러서 개발자도구로 들어간다음 NetWork탭에서 확인해볼수있다. 처음에는 아무것도 안뜰텐데 f5를 눌러서 새로고침해주면 정상적으로 나올것이다 header탭에서 FLAG를 확인해 볼 수 있다.

Coding/Crawling

파이썬 나만의 지니뮤직 차트순위 크롤링하기 #3 마지막

지니뮤직 크롤러 만들기 세 번째 저번에 차트 순위 1위만 출력되는 것과 앞에 공백이 너무 많다는 점이 문제였다 한번 해결해보자 import requests from bs4 import BeautifulSoup headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} url = 'https://www.genie.co.kr/chart/top200' resp = requests.get(url, headers = headers) soup = BeautifulSoup(resp.text, 'html.parser') so..

Coding/Crawling

파이썬 나만의 지니뮤직 차트순위 크롤링하기 #2

지니뮤직 크롤러 만들기 먼저 구글에서 삽질하면서 코드를 짜보았다 import requests from bs4 import BeautifulSoup headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} url = 'https://www.genie.co.kr/chart/top200' resp = requests.get(url, headers = headers) soup = BeautifulSoup(resp.text, 'html.parser') song = soup.find("a",{"class":"title ..

Coding/Crawling

파이썬 나만의 지니뮤직 차트순위 크롤링하기 #1

파이썬 크롤링을 배워서 뮤직차트 순위를 크롤링해보자 한다. 먼저 크롤링에 필요한 Beautifulsoup을 다운해야 한다. pip install beautifulsoup4 명령어로 쉽게 다운받을수있다. from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("https://www.naver.com/") bs = BeautifulSoup(html, "html.parser") print(bs) 먼저 위의 코드를 써서 네이버메인을 크롤링해보면 이렇게 html코드들을 볼수있다 사실은 훨씬 긴데 내가 알아서 잘랏다 이제 여기서 내가 원하는 정보들만 골라서 크롤링을하면 나만의 웹크롤러를 만들수있다.

Reversing

Crackme #4 writeup

크랙미 4번 파일을 실행해보면 시리얼값을 찾아서 Registered를 눌러주면 될거같다 바로 올리디버거로 실행시켜봤다.올리디버거로 실행시킨 모습이다 일단 시리얼값을 비교해야 하기때문에 문자열 비교함수를 찾아본다 바로 vbastrcmp 함수가 보인다 저기다가 브레이크포인트를 설정하고 실행시켜보니 이렇게 바로 ECX에 시리얼값으로 보이는 숫자가 있다 바로 입력해주니 쉽게 풀린다 추가) 너무쉽게 풀려서 구글링을해보았더니 시간에 따라서 시리얼값이 달라진다고한다 GetPresentDate함수를 통해서 시간을 얻어낸다음에곱하고 더하는 연산을 통해서 시리얼값을 만든다고한다

Reversing

Crackme#3 writeup

일단 프로그램을 실행시키면 키파일이있는지 찾아본다하고 파일을 못찾았다고 나옵니다 올리디버거로 열어서 한번 보겠습니다일단 눈에띄는건 하단의 키파일을 찾았다는 메세지박스 호출함수랑 중간에 CreateFile함수가 눈에띄는데Createfile함수를 잘 살펴보면 답이나올꺼같은 예감구글링을 통해서 Createfile 함수에대해서 찾아본결과 CreateFile함수에 mode값이 OPEN_EXISTING으로 설정되어있는걸 확인할수있었는데 이 옵션은 파일또는 장치가 있는 경우에만 연다고한다우리는 키파일이없으니까 위에있는 CREATE_ALWAYS로 설정해야하는데 그러기위해선 여기 PUSH 3이라고 되어있는 값을 CREATE_ALWAYS값인 2로 바꾸어주면 될듯하다 이렇게 바꾸어 주고 실행해주면유효한 키파일이 아니라네다시..

System Hacking

버퍼 오버플로우(BOF) 정리

버퍼 오버플로우란 버퍼는 데이터가 일시적으로 저장돠는 임시 저장공간이라고한다. 오버플로우란 데이터가 버퍼의 용량보다 커서 메모리공간을 벗어나는 경우 따라서 버퍼 오버플로우란 버퍼의 용량보다 큰데이터를 오버플로우시켜서 공격하는 기법이다 pwnable.kr의 bof문제를 예로 설명하자면 위의 c언어 코드를보면 main함수에서 func를 호출하는데 인자로 0xdeadbeef라는 값을 넘겨주고있고 func함수에서는 overflowme라는 배열의 크기를 32만큼 정의하고있습니다. 그리고이제 gets함수를 이용해서 overflowme배열에 사용자의 입력을 받고있습니다. 여기서 버퍼오버플로우 공격이 가능합니다. 메모리 영역을 보자면 여기서 gets함수를 통해서 사용자의 입력을 받을때에 overflowme라는 버퍼의 ..

Wargame/써니나타스

써니나타스 14번 write up

써니나타스 포렌식 14번 문제이다sunninatas의 비밀번호를 아냐고 물어보는데 일단다운로드파일을 받아보자파일을 받고 압축을풀면 passwd파일과 shadow파일이 나오는데 passwd이랑 shadow파일내용을 확인해보면맨아래 suninatas사용자의 정보가 보인다 passwd에서는 사용자정보를 ' : ' 로 구분하는데 suninatas:x:1001:1001::/home/suninatas:/bin/sh 1 2 3 4 5 6 7 이렇게 7개파트로 나눌수있다 1 - 사용자 이름2 - 비밀번호3 - 사용자ID4 - 그룹ID5 - Comment6 - 홈디렉토리7 - 기본 쉘 종류 여기서 비밀번호가 암호화되어있으면 x로 표시된다고 한다암호화된 비밀번호는 shadow파일에서 볼수있으니 shadow파일을 열어보자여..

h0ch1
Junyoung.dev