본문 바로가기
300x250

정보보안/Web Hacking36

드림핵 문제풀이 - Simple_sqli // SQL Injection, query, 로그인우회, SQL 문제 분류 난이도 : 하하 1. 사전 탐색&정찰 (reconnaissance) 사이트에 접속해보면 Login이 보입니다. 그리고 코드를 함께 살펴봅시다. #!/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 = sqlite.. 2022. 5. 9.
드림핵 문제풀이 - CSRF-2 // CSRF, Web hacking, 세션 문제 분류 난이도 : 중 작성일자 : 2022-04-04 기본 숙지 개념 : flask, Web, CSRF 취약점, 웹 인증방식(쿠키,세션) 작업환경 : VIsual Studio Code, Web(Chrome) 사용언어 : Python_flask, HTML, JavaScript 작업도구 : - 추천 자료 : https://dreamhack.io/lecture/roadmaps/1 https://pointy-tarantula-c3b.notion.site/CSRF-Cross-Site-Request-Forgery-93d36fbda7c54f50a26022a61ea28330 1. 사전탐색&정찰 (reconnaissance) 해당 문제 자체가 CSRF 취약점에 관련된 문제이기 때문에 우리는 이 문제를 CSRF 취약점.. 2022. 4. 6.
드림핵 문제풀이 - XSS-2 // XSS, Cross Site Scripting, 우회, 인증우회 문제 분류 난이도 : 중상 21년도에 추가된 XSS의 두번째 문제 문제 풀기 전에 먼저 코드부터 살펴보자 #XSS-2 의 코드 #!/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({".. 2022. 3. 28.
드림핵 문제풀이 - Session Basic // Cookie, Session, 인증, Web hacking 문제 분류 난이도 : 하 Session-basic 문제는 쿠키와 세션을 통한 인증상태에 관한 문제입니다. 해당 문제에서 제공하는 URL은 /index /login /admin 세가지 입니다. #문제파일 app.py 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 } session_storage = { } @app.route('/').. 2022. 3. 21.
파일다운로드 취약점 예제-1 // Dreamhack, Filedownload취약점 문제 분류 난이도 : 하 파일 다운로드 취약점 예제입니다. flag.py 파일을 획득해야 하는 문제입니다. 오래간만에 들어온 드림핵 사이트에서는 이제 url까지 링크를 해주네요 예전에는 접속 방법도 몰라서 질문하던 사람들도 있었는데 사이트에서는 세 개의 url이 제공됩니다. / - index url 지금 보고 있는 메인화면 /upload - 메모 업로드 화면 /read - 업로드된 메모를 읽어오는 화면 /upload에서는 메모를 작성해 업로드하는 기능을 수행합니다. 업로드되는 메모로 파일 다운로드 취약점 수행이 가능한 코드가 들어가려나 생각해봤지만 제공된 문제파일의 코드를 살펴보면 26번째 줄에서.. 문자가 필터링됨을 알 수 있습니다. 여기서.. 드림핵에서 나온 파일 다운로드 취약점이 자주 발생하는 ur.. 2022. 3. 3.
모의해킹 문제풀이 - 6번(답 포함) - 써니나타스(SuNiNaTaS) // Sql injection, query 문제 분류 난이도 : 하 문제 사이트에 접속하면 5개의 게시글이 보인다. 이 중 waiting, 열공열공 reference! 등 세 개의 게시글은 그냥 있는듯하고 readme랑 hint 게시글을 확인해보자 hint게시글에서는 suninatas 작성자의 글을 읽으라고 나와있다. 딱 봐도 sql injection을 하라는 거 같은데 쿼리가 저렇게 나와있다는 건 왠지 막혀있을 것 같다. 아래 있는 예시 쿼리문부터 넣어봤는데 역시 막혀있다. 인젝션 기본 코드도 안먹힌다 근데 예전에 html 보안에서 배웠는데 인젝션을 막기위해 시큐어 코딩을 주로 인젝션 코드에 들어가는 =나 다른 연산자 기호를 삽입 불가능하게 한다 했는데 이것저것 다 실험해보자 and랑 =의 연산자는 막혀있지만 =와 같은 기능의 like, or은.. 2022. 2. 7.
모의해킹 문제풀이 - 5번(답 포함) - 써니나타스(SuNiNaTaS) // JavaScript, Packer 문제 분류 난이도 : 하 문제사이트에 접속하면 "Check Key Value"라는 메시지와 텍스트 입력 상자만 있다. 힌트가 없으니 F12[개발자도구] 를 통해 소스를 확인해보자 체크해야하는 키 값이 힌트에 나열된 숫자값인듯 하다 ㅋㅋㅋ 값 그대로 넣었으나 당연하게도 안됨... 해시도 아닌거같고,, 난수도 아닌거같고 도무지 뭘 하라는지 모르겠어서 소스코드를 뒤져봤다. 코드내에 자세히 살펴보면 p,a,c,k,e,r 이라는 단어가 있다 사실 자바스크립트가 생소해서 저 단어를 보고도 뭔지 몰랐는데 자바스크립트의 기능중에 패커라는 기능으로 소스코드를 축소함과 동시에 보호하기 위한 기능이라고 한다. 즉 위에 packer라는 문자열이 들어간 코드는 패킹된 코드로 보호되어야 하는 소스코드라는 의미니 저 코드를 언패킹.. 2022. 2. 3.
모의해킹 문제풀이 - 4번(답 포함) - 써니나타스(SuNiNaTaS) // CTF, Web Hacking, HTTP헤더 문제 분류 난이도 : 중..? 4번 문제는 웹 통신간에 사용되는 패킷의 구조에 대한 이해가 필요하다. 물론 나도 공부를 안 한 지 오래돼서 다 까먹어버려 가지고 위 문제를 어떻게 해결해야 할지에 대해 애를 좀 먹었다. [F12] 키로 개발자 도구를 통해 소스를 살펴보면 힌트가 나와있는데 포인트를 50까지 올리라는 힌트와 SuNiNaTaS 두 가지 힌트가 있다 그리고 plus 버튼을 눌러 포인트를 올려보면.. 25 이상은 올라가지 않음을 알 수 있다. 이런 경우 패킷을 살펴볼 필요가 있다고 생각한다. 패킷 변조가 가능한 버프 스위트[Burp Suite] 를 통해 패킷을 분석해보자 프락시에 잡힌 패킷에 [total] 값이 있는데 이 값이 우리가 plus를 눌러서 증가시킨 값이다 25까지 증가되다가 그 이상 .. 2022. 1. 28.
모의해킹 문제풀이 - 3번(답 포함) - 써니나타스(SuNiNaTaS) // CTF, Web Hacking,관리자 페이지 문제분류 난이도 : 하 문제 사이트에 접속하면 대뜸 화면에 하얀 글씨로 "Notice 보드에 기사를 작성하라" 는 문구만 나와있다. 혹시 몰라서 페이지의 소스코드를 살펴봐도 힌트나 별다른 특이점이 없다. 진짜로 페이지에 까만 화면만 띄우는 사이트다. 써니나타스 홈페이지에는 위에 나와있는 별도의 메뉴가 존재하는데 이중 글을 작성가능한 게시판 항목은 [NOTICE] 와 [FREE] 두 곳만 글 작성이 가능한 게시판이다. 먼저 [NOTICE] 게시판을 둘러봤는데 관리자용 게시판인듯 글 작성 권한이 없었다. [FREE] 게시판은 자유게시판인지 일반 사용자들도 글 작성 권한이 있었다. 원래 URL 변조를 통해 관리자 즉 [NOTICE] 게시판 사용은 막혀있어야 하지만 느낌상 뚫려있을 듯 하다. 위 [FREE] 게.. 2021. 8. 15.
모의해킹 문제풀이 - 2번(답 포함) - 써니나타스(SuNiNaTaS) // CTF, Web Hacking, 자바스크립트 인증우회 문제분류 난이도 : 하 Level 2번 문제에 들어와보니 ID와 PW값 입력 화면을 보여준다. 누가 봐도 계정값을 이용하라는 의미인것 같다. Injection을 해야되는 건지 아니면 인증우회가 필요한건지 크롬을 통해 소스를 한번 살펴보자 힌트가 적혀있는데 ID와 PW가 동일하다는 뜻일까? 먼저 값을 아무렇게나 입력해보자 ID : 1234 PW : 1234 값을 동일하게 입력해보면 alert 메시지가 뜨는데 여기서 ID와 PW를 다르게 입력해보면 alert 메시지가 발생하지 않는다 즉 ID와 PW 값이 같다는 힌트와 메시지가 발생하는 순간에 인증우회를 해보자. 버프스위트를 통해 헤더를 확인해본 결과 자바스크립트 인증우회를 위한 문제인것같다. 아래 ID 와 PW값이 전달되는걸 볼 수 있는데 이 값을 변조해주.. 2021. 8. 15.
300x250