DoR@Hee의 끄적끄적
오픈스택에서 코드를 통해 ex) python을 통해서 api call을 할 때 token 발급을 통해 api 요청을 함 방법은 여러가지가 있지만 그중에서도 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "id": "ee4dfb6e5540447cb3741905149d9b6e", "password": "devstacker" } } }, "scope": { "system": { "all": true } } } } 위 방식으로 token을 요청해서 사용하였음, 근데 여기서 문제가 발생하는데 nova, neutron, keyston, glance에 위 방식으로 만든 토큰을 사용하여 api를 요청했을 경우 문제 없이 결과값이..
AWS에서 lambda를 사용하고 Python 패키지를 사용하고 싶을 때 사용하는 방법이다. lambda에 추가 할 python package 목록을 작성한 후 pip install -r file_name.txt -t ./디렉토리를 입력 그 다음 그 디렉터리 자체를 zip로 압축한다 압축을 하면은 다음과 같은 압축 파일이 생길것이다 하지만 여기서 중요한점은 위 사진과 같이 압축을 하면 import 에러가 발생한다 추후에 설명하도록 하겠다 압축은 위 사진처럼 python 디렉토리 아래에 python package 파일들이 있는 것으로 압축을 해야함 만약에 python 디렉터리에 없을 경우 올바르게 업로드해도 다음과 같은 에러가 날 수 있음 올바르게 업로드 하면은 에러가 없음 lambda에는 계층 layer..
aws lambda에서 GCP SDK를 사용 할 때 위 사진과 같은 에러가 발생 할 수 있다. file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth Traceback (most recent call last): File "/opt/python/googleapiclient/discovery_cache/__init__.py", line 36, in autodetect from google.appengine.api import memcache ModuleNotFoundError: No module named 'google.appengine' Traceback (most recent call last): File "/opt/pytho..
1.개요 말 그대로 서버가 없음을 의미 그저, 특정 작업을 수행하기 위해서 컴퓨터를 혹은 가상머신에 서버를 설정하고, 이를 통하여 처리 하는 것이 아님을 의미 그 대신에 BaaS(Backend as a Service), FaaS(Function as a Service)가 존재하며, BaaS는 Firebase, Kinvey가 있으며 Fass에는 AWS Lamda, AZURE Functions, GCP Functions가 존재함 1. FaaS FaaS는 프로젝트를 함수 단위로 쪼개서 함수를 통해 처리하는 방식으로 Faas는 Iaas와 다르게 요청마다 요금을 청구하기 때문에 요금 절약이 가능함 * 주기적으로 실행되게끔 설정 할 수도 있음 * 백엔드 API를 구성 할 수도 있음 장점 1. 비용 : 하루 종일 켜..
사용 환경 : - 서버: 윈도우7 - 환경: xampp v3.2.3 - DB: 10.1.38-MariaDB Load_file 은 서버에 있는 파일을 읽을 수 있는 함수이며 함수 사용 시 파일의 전체경로를 지정해주어야 한다. 만약, 파일이 존재하지 않거나 읽혀지지 않는다면 NULL 를 반환한다. ex)Load_file('파일경로') LOAD_FILE 을 이용 C:\xampp\mysql\bin\my.ini 파일이 있는지 확인 파일을 확인 할 수 있다. LOAD_FILE 을 이용 C:\xampp\mysql\bin\my.inia 파일이 있는지 확인 파일이 없으므로 null 값이 나타는걸 확인 Load_FILE 을 이용한 SQL Injection LOAD_FILE을 이용한 SQL INJECTION을 확인하기 위해..
1. or and 구문을 필터링 하고 있을 경우 - url 인코딩 문자인 %로 우회 - and >> %26%26, && - or >> %7C%7C, || 2. 단순 문자열 필터링인 경우 - preg_match - php 필터링 함수인 preg_match를 사용할 때 char, hex값을 이용한다 - 단 preg_match 정규식을 표현 하고 있을 때 i를 안썻다면 대소문자 구분을 안하기 때문에 "AdMin" 이런식으로 사 용이 가능하다 - char(97,100,109,105,110) - char(0x61646D696E) 2. 단순 문자열 필터링인 경우 - ereg, eregi - 대소문자 구분을 안하기 때문에 대소문자를 이용해 우회 ex) aDmin 3. = 우회 - like >> 1 like 1 - i..
sql injection공격을 진행할 때 단순 문자열을 필터링 하고 있는 경우 문자열을 결합할 경우가 생기는데 방식은 아래와 같다. 1. Mysql - mysql 에서는 문자열을 결합할 때 공백을 이용한다 만약 "admin"이라는 문자열을 필터링하고 있을 경우 ex) 'ad' 'min' 2. Oracle - Oracle 에서는 || 을 이용하며, 만약 "admin"라는 문자열을 필터링하고 있을 경우 ex) 'ad' || 'min' 3. Mssql - Mssql 에서는 + 을 이용하며, 만약 "admin"라는 문자열을 필터링하고 있을 경우 ex) 'ad' || 'min'
select union or 등 등.. 여러가지를 막고 있다 or 구문은 막고있지만 and구문은 안막고 있으며 길이를 알 수 있는 length 문자열을 추출 할 수 있는 substr등은 필터링 하고 있지 않다. 일단 admin으로 인증해보기 위해서 admin' and 1=1 -- 입력 했으며 admin 로그인이 가능했다 문제는 여기서 부터였는데 mysql 에서는 length로 길이를 알 수 있지만 백날 length로 했을 때 길이를 알 수 없었다 그러던중 mysql 이 아닐 수 있다고 생각해서 ms sql 에 길이를 알 수 있는 함수인 len을 이용 길이를 알 수 있었다 그에 따라서 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26..