Web Hacking

1. NoSQL (비관계형 데이터베이스) NoSQL은 SQL을 사용하지 않고 복잡하지 않은 데이터를 저장해 단순 검색 및 추가 검색 작업을 위해 매우 최적화된 저장 공간인 것이 큰 특징이자 RDBMS와의 차이점이다. NoSQL의 종류로는 Redis, Dynamo, CouchDB, MongoDB 등 다양한 DBMS가 존재한다. 2. MongoDB MongoDB는 아래와 같은 특징을 가진다. 1. 스키마를 따로 정의하지 않아 컬렉션에 대한 정의가 필요없다. 2. JSON형식으로 쿼리를 작성할 수 있다. 3. _id 필드가 Primary Key 역할을 한다. [SQL] SELECT * FROM inventory WHERE status = "A" and qty < 30; [MongoDB] db.inventory..
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이다. 대표적으론 게시물과 댓글에 악성 스크립트를 포함하여 업로드하는 방식이 ..
프레딕
'Web Hacking' 카테고리의 글 목록 (11 Page)