분류 전체보기 297

[BAEKJOON/ 백준] 2231번: 분해합

https://www.acmicpc.net/problem/2231 [1] 문제 풀이 n = int(input()) # 분해합을 입력값으로 받음for i in range(1, n+1): # 해당 분해합의 생성자 찾기 num = sum((map(int, str(i)))) # i의 각 자릿수를 더함 num_sum = i + num # 분해합 = 생성자 + 각 자릿수의 합 # i가 작은 수부터 차례로 들어가므로 처음으로 분해합과 입력값이 같을때가 가장 작은 생성자를 가짐 if num_sum == n: print(i) break if i == n: # 생성자 i와 입력값이 같다는 것은 생성자가 없다는 뜻 print(0)  n = int(i..

[Dreamhack/드림핵] baby-union

https://dreamhack.io/wargame/challenges/984 baby-unionDescription 로그인 시 계정의 정보가 출력되는 웹 서비스입니다. SQL INJECTION 취약점을 통해 플래그를 획득하세요. 문제에서 주어진 init.sql 파일의 테이블명과 컬럼명은 실제 이름과 다릅니다. 플래dreamhack.io[1] 문제 설명     우선 SQL INJECTION 취약점을 이용하여 위와 같은 입력값을 제출해주었다.admin 계정으로 접근할 수 있었고, 별 의미 없는 테이블을 볼 수 있었다...  app.py를 살펴보자.import osfrom flask import Flask, request, render_templatefrom flask_mysqldb import MySQLa..

Hacking (CTF)/CTF 2024.05.08

[Dreamhack/드림핵] PHPreg

https://dreamhack.io/wargame/challenges/873 phpregDescription php로 작성된 페이지입니다. 알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다. Step 2에서 system() 함수를 이용하여 플래그를 획득하세요. 플래그는 ../dream/flag.txt에 위치합니dreamhack.io[1] 문제 풀이  문제 설명을 다시 보자면, 이러하다! 그러니까 php로 작성한 페이지에 접속을 하면, Ncickname과 Password를 입력할 수 있는 화면이 나온다.먼저 알맞은 Nickname과 Password를 입력하여 Step 2로 넘어가보자!  Step 1 페이지의 소스코드 페이지를 살펴보았는데 별 게 없어서 문제 파일을 살펴..

Hacking (CTF)/CTF 2024.05.07

[디지털 포렌식 스터디] 3주차: 문제 풀이

이번 주 스터디 범위: https://inf.run/zmPL [지금 무료] 기초부터 따라하는 디지털포렌식 | 훈지손 - 인프런훈지손 | 기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털www.inflearn.com  이미지 인포 통해 운영체제를 식별해줌 1GB 정도여서 식별하는 데에 시간이 조금 걸림.  netscan: connections, sockets를 포함한 더 많은 기능 (Windows xp) connections: "현재 연결된" TCP 통신에 대한 정보 sockets: 응답받기를 기다리고 있는 모든 프로토콜에 대한 socket 정보 cmdline: 프로세스가 실행될 ..

논문 분석: 클라우드 환경에서 블록체인 기반의 웹서버 로그 관리 시스템

[1] 논문 선정 이유 이전에 "블록체인 기반 성과 인증 시스템" 주제로 정책 제안 공모전에 제출한 경험이 있다. 해당 보고서는 기업이나 조직 내에서 작업물을 저장하고 성과를 인증하는 시스템을 블록체인의 특징을 활용하여 제안했다. 현재는 온 프레미스 환경에서 클라우드 환경으로의 이전과 이용이 증가하고 있는데, 이에 따라 클라우드 환경에서 블록체인을 기반으로 로그를 관리하는 방법에 대한 궁금증이 생겼다.  [2] 논문 분석 내용 (1) 요약 및 서론 1. 소개 클라우드 환경과 웹 서비스 확대로 사용자 로그 관리의 중요성이 증대됨. 현재의 중앙 집중식 로그 관리 방식은 외부 공격에 취약함. 2. 문제점 중앙 집중식 로그 관리 방식의 취약성: 외부 공격에 의한 정보 조작 및 유출 우려.웹 애플리케이션에서 발생..

[BAEKJOON/백준] 2775번: 부녀회장이 될테야

[1] 문제 분석 임의의 층과 호수를 입력받으면, 해당하는 호실에 사는 사람의 수를 출력하는 코드를 작성해야 한다. "0층의 i호에는 i명이 산다." 조건이 주어져있다.이 조건에 따라 리스트에 저장된 값을 이용하여 푸는 방식일 거라고 생각했다. 3층1621562층1410201층136100층1234 각 호실에 사는 사람의 수를 보기 좋게 표로 정리해보았다.  [2] 코드  T = int(input())for _ in range(T): k = int(input()) n = int(input()) people = [i for i in range(1, n+1)] for _ in range(k): for i in range(1, n): people[i] +=..

[BAEKJOON/백준] 9095번: 1, 2, 3 더하기

[1] 풀이  어떤 숫자를 입력해도 원하는 대로의 결괏값이 나오게 하는 어떠한 단일한(?) 공식이 필요한가...에 대한 고민을 했었는데,규칙에 대해 고민해본 결과 이 문제는 "DP"를 이용해서 푸는 문제다! 그러니까, 피보나치 수열처럼 큰 문제를 이미 답을 구한 작은 문제로 나누어서 풀이하는 방식을 사용한다는 것이다. 피보나치 수열은 f(n) = f(n-1) + f(n-2)과 같이 n번째 항이 n-1번째 항과 n-2번째 항을 더한 값인 경우였는데,이 문제에서는 비슷하게 f(n) = f(n-3) + f(n-2) + f(n-1)와 같은 규칙이 적용이 된다. (단, N>3)  확인을 해보겠다.  1. n=4일 때,4를 1, 2, 3으로 더하기 때문에, 1+3, 2+2, 3+1로 나눌 수 있다.1+32+23+1..

[Dreamhack/드림핵] Web

ㅋㅋㅋ 글자들이 날아다닌다... CTF 문제를 제작하는 데에는 참신한 아이디어도 필요한 것 같다.      F12를 눌러 관리자 도구를 열어보니, 글자가 쓰여져 있는 이미지 파일들이 있는 것을 확인할 수 있었다.이 글자 이미지들이 날아다니는 것 같다.지금은 이 글자들의 순서를 알 수 없다.   문제 페이지의 소스 코드를 살펴보겠다. 그 전에 잠깐 특이점을 찾아낼 수 있었는데,    코드가 계속 바뀌는 것을 알 수 있었다, 아마 페이지에서 글자의 이미지가 위치하는 위치값이 계속 바뀌는 것 같았다. 이 움직임을 멈춰줘야겠다고 생각해서, 위치값을 계속 바뀌게 하는 코드를 찾아보았다. "transform: translateX()" 부분이 움직임에 관여한다고 생각해서 관련 코드를 아래에서 찾아보았다. const ..