분류 전체보기

    gremlin

    1. intro 회사 파일 업로드 막는거 더럽네... 이미지는 하나도 못넣고 -_- 어쨌든, SQL injection 공부를 하던 중, 좋은 사이트를 알게되어 들이대본다. https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr 2. code 및 분석 2.1. code query : select id from prob_gremlin where id='' and pw=''

    5월 말 즈음에 쓰는 일기.

    자체평가 : ★★★☆☆ 솔직히 망했다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 목표 중도 포기라니... 리버싱이랑 크립토는 나랑 정말 안 맞는 것 같다. 리버싱은 둘째 치더라도 크립토는... 망겜 망해라... 리버싱은 그래도 다시 마음잡고 나중에 해보자. 그럼에도 불구하고 평가가 괜찮은 이유는 무엇이 되었든 꾸준히 공부하고 있기 때문이다. 리버싱, 크립토 대신 웹으로 방향을 돌렸다. 요건 은근 재밋는 듯. 대신 프록시 툴이 필요한 때가 오는 순간... 망이다. 회사에서는 쓸 수 없기 때문에... 물론 무슨 수를 써서라도 쓸 수 있게 해보긴 하겠지만,,, 과연 쓸 수 있을지는 미지수. 포너블은 풀었다 안풀었다 하고 있다. 6레벨까지 클리어하기가 과연 가능할지 모르겠다... 한 30문제 정도 남은 것 같은데... 하고싶은 ..

    simple_sqli

    1. intro 2. code 및 분석 2.1. code #!/usr/bin/python3 from flask import Flask, request, render_template, g import sqlite3 import os import binascii app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' DATABASE = "database.db" if os.path.exists(DATABASE) == False: db = sqlite3.connect(DATABASE) db.execute('create table users(use..

    csrf-2

    1. intro 2. code 및 분석 2.1. code #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]" users = { 'guest': 'guest', 'admin': FLAG } session_storage = {} def read_url(url, ..

    csrf-1

    1. intro 2. code 및 분석 2.1. code #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]" def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127.0.0.1"}) try: options = w..

    xss-2

    1. intro 2. code 및 분석 2.1. code xss-1과 다른 부분은 아래 한 곳이다. @app.route("/vuln") def vuln(): return render_template("vuln.html") 2.2. 분석 xss-1과 동일하지만, 이번에는 받아들인 값을 바로 인자로 사용하지 않는다는 점이 차이점이다. 3. 취약점 확인 및 공격 준비 3.1. 취약점 xss 3.2. 공격 준비 우선 vuln 페이지로 들어가봤더니 param이 alert를 실행하도록 되어있으나 반응하지 않는 것을 볼 수 있다. 이는 곧 가 제대로 삽입되지 않는다는 것인데, 아무래도 문자열 필터링인 것 같다는 생각이 들었다. 테스트해보니

    xss-1

    1. intro 2. code 및 분석 2.1. code #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]" def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127.0.0.1"}) try: options = w..

    cookie

    1. intro 2. code 및 분석 2.1. code #!/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', 'admin': FLAG } @app.route('/') def index(): username = request.cookies.get('username', None) if username: return render_template('index.html'..

    session-basic

    1. intro 2. code 및 분석 2.1. code #!/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 } # this is our session storage session_storage = { } @app.route('/') def index(): session_id = request.cook..

    devtools-sources

    1. intro 일단... 회사에서 공부하는 관계로... 스샷이 안올라감 ㅠㅠ 2. code 및 분석 2.1. code N/A 2.2. 분석 많은 파일 중에 어딘가 flag가 숨어있는 듯. 3. 취약점 확인 및 공격 준비 3.1. 취약점 그냥... 개발자 도구 사용법 정도 알아가는 코너...? 3.2. 공격 준비 파일을 다운로드 받은 뒤 파이어폭스에서 개발자 도구 -> 소스에 갔더니 모든 파일이 불러와지지 않아서 결국 익스플로어로 열었다. 한방에 다 나옴... 여기서 모든 파일을 대상으로 하나하나 검색해도 되겠지만, 전체 파일 검색 기능을 제공하니 이걸 이용했다. 4. exploit 단축키는 컨트롤 + 쉬프트 + F 기본적으로 플래그 포맷이 DH{...} 이니 DH으로 검색하였다.