목록전체 글 (82)
'll Hacker
💡Injection?악의적인 데이터를 프로그램에 입력하여 이를 시스템 명령어, 코드, 데이터베이스 쿼리 등으로 실행되게 하는 기법, 웹 애플리케이션을 대상으로 하는 인젝션 공격은 SQL Injection, Command Injection등이 있다. Command injection은 이용자의 입력을 시스템 명령어로 실행하게 하는 취약점명령어를 실행하는 함수에 이용자가 임의의 인자를 전달할 수 있을 때 발생- 입력한 임의 IP에 ping을 전송(in pyhton application)os.system(“ping [user-input]”) - 임의 파일을 읽기os.system(“cat [user-input]”) 💡이런 방식으로 함수를 사용할 때 이용자의 입력을 제대로 검사하지 않으면 임의 명령어가 실행가능‼️..
실습을 통해 익히기 https://dreamhack.io/wargame/challenges/90/ Mango Description 이 문제는 데이터베이스에 저장된 플래그를 획득하는 문제입니다. 플래그는 admin 계정의 비밀번호 입니다. 플래그의 형식은 DH{...} 입니다. {'uid': 'admin', 'upw': 'DH{32alphanumeric}'} Reference Serv dreamhack.io 문제를 푸는 법 1) 코드 분석 -> 웹서비스 분석 -> 엔드 포인트 부분 잘보기, 핵심 함수 코드 잘보기 첫번째 엔드 포인트 /login app.get('/login', function(req, res) { // HTTP GET 요청 핸들러 정의, /login 경로로의 GET 요청에 대한 처리 // ..
개발자 도구 사용법 1) 키보드에 F12 or ctrl+shift+i (window 기준) 2) 구조(크롬에서 개발자 도구 실행) 2-1) Elements : html / CSS 상태 확인⏬ 웹 페이지의 구조를 시각적으로 확인하고, 요소의 스타일을 수정가능 화면에 표시되는 요소의 위치와 크기를 확인가능 2-2) Sources : 스크립트 디버깅 (break point 지정 및 변수 모니터링 등)⏬ 웹 페이지의 소스 코드를 확인하고 디버깅가능 JavaScript 파일을 디버깅하고, 중단점을 설정하며, 변수의 값을 확인가능 로컬 및 원격 서버에 연결하여 소스코드를 관리가능 2-3) Console : 콘솔 (변수 정보를 확인하고 오류 메시지 표시) ⏬ Javascript 코드를 실행하고 디버깅하는데 사용됨 에..
코드 분석 일단 여기서 힌트를 얻을 수 있는 것은 정규표현식을 사용하여 이메일 주소 패턴이 매칭이 된다면 해당 이메일 주소와 플래그 값을 화면에 출력해준다고 구현되어있다.(feat. chatgpt) 그렇다면 패턴은 어떻게 되는 것인가? 여기서 뭔지 모르겠어서 쥐피티한테 물어봤다 (쥐피티없었으면 어쩔뻔;;) 그래서 패턴에 맞게 임의로 dr12_a5e3am@naver.com을 입력했더니!!! 플래그를 얻을 수 있었다.
코드 분석 세 가지 엔드포인트로 나눠서 분석 -> /, /file, /admin 첫 번째 코드 부분 -> 그냥 홈화면 같다. 힌트없음 /file에서 HTTP GET 요청에 대한 쿼리 문자열에서 path값인 해당 경로의 파일을 열어서 내용을 화면에 출력하는 코드이다. Path traversal 의도한 문제인 것 같음. 여기서 쿼리문자열(쿼리스트링)이란? 사용자가 입력 데이터를 전달하는 방법으로 url 주소에 어떤 데이터를 파라미터를 통해 서버측에 전달하는 것 정해진 엔드포인트 주소 이후에 ?(물음표)룰 쓰는 것으로 쿼리스트링이 시작 parameter = value로 필요한 파라미터의 값 파라미터가 여러개일 경우 &를 붙힌다. /admin에서 @key_required는 무엇인가? 물어보면 코드 맨 위에 나와..
https://dreamhack.io/wargame/challenges/850 Flying Chars Description 날아다니는 글자들을 멈춰서 전체 문자열을 알아내세요! 플래그 형식은 DH{전체 문자열} 입니다. ❗첨부파일을 제공하지 않는 문제입니다. ❗플래그에 포함된 알파벳 중 x, s, o는 모두 dreamhack.io 처음에 보고 당황쓰..;;;; 하지만 개발자 도구 눌르면 날라다니는 글자 이미지가 있는 것을 알 수 있어서 마우스 갔다대면 뭔지 알 수 있음 이번껀 쉬웠다
https://dreamhack.io/wargame/challenges/873 phpreg Description php로 작성된 페이지입니다. 알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다. Step 2에서 system() 함수를 이용하여 플래그를 획득하세요. 플래그는 ../dream/flag.txt에 위치합니 dreamhack.io 문제 접근 코드 분석 솔직히 index.php는 힌트를 얻을만한게 없어서 step2.php를 분석하였다. step1은 알맞은 닉네임과 비밀번호를 입력하게 되면 step2로 넘어가는 방식이다. 이 부분에서 알 수 있듯이 정규표현식을 이용아혀 필터링을 사용하고 있다. 문제를 풀기 위해 필터링을 우회해야만 한다. 내가 생각하기엔 dnyang..