프롤로그knockon 선별과정이 끝나고 합격했다.지금까지 블로그적은 것처럼 이번에도 적는다.이전에 웹개발 많이 해봤어서 개념적으로는 어려울 건 없겠지만, 그래도 다시 공부한다는 마음가짐으로 몰랐던 거 알아가면서 공부해보려고 한다. 정보데이터라는 것이 있다. 데이터는 0과 1로 되어있는 RAW한 것이다.여기서 정보란, 이 데이터들 중에서 의미가 부여된 데이터를 가공한 것을 말한다. 통신통신이란 정보를 전달하고 이를 이해하고 교환하는 행위를 말한다. 조선시대를 생각해보자. 정보를 전달하기 위해서 말을 타고 직접 가서 전달을 하거나, 아니면 봉화를 피워서 위급한 상황인지 아닌지 등을 하기도 그랬다. 조금 현실적인 곳으로 오면, 당장 내 옆자리 사람들과 얘기, 소통하는 것도 통신이라고 볼 수 있다.현대 기술..
웹 해킹

프롤로그하루 한 문제씩 드림핵을 풀기에는 지금, 한 문제 푸는 데에 너무 오래걸린다.할 일은 많은데, 그래서 다른 워게임들도 풀어보려고 찾았고, webhacking.kr를 찾아서 풀어보려고 한다.1번 문제는 풀었으나, 너무 쉬웠어서 2번문제 부터 풀려고 한다. 문제 및 소스코드처음 들어갔을 때는 그냥 검정화면에, view-source 가 보인다view-source를 누르면view-source 풀이전략사이 부분을 보면파라미터로 admin을 입력이 되면 문제가 풀릴 것이다. 다만 그 위에, 파라미터로 admin이 입력되면 no!가 입력이 될 터이니 그것을 우회해야한다. 풀이과정https://webhacking.kr/challenge/web-11/?id=admin를 맨 처음에 입력해보자.no!가 출력이 되..

프롤로그시간이 부족해 문제https://dreamhack.io/wargame/challenges/343 [wargame.kr] tmitterDescription you need login with "admin"s id! create table tmitter_user( idx int auto_increment primary key, id char(32), ps char(32) );dreamhack.io 코드는 따로 주어지지 않았다 코드처음 입장했을 때 이렇게 존재하고, 소스코드는 TMITTER is not fake twitter! :p have an account? New to Tmitter? ID PS 여기서 확인할 수 있다. 그리고 문제조건에서 나온..

프롤로그학회 때문에 바빠죽겠는데 할 건 해야지.. 문제https://dreamhack.io/wargame/challenges/931 random-testDescription 새 학기를 맞아 드림이에게 사물함이 배정되었습니다. 하지만 기억력이 안 좋은 드림이는 사물함 번호와 자물쇠 비밀번호를 모두 잊어버리고 말았어요... 드림이를 위해 사물함 번호와dreamhack.io드림이는 바보야.. 코드#!/usr/bin/python3from flask import Flask, request, render_templateimport stringimport randomapp = Flask(__name__)try: FLAG = open("./flag.txt", "r").read() # flag is ..

프롤로그워게임 Error based SQL Injection 을 풀면서, SQL Injection에는1. Error Based SQL Injection: GET/POST/HTTP헤더/쿠키 등에 ' or ; 삽입시 SQL 관련 에러를 통해 DB의 정보를 예상(1) '을 넣어서 Error based SQL Injection이 뜨는지 확인(2) ' and db_name() > 1 -- 로, 등으로 DB명 확인(3) 칼럼명 확인 2. Union Based SQL Injection: 공격자가 Union을 이용하여 원래의 요청에 추가 쿼리를 삽입하여 정보를 얻어내는 방식-> Union쿼리는 앞에거랑 필드개수가 같아야함' union select 1, 2, 3, 4, 5, 6# 이런식으로 사용 3. Blind bas..

프롤로그하루 1 워게임 도전중 문제소스코드를 다운받아도, 아무것도 없길래 일단 넘어가겠다. 그래서 사이트를 접속하게 되면get source 부분이 있는데 저것을 클릭하면 소스코드"; echo "FLAG : ".$FLAG; } }else{ echo "wrong.."; } }?>IDPW get source 코드 분석맨 밑에 주석처리되어 있는 you have blocked accounts.guest / guestblueh4g / blueh4g1234ps이게 아마 아이디, 비밀번호일것이다. isset($_POST['id']) && isset($_POST['ps'])여긴 POST 요청으로 아이디, 비밀번호가 요청된 게 있는 확인하는 곳mysqli_connect("localhost", $DB_u..

프롤로그 1주일간, 무선통신과 AES 암호학에 대해서 되게 심도있게 공부하고, 그것으로 발표자료를 준비하느라 좀 블로그에 신경을 못 썼다. 오늘 일단 발표자료는 다 완성이 되어서 이제 웹 해킹 마저 공부했던 거 계속 문제를 풀어보자. 문제 문제 코드 PHPreg Step 1 Step 2

문제 https://dreamhack.io/wargame/challenges/44 command-injection-1 특정 Host에 ping 패킷을 보내는 서비스입니다. Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. Reference Introduction of Webhacking dreamhack.io 문제코드 #!/usr/bin/env python3 import subprocess from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(__name__) @APP.route('/') def index(): return render_templ..
프롤로그 https://learn.dreamhack.io/169 로그인 | Dreamhack dreamhack.io 웹 개발을 실제로 해보면서 (물론 장고긴 하지만), 데이터베이스 구조화 부터 먼저 시켰다. 데이터베이스를 먼저 설정하지 않고 무지성으로 홈페이지 개발하다 보면, 필요한 거 추가하느라 모델(DB)를 수정시켰고, 이 수정 잘못 시키는 순간 엄청난 오류로 인해서 코드 다 갈아엎었던 기억이 난다. 이번에는 그 데이터베이스와 관련된 강의가 진행되는 것 같다. 데이터 베이스(Database) : 정보를 기록하기 위함 데이터베이스 관리 어플리케이션(DataBase Management System, DBMS) : 데이터베이스 관리 Database Management System 웹 서비스는 데이터베이스에..