Web Hacking

#!/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이다. x28은 16진수이므로 &#40과 똑같다. 아래 링크에 특수문자를 자세히 정리한 글이 있다. https://johngrib.github.io/wiki/special-chars/ 특수문자 모음 특수문자 검색하다 빡쳐서 작성한 문서 johngrib.github.io
우리가 사용하는 웹 HTTP 프로토콜은 Connectionless와 Stateless하다. 즉, 하나의 요청에 하나의 응답만 하고(Connectionless) 상태를 계속 저장하지 못한다.(Stateless) 그래서 웹 서버는 수많은 클라이언트 등을 구별하기 위해 Cookie와 Session을 사용한다. 1. Cookie (쿠키) 쿠키는 Key와 Value로 이뤄진 일종의 단위로, 서버가 클라이언트에게 쿠키를 발급하면 클라이언트는 서버에 요청을 보낼 때 쿠키를 같이 전송한다. 예를 들어, 드림핵 서버에서 로그인을 해본 후 개발자도구로 확인하 cookie에 sessionid가 추가된 걸 볼 수 있다. 서버는 저 sessionid 쿠키 값을 기반으로 사용자를 인증할 것이다. 이 쿠키값을 그대로 복사해서 다른..
디버그 하라고 한다. 개발자 도구에 있는 script를 갖고오면은 var a = [ "RcOhTDV1Ew==", "McOVwqpRBg==", "c8K/w43DvcK8", "SsOrTCF1CVDCgcKLEsKc", "NsK/w4Bc", "G1TDpwk=", "AcKtwqfDlW7Dsw==", "e3kkcQJfwoNFDEU9", "QMOXDBo=", "w5bCsWlh", "eWY6bg8=", "FnbDoEvDtl1LUkB7w4Q=", "esOZTiPDsg==", "bzfCkFfCtA==", "ZmzDjHcn", "PxLCm3LDvA==", "IcKlVy9pw57DgMK3w6kmwpvCiUnDhcOKw4A=", "LMKnwqECawEeEMOZQsK7wrLCscKpSG1AwqvDvjnDpMKhOSDCqQfDmV..
프레딕
'Web Hacking' 카테고리의 글 목록 (13 Page)