'분류 전체보기'에 해당하는 글 203건

반응형

이번에 '금연뱅크'라는 앱을 개발해보았습니다.

금연하시는 분들의 많은 이용부탁드리며, 개발자분들의 많은 피드백 부탁드리겠습니다.!

https://play.google.com/store/apps/details?id=com.cjw.nonsmoking

 

금연뱅크 - 금연 기록 & 금연코인(출석/보상) - Google Play 앱

‘금연뱅크’는 금연 일수와 절약 금액을 한눈에 확인하고, 출석·담배 컬렉션·게임으로 보상과 재미를 더해 꾸준히 금연을 이어가도록 돕는 앱입니다.

play.google.com

추가로, 웹 랜딩페이지도 구성해보았으니 참고부탁드립니다!

홈페이지 : https://nonsmokingbank.com/

 

금연뱅크 정식 출시 버전입니다.

· 홈에서 금연 시간, 절약 금액, 안 핀 담배, 실패 횟수, 목표일을 한눈에 확인할 수 있습니다.

· 금연코인으로 실패 횟수 차감 및 담배 컬렉션 시도에 활용할 수 있습니다.

· 출석체크와 알림(금연 이유/미접속/리마인더)을 통해 매일 동기부여를 받을 수 있습니다.

· 담배 컬렉션 게임으로 담배갑을 수집하고 도감에서 수집 진행 상태를 확인할 수 있습니다.

· 폐/흡연 기록에 따라 폐 건강(회복/저하) 흐름을 시각적으로 보여줍니다.

· 폐 건강 수치는 가상/참고용임을 고지하며, 전반적인 사용 안정성을 강화했습니다.

사용 중 불편사항은 언제든지 피드백 부탁드립니다.


‘금연뱅크’는 금연 일수와 절약 금액을 한눈에 확인하고, 출석체크·담배 컬렉션·게임으로 보상과 재미를 더해 꾸준히 금연을 이어가도록 돕는 앱입니다.


  • 홈에서 금연 시간·절약 금액·안 핀 담배·실패 횟수·목표일을 한눈에 확인할 수 있어요.
  • 출석체크로 금연코인을 받고, 코인을 써서 실패횟수 차감과 담배 컬렉션 시도를 진행할 수 있어요.
  • 알림 설정과 “금연할 이유” 선택을 통해 매일 금연 동기를 꾸준히 유지합니다.
  • 게임으로 집중을 돌리고 스트레스를 줄이며, 성취를 쌓아가며 “다시 시작하는 금연”을 응원합니다.

[앱 소개]

금연뱅크는 금연 일수와 절약 금액을 기록하고, 알림·코인·게임·담배 컬렉션으로 꾸준한 동기를 이어갈 수 있도록 돕는 금연 앱입니다. 실패해도 연속 금연 일수는 유지되고 실패 횟수만 누적되는 방식으로 “다시 시작하는 금연”을 함께해요.

■ 금연현황

· 시작일·누적일·목표일을 설정하고 목표 달성 시 축하 알림을 받을 수 있어요.

· 금연 시간을 실시간으로 확인하고 절약 금액, 안 핀 담배 개수를 자동 계산해 보여줘요.

· “담배 피움” 또는 “흡연”으로 실패 횟수는 누적되지만 연속 금연 기록은 유지되어 “다시 시작하는 금연”을 도와줘요.

■ 금연코인

· 출석체크로 금연코인을 매일마다 받을 수 있어요.

· 금연코인으로 실패 횟수 차감과 담배 컬렉션 시도에 사용할 수 있어요.

· 메인 화면 상단에서 보유 코인을 확인하고 필요할 때 바로 사용할 수 있어요.

■ 담배 컬렉션

· 특정한 시간에는 담배갑 컬렉션(수집)도 가능해요.

· 지포라이터를 2~3초 누르고 떼면 수집 시도를 진행하며, 각 시간대당 최대 5번까지 도전할 수 있어요.

· 성공하면 도감에서 담배갑이 활성화되고, 실패하면 남은 시도 횟수로 다음 기회를 이어갈 수 있어요.

· 원하는 담배갑을 가질 수 있도록 시도해보세요.

■ 알림

· 설정에서 원하는 시간대를 여러 개 추가해 금연 리마인드 알림을 받을 수 있어요.

· “금연할 이유” 중 하나를 선택하면 매일 12:00에 선택한 이유와 함께 알림이 제공돼요.

· 3일 이상 미접속 안내 알림, 출석 알림(저녁 6시 미출석 시 10분마다) 옵션을 켜고 끌 수 있어요.

■ 금연할 이유·흡연 욕구

· 금연하는 이유를 여러 개 작성하고, 별/종 아이콘으로 알림에 사용할 이유를 선택할 수 있어요.

· “흡연 욕구” 화면에서 금연 시간·절약 금액·안 핀 담배·선택 이유·응원 메시지를 한 번에 확인해요.

· 매일 선택된 이유로 동기를 다시 잡을 수 있게 도와줘요.

■ 나의 성장 나무

· 2분마다 물이 쌓이고, 10ml·100ml 단위로 물을 주면 최대 5단계까지 성장해요.

· 금연 기간을 시각적으로 느낄 수 있도록 성장 과정을 보여줘요.

■ 나의 폐

· 금연 기간에 따른 폐 회복 상태를 퍼센트로 확인하고, 흡연 시 건강도가 감소하는 흐름을 보여줘요.

· 금연을 유지하면 시간이 지나며 서서히 회복됩니다.

(※ 본 앱의 폐 건강 수치는 가상/참고용이며 의학적 진단이 아닙니다.)

■ 게임

· 1~30 숫자 게임으로 빠르게 집중하고 기록을 남길 수 있어요.

· 단어맞추기, 완벽 타이밍, 담배맞추기 등으로 즐거운 몰입을 이어갈 수 있어요.

· 게임을 통해 스트레스를 줄이고 금연을 꾸준히 지속하도록 도와줘요.

■ 위젯·설정

· 홈 화면 위젯으로 금연 시간, 절약 금액, 안 핀 담배, 폐 건강을 바로 확인할 수 있어요.

· 설정에서 알림/출석 알림/비접속 알림과 개인정보처리방침·이용약관, 도움말을 관리할 수 있어요.

· 금연 뱃지 및 앱 정보도 설정에서 확인할 수 있어요.

 

많은 이용과 피드백 부탁드리며, 개선의견은 댓글로 남겨주시거나 cjw207207@gmail.com 으로 부탁드리겠습니다.!

반응형

'공지' 카테고리의 다른 글

개발자를 꿈꾸는 프로그래머  (0) 2018.11.21
리뉴얼  (0) 2017.01.02
오랜만의 공지.!  (0) 2016.06.10
Breaktime...  (0) 2016.05.10
블로그 메인.  (0) 2016.04.27

WRITTEN BY
SiriusJ

,
반응형

문제를 받아줍니다.

admin 계정의 패스워드가 FLAG 임을 확인할 수 있습니다.

코드를 보면, users 리스트에서 PW를 불러오고, 사용자가 입력한 패스워드와 if 문을 통해 비교를 합니다.

동일하다면 sessionid를 값으로 하는 session_storage를 username에 저장해줍니다. 그리고 cookie의 값을 sessionid로 저장해주고 반환해줍니다.

admin 함수에서는 session_storage의 값을 반환해주는 것을 확인할 수 있습니다.

admin

/admin으로 접속해보니, admin 계정의 세션id가 출력되는 것을 확인할 수 있습니다.

이제, burpsuite를 활용하여 admin으로 접속하도록 변조해봅시다.

open browser를 통해 http://host3.dreamhack.games:11012/login 에 들어가고, 아래와 같이 cookie에 해당하는 값을 직접 입력해준 후, forward를 해줍니다.

아래와 같이, FLAG 값을 뱉어내는 것을 확인할 수 있습니다.

 

즉, Session id 값을 확인하여 이를 쿠키값으로 변조하여 로그인하는 시도를 성공할 수 있습니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제파일을 받고, 풀어주자 아래와 같이 나옵니다.

 

https://tools.dreamhack.games/cyberchef

 

dreamhack-tools

 

tools.dreamhack.games

로 들어가보자, 아래와 같이 화면이 나옵니다. 사용 툴로 보입니다.

여기서, INPUT에 EUg5MJAyYJ9fYJ5iMKqio29iVK1VL2WlnTM0o3AyL2Elq3q3qlRu 문자열을 넣고, 이를 복호화 하기 위한 과정을 수행해봅니다.

힌트에 Rail Fence → Base64 → ROT13로 되어있다고 하니, 복호화는 ROT 13 -> BASE64 -> RAIL FENCE로 수행해줍니다.

아래와 같이 output으로 flag가 나오는 것을 확인할 수 있습니다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

session-basic 문제풀이  (0) 2025.04.21
phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제 다운로드했을 때, 

index.php에서는 별다른 힌트없이 html 바디로 이루어진것을 확인할 수 있습니다.

다음으로 step2.php를 확인하자 아래와 같은 소스가 보이고 php로 필터링하는 주요 구문을 캡처했습니다.

input1, input2 태그를 통해 입력되는 값을 input_name, input_pw로 구분하는 것이 보이고,

pw filtering을 통해 패스워드 입력칸에 알파벳을 입력했을 때 echo로 패스워드 알파벳에 대한 필터링을 하고 있음이 확인됩니다.

더불어 else 구문에서는

name -> nyang은 공백으로 치환하고 있습니다. 그리고 pw는 preg_replace("/\d*\@\d{2,3}(31)+[^0-8\"]\!/" 를 d4y0r50ng로 치환하고 있습니다.

이때, name = dnyang0310, pw는 d4y0r50ng+1+13으로 보입니다.

 

따라서, name은 dn(nyang->공백치환)yang0310으로 즉 dnnyangyang0310 으로 해주면 되고,

pw는 /\d*\@\d{2,3}(31)+[^0-8\"]\!/+1+13 으로 입력해주면 될 것으로 보입니다.

이때, pw에 대한 구문을 해석해보면, 아래와 같습니다.

\d* -> 숫자 0개 이상

\@ -> @

\d{2,3} -> 숫자 2개 이상~3개 이하

(31) -> 31

[^0-8\"] -> 0~8을 제외한 나머지

\! -> !

즉, 패스워드는 1@11319!+1+13 으로 만들어 줄 수 있습니다.

 

그럼, 아래와 같이 step2로 문이 열리는 것을 확인할 수 있습니다.

 

이때, 플래그는 아래와 같이 얻을 수 있다고 합니다.

cat ../dream/flag.txt 를 해보니, error가 나옵니다.

확인해보니, 코드상에 아래와 같이 cmd filtering이 있는 것을 확인할 수 있습니다.

이를 우회하기 위해, flag에 대한 패턴을 아래처럼 바꾸어 줍니다.

flag 값을 획득했고, 이를 입력해줍니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

session-basic 문제풀이  (0) 2025.04.21
dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제를 받고 서버도 생성해줍니다.

host3.dreamhack.games:23858 로 접근하니 아래와 같습니다。

받은 app。py를 살펴보니 flag라는 명령이 들어오면 no라는 result 값을 출력하도록 되어있네요。

cat flag.txt를 찍어보니 안된답니다... ls 로 파일을 확인해보니 아래와 같습니다.

이 중, requirement.txt를 찍어보니 flask로 나오고, hint.txt를 cat으로 확인해보니 아래와 같이 flag 경로가 나옵니다.

cat ./dream/hack/hello/flag.txt를 확인해보니 또다시 no로 나오는 걸로 보아, app.py의 필터링 규칙이 적용된 것 같습니다.

해당 경로에 파일을 ls ./dream/hack/hello 로 확인해보니 flag.txt만 있는 것으로 확인됩니다.

필터링 규칙 우회를 위해, cat ./dream/hack/hello/*.txt 로 확인해줍니다.

아래와 같이 DH 값이 나옵니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
phpreg 문제풀이  (1) 2025.04.19
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

소스코드를 다운받아줍니다.

소스코드를 받으면 index.html이 있고, 소스코드를 확인해보면 value 값이 보입니다. base64 encoding 되어있는것으로 보이니, 해당 값을 디코딩해줍니다.

디코딩 사이트에서 확인해보니 코드가 보이고, 해당 코드를 파이썬으로 출력하면 다음과 같이 보입니다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

rev-basic-0과 동일하게 correct를 출력하는 입력값을 찾아내는 문제이다.

똑같이 문제를 다운로드 받는다.

 

그리고 이전 포스팅과 동일하게 x64dbg를 이용하여 해당 실행파일을 분석해본다.

똑같이 correct를 더블클릭해주고, 

상단의 빨간 밑줄부분을 확인해보니, 아래와 같이 값들이 이번에는 문자로 분리되어 보인다.

보니까 cmp(문자 비교)를 하는것 같고, 쭈욱 내려가니 값은 Compar3_the_ch4ract3r 로 보여져서, 실행해보니 Correct가 나오는것을 확인하였다.

이전에 푼 방법과 동일한 방법이라 어렵지않았다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
Carve Party 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02
command-injection-1 문제풀이  (2) 2025.02.01

WRITTEN BY
SiriusJ

,
반응형

호박을 10000번 클릭해야하나보다. 매크로를 쓸까 고민했다.

우선 문제파일을 받으니 아래와 같이 html 파일이 하나 보인다.

 

몇번 눌러보니 호박이 웃는다... 일단 소스코드를 확인해보니 아래처럼 counter를 10000번 해야하는 것으로 보인다.

 

클릭했을 때 바로 make() 를 해보거나, 주석처리로 if 문 전체를 날려보아도 그대로 클릭하는게 유지되는 걸로 보인다.

그래서 반복문(while)을 사용해서 counter가 10000이 될때까지 증가시켜서 해당 값을 0으로 만들어버렸다.

 

클릭해보니 DH 값을 뱉어낸다.

이 값을 넣어보니 완성되는것을 확인하였다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02
command-injection-1 문제풀이  (2) 2025.02.01
file-download-1 문제풀이  (0) 2025.02.01

WRITTEN BY
SiriusJ

,