아드레날린 2.2.5.3 플레이리스트 파일 wvx overflow 취약점 one day exploit 분석
2020. 7. 14. 22:51
Security/Windows Exploit
exploit-db : https://www.exploit-db.com/exploits/26525 설치파일 : http://software.naver.com/software/summary.nhn?softwareId=MFS_100099 CVE : None 테스팅 환경: Windows 7 Home SP1 1. wvx파일이란? ASX 태그를 사용하고 있지만, asx나 wvx나 똑같은 형식을 취하고 있다고 합니다. (따라서 asx파일또한 크래쉬가 납니다) 위의 코드에서 볼 수 있듯이 단순히 여러 음원파일들이 포함되어있는 플레이리스트 파일입니다. 2. crash 분석 import struct f = open('evil.wvx', 'w') f.write('A'*5000) f.close() A가 5000개 채워진 파..
[1일 1깡 어플] 1일 N깡이 출시 되었습니다~~!
2020. 5. 24. 12:43
Develop/React-Native
1일 1깡이 대세인 요즘 1일 3깡. 1일 7깡 프로 깡러분들이 많아졌습니다. 그들을 위한 깡 랭킹앱을 개발했습니다! 깡 영상 3분을 보면 1깡이 적립되고 오늘 나의 등수를 알아보세요! -아직 플레이스토어에 등록한지 얼마되지 않아 검색으로는 나오지 않습니다!!.. https://play.google.com/store/apps/details?id=com.odmg 1일 N깡 - One Day Many Gang (1일 1깡 어플) - Google Play 앱 요즘 대세인 1일 1깡! No No 1일 3깡은 해야지! 오늘 몇깡 했는지 알아보고 오늘 랭킹을 확인해보세요. 오늘의 깡 탑3는 누가 될까요? - 깡 영상을 3분 보면 1깡이 추가됩니다. play.google.com
[Spamandhex 2020 Teaser] Journey #1 (XSS, Webauthn)
2020. 5. 15. 21:08
Security/Web
문제 개요 http://journey.ctf.spamandhex.com/주어진 문제 주소로 접속하면 로그인 화면이 나온다. 기존의 id,password방식으로 로그인 하거나 Passwordless방식으로 로그인할 수 있다. 하지만 정작 passwordless방식으로 가입을 시도하면, 에러가 발생한다. 그래서 일단 넘어갔다. 사이트 하단의 Source버튼으로 express로 짜여진 백엔드의 소스코드를 확인할 수 있다. Books과 Quotes메뉴에선 여러 글귀가 나타나고, Like버튼을 눌러 내 계정의 favorite로 설정할 수 있다. 그리고 하단의 Share버튼으로 Like를 누른 글귀에 대해 공유할 수 있는 창이 뜨게되고, 해당 페이지를 어드민에게 신고할 수 있는 기능이 있다. 신고기능을 누르면, 어..
[SharkyCTF] XXExternalXX write-up (XXE)
2020. 5. 11. 16:24
Security/Web
문제 탐색 주어진 링크로 접속하면 간단한 홈페이지와 Show stored data라는 메뉴가 하나 있다. http://xxexternalxx.sharkyctf.xyz/?xml=data.xml 해당 메뉴로 들어가면 News가 나오고 접속된 주소를 확인해보면 xml이라는 파라미터가 존재한다. xml파라미터를 올바르지 않은 값으로 설정하면 여러 가지 워닝들이 표시가 된다. 이를 보고서 file_get_contents로 파일내용을 가져와서 loadXML로 xml을 파싱한다는 것을 알 수 있다. 취약점 첫번째로 에러를 보여줌으로써 처리되는 과정이 노출되었다. 그중 file_get_contents는 인자로 filepath를 받게되는데, 이때 path가 url이어도 파일을 읽어온다. 즉 임의의 파일을 로드시킬 수 있..
[python] 리뉴얼된 업비트 api로 암호화폐 가격 조회, 거래하기
2020. 5. 8. 16:46
Develop/Python
upbit에서는 거래를 위한 api를 제공하고있습니다. 해당 api를 사용해서 python으로 가격 조회 부터 거래하는법 까지 알아보도록 하겠습니다. 사전 준비물python3 python3가 설치 되어있으시다면, 리퀘스트를 보내기 위한 모듈인 requests모듈을 설치해야합니다.pip3 install requests KEY 발급받기설치가 완료되면 업비트 api이용 신청을 해야합니다.https://upbit.com/service_center/open_api_guide해당 주소로 접속합니다. 좌측 하단에 있는 Open API 사용하기를 클릭하시고 로그인을 진행해주세요. 로그인이 완료되면 이런 창이 뜨게 되는데, 여기서 계좌 조회, 주문 조회, 주문하기, 특정 IP에서만 실행을 선택해주세요.본인의 ip를 적어..
[버그바운티 write-ups] GitLab Path Traversal 취약점
2020. 5. 7. 19:04
Security/Web
원문 : https://hackerone.com/reports/827052 GitLab에서 발견된 Path Traversal 취약점으로 무려 $20,000의 바운티를 받은 보고서입니다. 취약점 및 방법 이처럼 issue를 새로 생성할 때 Description에 Markdown으로 작성할 수 있습니다. 이때 ![file](./filepath) 형식으로 파일에 대한 링크를 삽입할 수 있습니다. 아래에는 filepath로부터 파일을 가져오는 부분의 소스코드입니다. @text.gsub(@pattern) do |markdown| file = find_file(@source_project, $~[:secret], $~[:file]) break markdown unless file.try(:exists?) klass..
[Javascript] Object에서 for문을 사용하고 싶을 때
2020. 5. 6. 18:12
Develop
위의 상황 처럼 오브젝트 형식의 데이터를 for문으로 처리해야 하는 경우 여러가지 방법이 있다. 1. for in문을 사용한다. 이 방법으로 처리 하는 경우 해당 오브젝트의 키 값만 받아오게 된다. 2. for of문을 사용한다. for(let room of Object.entries(obj)){ console.log(room); } Object.entries를 이용해서 오브젝트를 [key, value]쌍의 배열로 변환해서 사용할 수 있다.
[React] 리액트 기초 배우기 #6 조건부 렌더링
2020. 5. 1. 00:22
Develop/React
해당 글은 리액트에서 제공하는 자습서에 내용을 덧붙이고 풀어서 작성한 글입니다. 원문 : https://ko.reactjs.org/docs/getting-started.html 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 사이트를 제작하다보면 특정 조건에 따라 다른 컴포넌트를 보여주고 싶을 수 있습니다. 예를들어 로그인, 회원가입 버튼이 있습니다. 로그인을 하지 않은 상태에는 로그인 버튼이 보여져야하고, 로그인을 한 상태에서는 로그인 버튼이 사라지고 로그아웃 버튼이 렌더링 되어야 합니다. 리액트에서는 조건부 렌더링을 어떻게 하는지 알아보겠습니다. App.js에 함수 컴포넌트로 LoginButton과 Logout..
[React] 리액트 기초 배우기 #5 이벤트 처리하기
2020. 4. 27. 21:59
Develop/React
해당 글은 리액트에서 제공하는 자습서에 내용을 덧붙이고 풀어서 작성한 글입니다. 원문 : https://ko.reactjs.org/docs/getting-started.html 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 리액트의 이벤트 문법 - 소문자가 아닌 카멜케이스로 작성합니다. onClick={activatelasers} (x) onClick={activateLasers} (o) - 문자열이아닌 함수로 전달합니다. onClick="함수이름()" (x) onClick={함수이름} (o) 기존 HTML Activate Lasers React Activate Lasers 이벤트 기본 동작 방지 Click me..
[구글 서치콘솔 플러그인] 티스토리 사이트맵 자동 제출 플러그인 설정
2020. 4. 27. 17:56
Blog
4월 27일부터 티스토리가 사이트맵을 자동으로 생성하게 됩니다. 매번 새로 제작하고 제출하는게 여간 번거로운게 아니라 스크립트를 제작할까 했었는데 공식 플러그인으로 지원하게되었습니다. 자동으로 생성되는 사이트맵의 주소는 [현재 블로그 주소]/sitemap.xml입니다. 기본적으로 생성하는 항목은 아래와 같습니다. 블로그 홈 공개 상태인 카테고리 글 목록 공개 상태인 일반 글 공개 상태인 공지 글 공개 상태인 페이지 태그 모음 페이지 (방명록 등록 허용시) 방명록 추가로 자동으로 사이트맵제출과 구글 서치 콘솔을 연동하는 구글 서치콘솔 플러그인이 추가되었습니다. 구글 계정을 선택하신 후 권한 요청을 허용하시면 간편하게 구글 서치 콘솔에 블로그가 등록이 되며, 사이트맵도 별다른 조작없이 자동으로 제출됩니다. ..
[React] 리액트 기초 배우기 #4 State 와 생명주기
2020. 4. 27. 00:23
Develop/React
해당 글은 리액트에서 제공하는 자습서에 내용을 덧붙이고 풀어서 작성한 글입니다. 원문 : https://ko.reactjs.org/docs/getting-started.html 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 이전 포스팅에서 props에 대해서 알아보았습니다. props는 컴포넌트에 프로퍼티로 전달되고, 읽기전용입니다. 이번 포스팅에서는 read write둘다 할 수 있는 state라는 개념에 대해서 알아보겠습니다. 1초마다 째깍대는 시계 만들기 Clock컴포넌트 생성하기 컴포넌트 내부에서 모든것이 통제되는 캡슐화된 Clock 컴포넌트를 만들것입니다. 기존 src폴더 내부에 components폴더를..
[React] 리액트 기초 배우기 #3 components와 props
2020. 4. 26. 01:23
Develop/React
해당 글은 리액트에서 제공하는 자습서에 내용을 덧붙이고 풀어서 작성한 글입니다. 원문 : https://ko.reactjs.org/docs/getting-started.html 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 컴포넌트 생성 리액트에서 컴포넌트를 생성하는 방법은 두가지 입니다. 첫번째로 함수를 정의하는 방식입니다. function Welcome(props) { return Hello, {props.name}; } 위의 함수는 엘리먼트를 return하기 때문에 컴포넌트이고, 함수로 정의되었기 때문에 함수 컴포넌트라고 불립니다. 두번째로는 class로 정의하는 방식입니다. class Welcome ext..
[React] 리액트 기초 배우기 #2 JSX란?
2020. 4. 26. 00:12
Develop/React
해당 글은 리액트에서 제공하는 자습서에 내용을 덧붙이고 풀어서 작성한 글입니다. 원문 : https://ko.reactjs.org/docs/getting-started.html 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 이전에 생성했던 src/app.js의 소스코드를 수정하겠습니다. import React from 'react'; import logo from './logo.svg'; import './App.css'; //추가 const element = This is JSX; function App() { return ( Hello React! {/*추가*/} { element } Learn React )..
[React] 리액트 기초 배우기 #1 Hello React! 리액트 프로젝트 생성과 빌드
2020. 4. 26. 00:09
Develop/React
해당 글은 리액트에서 제공하는 자습서에 내용을 덧붙이고 풀어서 작성한 글입니다. 원문 : https://ko.reactjs.org/docs/getting-started.html 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 리액트 프로젝트를 만들기 위해선 creact-react-app을 이용합니다. npm install -g create-react-app create-react-app 프로젝트이름 저는 프로젝트이름을 react-tutorial으로 생성하였습니다. cd react-tutorial npm start 해당 폴더로 접근한 뒤 npm start로 실행할 수 있습니다. 정상적으로 리액트 페이지가 로드됩니다...
[버그바운티 write-ups] OTP Verification bypass
2020. 4. 25. 03:35
Security/Web
원문 : https://medium.com/@rat010/otp-verification-bypass-ee17d68f8425 OTP Verification Bypass Hello guys, I am Kanhaiya Kumar Singh and this is my first write-up about my finding on OTP Bypass. medium.com 취약점 및 방법 간단한 OTP 인증 우회입니다. 이메일 인증을 시도하면 이메일로 전송되는 OTP 코드를 입력해야합니다. 이때 올바른 인증인 경우 200 Created {} 가 응답으로 오게됩니다. 반대로 올바르지 않은 코드인 경우 400 Bad Request {“error”: “user_not_verified”} 가 응답으로 오게되는데, 이때 2..
Github 스타일의 티스토리 포스트 캘린더 위젯 적용하기
2020. 4. 10. 20:18
Develop
티스토리용 포스트 캘린더 위젯 Github 스타일의 캘린더 위젯을 티스토리에서 사용해보세요 Github의 stat 캘린더는 개발 욕구를 증진시켜주는 역할도 하며, 지난 과거를 돌아볼 수도 있습니다. 이제 티스토리 위젯으로 포스팅 캘린더를 만나보세요 😃 예시 페이지 ⚡️적용방법 현재 Book Club 스킨에서만 적용 가능합니다. 1. 스킨 편집 메뉴 > 홈 설정 > 홈 화면 글 수 30으로 설정 2. 스킨 편집 메뉴 > html 편집 > 원하는 위치에 코드 삽입 카테고리와 공지사항 중간의 위치는 약 630번째 줄에 삽입 포스팅 25일 달력 ❓컨트리뷰트 또는 버그제보 Github Issue로 버그, 아이디어를 제보해주세요!
도메인 연결시 express session의 cookie가 생성되지 않는 경우 해결법
2020. 4. 6. 00:43
Develop
https://stackoverflow.com/questions/53819310/cookie-not-set-with-express-session-in-production Cookie not set with express-session in production My app is divided between Client and Server. Client is a frontend side Nextjs app hosted on Now.sh, Server is its backend created with Express and hosted on Heroku, so the domains are client-app.no... stackoverflow.com 해당 스택오버플로우 글에서 해결법을 찾을 수 있었다. app...
첫 빌드 Vue These dependencies were not found 에러 해결법
2020. 4. 2. 02:45
Develop
처음 프로젝트를 만들고 아무것도 하지 않았는데, 빌드시 vue These dependencies were not found 해당 에러가 발생하는 경우, 프로젝트 이름을 대문자로 설정해서 발생하는 오류였다. vue ui에서 프로젝트 이름을 대문자로 생성할 경우 작업폴더의 이름은 모두 소문자로 바뀌게 되는데, 이때 빌드하기 위해 참조하는 js의 경로가 대문자 폴더를 참조하기 때문에 당연히 찾지 못해 에러가 발생한다... 해결법은 소문자로 프로젝트 이름을 생성하면 된다.
python requests로 접속시 나의 ip확인하는 방법
2020. 3. 30. 00:30
Develop/Python
import requests r = requests.get(r'http://jsonip.com') ip= r.json()['ip'] print ip jsonip.com을 이용해서 requests로 접속시 어떤 ip를 사용하는지 알 수 있다. 기존의 localhost ip구하는 방법으로 구했더니 잘 해결이 안돼서 위 방법으로 해결했음.
[BSidesSF 2020 CTF] Recipes Write-up
2020. 3. 2. 03:08
Security/Web
문제 링크 https://recipes-0abb43f9.challenges.bsidessf.net/ 불러오는 중입니다... 문제 상황 I've found this recipe storage service. Rumor has it that the famous San Francisco-based Boudin Bakery is working on a new recipe. Can you get that for me? Boudin Bakery의 새로 개발중인 레시피를 유출해달라는 꽤 신선한 주제의 문제이다. 회원가입을 완료하면 set-cookie로 쿠키를 받게되는데, 이 토큰은 JWT이다. 내용을 보면, sub라는 항목이 유저를 구분하는 역할을 하는 것으로 보인다. 회원가입을 한뒤(로그인) 레시피 메뉴가 생긴다...
[BSidesSF 2020 CTF] SCP-1 Write-up (SCP bypass)
2020. 2. 27. 01:28
Security/Web
문제 개요 https://csp-1-5aa1f221.challenges.bsidessf.net input과 submit이 있고, admin으로 /csp-one-flag를 읽으면 되는 간단한 챌린지. 문제 상황 개발자도구로 응답 헤더의 CSP제약조건을 확인해본다. content-security-policy: script-src 'self' data:; default-src 'self'; connect-src *; report-uri /csp_report 참고 https://developers.google.com/web/fundamentals/security/csp?hl=ko 콘텐츠 보안 정책 | Web | Google Developers 콘텐츠 보안 정책은 최신 브라우저에서 교차 사이트 스크립팅 공격의 위..
[vue.js] v-on:keyup.enter의 함수가 두번 호출되는 문제 해결법.
2020. 2. 20. 22:37
Develop
이렇게 한글문자열이 있는 text-field인 경우 keyup.enter에 작성한 함수가 두번씩 실행되는 이슈가 있었는데, 이는 keyup대신 keypress.enter로 고쳐주니 해결되었다.
[ctf apk문제]CyberTruck Challenge 2019 #Challenge 2
2020. 2. 7. 01:07
Security/Mobile
문제 github https://github.com/nowsecure/cybertruckchallenge19 nowsecure/cybertruckchallenge19 Android security workshop material taught during the CyberTruck Challenge 2019 (Detroit USA). - nowsecure/cybertruckchallenge19 github.com 목표 Challenge1 to unlock car1. "DES key: Completely Keyless. Completely safe" 50pts: There is a secret used to create a DES key. Can you tell me which one? 100pts: The..
python tensorflow trouble shooting
2020. 2. 5. 18:44
Develop/Python
텐서플로우 2.0이 깔려있는데 현존하는 문서는 1버전을 기준으로 한게 많기때문에, 그냥 실행하면 에러가 자주 난다. 재설치는 귀찮기때문에 import할 때 이렇게 해주면 v1로 사용이 가능하다. import tensorflow.compat.v1 as tf tf.disable_v2_behavior() - AttributeError: 'module' object has no attribute 'random_uniform' 텐서플로우 2.0으로 오면서 random.uniform()으로 바뀐듯 하다.
[apk hooking tutorial] FridaLab 으로 frida 익히기
2020. 1. 30. 04:19
Security/Mobile
FridaLab란? https://rossmarks.uk/blog/fridalab/ 에서 제공되는 Frida를 익히기 위한 Challenge APK입니다. FridaLab I was struggling with a recent test using frida, knowing it could do what I rossmarks.uk apk파일은 위 링크에서 다운로드 받으실 수 있습니다. 실행해보기 apk파일을 설치해서 실행해보겠습니다. 여러 챌린지를 보여주고 Check버튼이 있습니다. Check 버튼을 누르면 클리어한 챌린지는 초록색으로 변하게 됩니다. 지금은 아무것도 해결하지 못하였기 때문에 전부 빨간색으로 표시됩니다. Challenge 1 1. Change class challenge_01's varia..
[python] 저품질 블로그 확인하는 스크립트 - 자신의 티스토리 글이 검색엔진에 노출되는지 확인하는 스크립트
2020. 1. 29. 22:50
Blog
목적 티스토리를 운영하다보면, 자신의 글이 검색엔진에서 검색이 잘 되는지가 궁금하곤 합니다. 또는 블로그가 저품질에 걸리게되면, 검색엔진에서 노출되는 순위가 많이 밀리게 됩니다. 그래서 가끔 자신의 글을 직접 검색해보는데, 블로그의 글이 많다면 이를 일일이 하는 것은 불가능합니다.. 지금의 저의 블로그 글은 10개정도 되지만, 수십 수백개의 글을가진 여러 티스토리 블로그 운영자 분들이 사용하실 수 있게 파이썬 스크립트를 제작해보았습니다. 다운로드 (python2용) (python3용) 깃허브 링크 : https://github.com/ICEB3AR/TistoryPostChecker ICEB3AR/TistoryPostChecker Contribute to ICEB3AR/TistoryPostChecker d..
[ctf apk문제]CyberTruck Challenge 2019 #Challenge 1
2020. 1. 29. 02:23
Security/Mobile
문제 github https://github.com/nowsecure/cybertruckchallenge19 nowsecure/cybertruckchallenge19 Android security workshop material taught during the CyberTruck Challenge 2019 (Detroit USA). - nowsecure/cybertruckchallenge19 github.com 목표 Challenge1 to unlock car1. "DES key: Completely Keyless. Completely safe" 50pts: There is a secret used to create a DES key. Can you tell me which one? 100pts: The..
[크롤링] python webdriver로 크롬창 열기 (selenium)
2020. 1. 26. 14:41
Develop/Python
selenium이란? 웹앱을 테스트하기 위해 만들어진 프레임 워크입니다. 내장하고 있는 webdriver를 이용하면, get requests로 html을 가져오는것이 아닌 직접 우리가 브라우저에서 볼 수 있는 것을 모두 가져올 수 있습니다. 설치 pip install selenium 크롬뿐만 아니라 여러 브라우저를 지원하지만 크롬을 기준으로 설명하겠습니다. 주소창에 chrome://version 를 입력하면, 가장 위에 버전이 보입니다. https://sites.google.com/a/chromium.org/chromedriver/downloads에서 크롬의 웹드라이버를 다운로드 받을 수 있습니다. Downloads - ChromeDriver - WebDriver for Chrome WebDriver f..
Python Random 모듈 함수 정리, 사용법
2020. 1. 24. 16:17
Develop/Python
모듈 소개 - random 모듈은 의사 난수를 생성하는 모듈입니다. - python 2,3 지원 설치 방법 //python2 pip install random //python3 pip3 install random 함수 설명 - random() import random print random.random() 0.5476650935722526 random() 함수는 0~1 사이의 실수를 출력합니다. 범위 : [0.0, 1.0) - uniform(a,b) import random print random.uniform(50,100) 96.7284069027 uniform(a,b)는 a와 b사이의 실수를 출력합니다. - random.randrange(stop) - random.randrange(start, sto..
[티스토리 구글 노출 팁]티스토리 글을 구글에 색인요청하기 구) fetch as google
2020. 1. 22. 02:46
Blog
구글에 티스토리 블로그 등록하기많이 성장한 티스토리 블로그라면, 구글 크롤링이 빠른 주기로 진행되는 반면, 막 만든 블로그는 몇일 동안이나 유입이 없습니다.검색에 블로그 글이 보이게 하려면 구글 서치 콘솔에 블로그를 등록하면 됩니다.https://search.google.com/u/1/search-console 링크를 클릭해 서치 콘솔에 접속합니다. 구글에 로그인 하면 이런 화면이 보이게 됩니다.URL 접두어 부분에 블로그 주소를 입력하고 계속을 눌러주세요 여기서 HTML 태그를 눌러주세요메타태그를 복사 한뒤, 티스토리 스킨편집을 눌러주세요. html 편집을 눌러서 편집기를 켜주세요. 가장 위에 있는 아래에(전 ) 복사했던 메타태그를 붙여넣기 합니다. 적용을 누른뒤 다시 콘솔로 돌아와서 확인버튼을 눌러주..