본문 바로가기

모의해킹18

webhacking.kr - old 01번 문제풀이 들어가기 전 적는 글 아침부터 Criminal IP로 API에 대한 공부를 했다. 나름 공부는 했지만 포스팅할정도의 실력까지는 미치지 못해서 취약점 분석을 하며 느꼈던 해킹 코드에 대한 숙련도 부족을 채우기 위해 가장 기초적인 webhacking.kr old부터 다 해결하고 다음은 리뉴얼된 webhacking.kr 그다음 툴을 사용하는 PortSwigger 다음은 문제 자체가 조금 수준 높은 dreamhack.io에서 공부를 진행하려고 한다. 그런다음 API와 Python 심화 공부를 할듯 https://webhacking.kr/chall.php >> Old - 01 : 가장 기초적인 쿠키 변조 Level 표시와 Sourece 표기 하이퍼링크가 있습니다. 2023. 2. 9.
드림핵 문제풀이 - Carve party // 웹 해킹 기초, JavaScript 문법기초, JavaScript 함수 난이도 : 하하 Dreamhack CTF Season 1 Round #2에 출제된 문제라고 합니다. 저는 드림핵에서 나오는 웹 해킹 로드맵을 쭉 따라가다가 에필로그에서 풀게 되었습니다. 문제 서버가 제공되지는 않고 문제 파일만 다운로드합니다. . html 파일 하나만 다운로드됩니다. 파일을 웹으로 열어보겠습니다. ?? 맨 아래를 보면 10,000번을 클릭해야 한다고 합니다. 클릭해봅시다. 30번가량 클릭하니 잭 오 랜턴 입이 보입니다. 정말 1만 번을 클릭해야 하나 봅니다. 처음엔 어떻게 풀어야 하나 머리가 안 돌아가더라고요 그래서 별 생쇼를 다했습니다. 먼저 jack-o-lantern.html 파일을 플라스크에 템플릿으로 넣고 웹 서버를 하나 돌린 후에 selenium으로 오토 클리커를 만들기도 했는데.. 2022. 8. 2.
드림핵 문제풀이 - 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.
파일다운로드 취약점 예제-1 // Dreamhack, Filedownload취약점 문제 분류 난이도 : 하 파일 다운로드 취약점 예제입니다. flag.py 파일을 획득해야 하는 문제입니다. 오래간만에 들어온 드림핵 사이트에서는 이제 url까지 링크를 해주네요 예전에는 접속 방법도 몰라서 질문하던 사람들도 있었는데 사이트에서는 세 개의 url이 제공됩니다. / - index url 지금 보고 있는 메인화면 /upload - 메모 업로드 화면 /read - 업로드된 메모를 읽어오는 화면 /upload에서는 메모를 작성해 업로드하는 기능을 수행합니다. 업로드되는 메모로 파일 다운로드 취약점 수행이 가능한 코드가 들어가려나 생각해봤지만 제공된 문제파일의 코드를 살펴보면 26번째 줄에서.. 문자가 필터링됨을 알 수 있습니다. 여기서.. 드림핵에서 나온 파일 다운로드 취약점이 자주 발생하는 ur.. 2022. 3. 3.
스캐닝 도구 - Sparta | Kali Linux | Port, nmap, nikto 구분 : 액티브 스캐닝 도구 : 칼리 리눅스 [Hacking] - 첫 단계 정찰 패시브 스캐닝 정보수집 모의해킹을 위한 첫번째 단계는 정보수집(정찰) 개 중 스캐닝이라는 기술을 통해 해킹에 필요한 정보를 수집하는데 스캐닝의 종류는 패시브&액티브 두 가지 스캐닝이 존재한다 패시브 hobbylists.tistory.com 스캐닝이란 해킹의 가장 기초가 되는 단계로 해킹 대상의 정보와 취약점 파악을 하는 구간이다. 스캐닝 방법에는 개인 수준별 다양한 방법과 그걸 가능케 하는 도구들이 존재하는데 그중 칼리 리눅스의 sparta라는 도구는 Nmap, Whatweb, Nikto 그외 ssh, telnet 클라이언트 접속 등 다양한 도구를 이용해 종합적인 스캐닝을 지원한다. 사용법 칼리 리눅스 터미널에서 sparta.. 2022. 2. 24.
모의해킹 문제풀이 - 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.