Fascination
article thumbnail
[Docker] SISS 대회 문제 출제 시 docker 사용법
etc.../SISS 2022. 2. 8. 21:22

1. 설치 - docker 설치 $ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 버전은 변경해서 설치할 수 있음(아래 사이트에서 확인하기) Releases · docker/compose Define and run multi-container applications with Docker - docker/compose github.com - docker-compose에 권한 설정 $ sudo chmod +x /usr/local/bin/docker-compose - 심볼릭 링크 설정 $ sudo ..

article thumbnail
[Android] 남은 액티비티 종료 후 앱 재실행하기
Study/Android 2022. 2. 5. 01:17

프로젝트를 하다보니 로그아웃 그리고 회원탈퇴를 한 후, 앱을 처음 실행하는 로그인 액티비티로 이동하고 싶어졌다 내 프로젝트의 각 액티비티와 프래그먼트를 대충 설명해보자면,,, MainActivity: homefragment, likefragment, userfragment가 띄워짐 userfragment: firebase에서 현재 로그인된 user의 정보(닉네임, 이메일)를 받아오며 정보 수정으로 이동하는 버튼, 로그아웃 버튼, 회원 탈퇴 버튼이 있음 주제와 관련된 요소들은 위에가 끝일 것 같다 처음에 구현한 코드는 이러했다 //탈퇴 버튼 btnDrop.setOnClickListener { mFirebaseAuth!!.currentUser!!.delete() mDatabaseRef.removeValue(..

article thumbnail
[Dreamhack] funjs
War Game & CTF/Dreamhack 2022. 1. 31. 03:16

funjs 입력 폼에 데이터를 입력하여 맞으면 플래그, 틀리면 NOP!을 출력하는 HTML 페이지입니다. main 함수를 분석하여 올바른 입력 값을 찾아보세요! # 접속 문제를 열어보니 입력 폼이 요기조기 돌아다닌다 아무 값이나 입력해보니 문제 설명대로 NOP! 를 출력한다 # 코드 확인 Find FLAG ! 위와 같은 소스코드를 확인할 수 있었다 text2img가 인자로 받은 값을 사용해 플래그를 출력해주는 역할을 하는 함수같았고, _0x1046[] 리스트 안에 함수 이름들이 중간중간 보인다 # Exploit if (flag[_0x374fd6(0x17c)] != 0x24) { text2img(_0x374fd6(0x185)); return; } for (var i = 0x0; i < flag[_0x374..

article thumbnail
[Dreamhack] ClientSide: XSS
Hacking Tech/Web hacking 2022. 1. 27. 00:25

ClientSide: XSS # 들어가며 - 서론 - 클라이언트 사이드 취약점: 웹 페이지의 이용자를 대상으로 공격할 수 있는 취약점 - 해당 종류의 취약점을 통해 이용자를 식별하기 위한 세션 및 쿠키 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있음 💡 Cross Site Scripting의 약어가 XSS인 이유 - 스타일시트를 정의하는 언어인 CSS와 약어가 중복되기 때문에 XSS로 명명됨 # XSS 1. XSS - 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있음 - 공격자는 해당 취약점을 통해 특정 계정의 세션 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있음 ex) 드림핵 웹 페이지에서 XSS 취약점이 존재하면 https:..

article thumbnail
[Dreamhack] Mitigation: Same Origin Policy
Hacking Tech/Web hacking 2022. 1. 26. 23:40

Mitigation: Same Origin Policy # 들어가며 - 서론 - 쿠키: 인증 상태를 나타내는 민감한 정보가 보관되며, 브라우저 내부에 저장됨 - 브라우저: 웹 서비스에 접속할 때 자동으로 쿠키를 헤더에 포함시켜 요청을 보냄 - 쿠키와 브라우저 덕분에 포털 사이트, SNS와 같은 웹 서비스에 한 번 로그인한 후 일정 기간은 로그인하지 않고도 바로 서비스를 사용할 수 있음 - but, 이용자가 악의적인 페이지를 접속했을 때 페이지가 자바스크립트를 사용해 이용자의 SNS 웹 서비스로 요청을 보낸다면... > 브라우저는 요청을 보낼 때 헤더에 해당 웹 서비스 쿠키를 포함시킬 것임 > 자바스크립트로 요청을 보낸 페이지는 로그인된 이용자의 SNS 응답을 받을 것 > 마음대로 페이지 접속자의 SNS에..

article thumbnail
[Dreamhack] session-basic
War Game & CTF/Dreamhack 2022. 1. 24. 14:10

session-basic 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다 admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다 # 접속 특별한 점은 보이지 않는다 소스코드를 보자 # 코드 확인 #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' users = { 'guest': 'guest', 'user': 'user1234', 'admin': FLAG } session_storag..

article thumbnail
[Dreamhack] cookie
War Game & CTF/Dreamhack 2022. 1. 24. 13:48

cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스 admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있음 * [Dreamhack] Exercise: Cookie # 문제 목표 및 기능 요약 - 해당 문제의 목표는 관리자 권한을 획득해 FLAG를 획득하는 것 # 엔드포인트: / - 해당 페이지에서는 요청에 포함된 쿠키를 통해 사용자를 식별 @app.route('/') # / 페이지 라우팅 def index(): username = request.cookies.get('username', None) # 이용자가 전송한 쿠키의 username 입력값을 가져옴 if username: # username 입력값이 존재하는 경우 return render_template('index.html', ..

article thumbnail
[Dreamhack] Background: Cookie & Session
Hacking Tech/Web hacking 2022. 1. 24. 11:24

Background: Cookie & Session # 들어가며 - 서론 - 웹서버: 수많은 클라이언트와 HTTP 프로토콜을 사용해 통신 > 손님 계정으로 로그인했다면 손님이 이용할 수 있는 서비스를 제공 > 관리자 계정으로 로그인했다면 데이터베이스, 회원 관리 등의 관리자 페이지를 제공해야함 - HTTP 프로토콜로 웹 서버와 통신할 때에는 웹 서버에 명령을 내리기 위해, GET/POST 와 같은 메소드와 자원의 위치를 가리키는 URL 등이 포함되어 있음 - 헤더를 통해서 웹 서버에게 요청을 보내고, 웹 서버는 헤더를 읽고 클라이언트에게 결과 값을 반환 > 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 등의 데이터가 포함되는데, 클라이언트의 인증 정보 또한 포함될 수 있음 # 쿠키 1.쿠키 🍪 -..

article thumbnail
[Dreamhack] Carve Party
War Game & CTF/Dreamhack 2022. 1. 23. 21:43

Carve Party 할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요! # 접속 10000번을 클릭하라고 해서 우선 DevTools로 소스코드를 보았다 # 코드 확인 make()라는 함수는 if문으로 counter에 대한 조건을 바탕으로 어떤 행동을 하고있다 (여기서 counter는 클릭횟수 인 것 같았다 마지막 else문에서 clicks의 text를 10000-counter로 하고 있길래 ㅎ) # Exploit 더 아래쪽을 살펴보니 make() 함수를 사용하고 있는 구문이 보였다 js를 잘 모르지만 click이 보이는걸 보아 click하면 실행되는 구문들이 아닐까 싶어 콘솔창에서 이 함수를 10000번 실행하는 방법을 생각했다 다음과 같이 for문을 사..

article thumbnail
[Dreamhack] Tools: Browser DevTools
Hacking Tech/Web hacking 2022. 1. 23. 21:18

Tools: Browser DevTools # 개발자 도구 - 개발자 도구: 브라우저를 열고 F12를 누르면 실행할 수 있음 # 요소 검사 - 요소 검사: 특정 요소의 개괄적인 정보를 파악하고, 이와 관련된 코드를 쉽게 찾을 수 있음 - 요소 검사 버튼을 누르고 웹 페이지의 원하는 요소에 마우스를 올리면, 대상의 정보가 출력됨 그 상태에서 클릭하면 위와 같이 관련된 HTML코드가 하이라이팅됨 # 디바이스 툴바 - 디바이스 툴바: 현재 브라우저의 화면 비율 및 User-Agent를 원하는 값으로 변경할 수 있음 - 현대에는 웹 페이지가 렌더링 되어야 할 화면 비율도 다양하기 때문에 개발자는 모든 이용자에게 좋은 웹을 제공하고자 자신이 개발한 서비스가 다른 장치에서도 잘 작동하는지 점검해봐야 함 # Elem..