#!/usr/bin/python3import hashlib, os, binascii, random, stringfrom flask import Flask, request, render_template, redirect, url_for, session, g, flashfrom functools import wrapsimport sqlite3from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import Byfrom promise import Promiseapp = Flask(__name__)app.secret_key = os.urandom(32)DAT..
분류 전체보기
Command Injection은 명령어를 실행하는 함수에 이용자가 임의의 인자를 전달할 수 있을 때 발생한다.아래는 여러가지 Command Injection 기법이다. 1. ``명령어 치환 `` 안에 들어있는 명령어를 실행한 결과로 치환한다.$ echo `echo a` => a 2. $()명령어 치환 $() 안에 들어있는 명령어를 실행한 결과로 치환한다.$ echo $(echo a) => a 3.&&명령어 연속 실행한줄에 여러 명령어를 사용하고 싶을때 사용한다.앞 명령어에서 에러가 발생하지 않아야 뒷 명령어가 실행된다. $ echo hello & echo hi => hello hi 4. ||이것도 연속실행인데 앞 명령어에서 에러가 발생해야 뒷 명령어가 실행된다.$ cat / || echo hi => /..
먼저 파일을 업로드 하면은 저렇게 time, 자기 ip, file이름이 출력된다.그래서 처음엔 file이름을 이렇게 변조하면 xss공격이 가능하지 않을까 해서 시도해봤는데괄호가 오면은 html인코딩을 해버리고 심지어 '/'가 오면은 '/'앞의 내용을 전부 삭제해버린다.그래서 이 방법은 틀린 것 같고 flag가 다른 테이블에 있다 했으니 sql injection을 의심해보았다. 파일을 업로드 한다 치면은 Insert into table values (time, ip, filename) 이런식 아닐까 했는데 생각해보니 time, ip, filename이 바뀌어서 들어갈 수도 있었다.그래서 여러가지 시도해보았다. 1. time, ip, filenamef')이렇게 하면 filename이 마지막으로 오게 하니 시..
보호되어 있는 글입니다.
보호되어 있는 글입니다.