[dreamhack] CSRF-2
·
W3B H4CK1NG
주어진 페이지를 들어가면 다음과 같은 화면이 나옴vulnflaglogin세 가지 창으로 구성되어 있으며 아래에는 로그인하라는 문구를 확인할 수 있음  vuln 페이지를 들어가면 ' return ''@app.route('/login', methods=['GET', 'POST'])def login(): if request.method == 'GET': return render_template('login.html') elif request.method == 'POST': username = request.form.get('username') password = request.form.get('password') try: ..
[dreamhack] CSRF-1
·
W3B H4CK1NG
해당 페이지는vulnmemonotice flagflag4개의 페이지로 구성됨 #!/usr/bin/python3from flask import Flask, request, render_templatefrom selenium import webdriverfrom selenium.webdriver.chrome.service import Serviceimport urllibimport osapp = 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": "valu..
webhacking.kr / old-1
·
W3B H4CK1NG
코드에 따르면 쿠키 값이 3보다는 크되 4 이상이면 안 됨내가 좋아하는 숫자인 3.14를 넣어보도록 하겠음 ㅎㅎ~ 풀렸습니다 ^_^
[dreamhack] Lecture. XSS
·
W3B H4CK1NG
Client Side 클라이언트 사이드 취약점웹 페이지의 이용자를 대상으로 공격할 수 있는 취약점이용자를 식별하기 위한 세션 및 쿠키 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있음Cross Site Scripting, XSS클라이언트 사이드 취약점공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행하는 취약점이용자가 삽입한 내용을 출력하는 기능에서 발생함공격자: 오리진 권한으로 악성 스크립트 삽입 → 이용자: 방문 → 악성 스크립트 실행 → 정보 탈취XSS 발생 종류종류 설명Stored XSSXSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSSReflected XSSXSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응..
[dreamhack] Lecture. Same Origin Policy, SOP
·
W3B H4CK1NG
SOP동일 출처 정책현재 페이지의 출처가 아닌 다른 출처로부터 온 데이터를 읽지 못하게 하는 브라우저의 보안 메커니즘Origin 구분 방법Origin: 프로토콜, 포트, 호스트로 구성구성 요소가 모두 일치해야 동일한 오리진https://same-origin.com/ 이라는 오리진과 아래 URL 비교URL 결과 이유https://same-origin.com/frame.htmlSame OriginPath만 다름**http://**same-origin.com/frame.htmlCross OriginScheme이 다름https://cross.same-origin.com/frame.htmlCross OriginHost가 다름https://same-origin.com:1234/Cross OriginPort가 다름S..
[dreamhack] simple sqli
·
W3B H4CK1NG
상단 바에 Home, About, Contact가 있지만 실제 페이지는 Login만 존재  데이터베이스 파일명을 database.db로 설정userid, userpassword가 각각 guest, guest인데 admin의 경우에는 {binascii.hexlify(os.urandom(16)).decode(“utf8”)}: 랜덤 16바이트 문자열을 16진수로 표현하도록 되어있다.  POST 메소드 요청 전달한 경우, users 테이블에서 입력한 userid와 userpassword가 일치하는 정보를 불러온다. 존재하면 로그인할 계정을 해당 쿼리 결과에서 불러와 사용하고 존재하지 않으면 wrong 메시지 출력로그인하는 계정이 관리자 계정이면 flag 출력, 아니면 hello 출력 해결 방법 - SQL inj..