Luv{Flag}
article thumbnail
파이썬 requests 모듈 사용법 정리 (Python requests)
Web/Python 2023. 5. 17. 20:20

. PIP(파이썬 패키지 매니저)를 이용해 설치하고 $pip install requests requests 모듈을 import 하여 사용한다. import requests GET,POST 뿐만 아니라, HTTP Request 옵션 PUT, OPTIONS, HEAD, DELETE 들을 아주 간편하게 지원합니다. r = requests.get('https://exam.com') r = requests.put('https://exam.com', data={'key': 'value'}) r = requests.delete('https://exam.com/delete') r = requests.head('https://exam.com/get') r = requests.options('https://exam.com..

article thumbnail
타임리프(Thymeleaf) 템플릿 엔진 알아보기(1) - 조건문,반복문,기본 문법, 사용법
Web/Java, Kotlin 2023. 3. 10. 15:29

타임리프 소개 타임리프는 서버에서 html을 동적으로 렌더링 할 때 사용하는 템플릿 엔진이다. 간단한 조건문(if, else), 변수표현, 각종 연산(삼항연산, 산수, 비교, 문자, 참 거짓)이 가능하다. 자바에서 잘 알고있는, 브라우저가 인식 할 수 없는 태그라이브러리를 사용하는 JSP와의 가장 큰 차이점은 확장자가 .HTML이며 서버 가동 없이도 순수한 html로서 활용할 수 있다는 점 이다. 앞서 말했듯이 순수 html로 활용 할 수 있어서 쉽게 수정이 가능하다는 장점이 있다. 또한 사용법이 매우 쉬운 편이라 백엔드 개발자가 빠르게 개발 할 일이 있거나, 지나치게 동적이지 않은 웹페이지를 만들때에도 유용하다. 디자이너와의 분업에서도 JSP보다 강점이 있다. 스프링과의 연동성이 뛰어나다는 점도 장점이..

article thumbnail
[MYSQL] MYSQL Shell 초간단 사용법 정리
Web/SQL, NoSQL 2023. 2. 10. 15:32

Mysql Workbench 를 주로 사용하지만, 간단한 작업이나 DB, 테이블을 확인하는 용도 외에도 python / javascript 스크립팅 기능도 제공하고 있다. \connect --mysql root@localhost:3306 명령어로 접속해 준다. JS 기능대신 Mysql 문법이 사용하고 싶다면 \sql \show databases; db를 확인하고 기본으로 사용할 DB를 선택할 수 있다. use dbname; 이후 부터는 기존 mysql 문법으로 Create, Update, Select 등 조작할 수 있다.

article thumbnail
[Spring,Spring boot] Spring 4 shell 취약점 분석 및 재현
Web/Java, Kotlin 2023. 1. 27. 16:44

취약점 발현을 위한 조건 JAVA JDK 9+ Spring Framework 5.3.17 및 5.2.19 이하 버전의 Spring Framework (.war 방식 패키징 ,(.jar X)) SpringMVC 종속성 Apache Tomcat 8.5.77 이하, 9.0.61 이하 및 10.0.19 이하 버전 (외장 톰캣 사용) 매개변수 POJO 방식의 처리 환경 SpringMVC Model, View, Controller 세 구성요소를 사용해 사용에 대한 응답을 처리하는 디자인 패턴 POJO 특정 기술에 종속되어 있지 않은 순수 자바 객체. getter, setter 보유 public class SiteUser { /*사용자 아이디*/ @Id private long id; private String con..

article thumbnail
Content-Security-Policy (CSP) 정책 총정리 (+bypass)
Web/Website security 2022. 12. 1. 14:19

CSP? CSP는 Content-Security-Policy의 약자이며, 하나의 보안 정책이다. 웹 페이지에서 사용될 수 있는 자원의 위치, 출처 등에 제약을 줄 수 있기 때문에, 자체적인 XSS 방어 정책과 곁들인다면 XSS를 매우 효과적으로 방어 할 수 있다. CSP는 Content-Security-Policy HTTP 헤더에 추가하여 적용 할 수 있으며, html 페이지에서 태그를 활용할 수도 있다. SOP와 다르게 룰을 직접 설정하기 때문에, 잘못된 설정은 아무 의미도 없게 되어버릴 수도 있다는 것이다. (= 정책에 따라 bypass 방법이 다양할 수 있다.) 따라서 csp를 올바르게 설정하였는지 검사해 볼 수 있는 사이트도 있으니 참고하도록 하자. https://csp-evaluator.with..

article thumbnail
[SQL] SQL Injection (Union - Based) + information_schema 필터링 우회
Web/SQL, NoSQL 2022. 11. 17. 13:47

UNION BASED SQL INJECTION 이란 여러개에 쿼리문을 사용하여 하나의 데이터로 출력해야되는 경우 사용하는 방법인 UNION 연산자를 이용하여 SQLI를 수행하는 방법이다. SELECT column1, column2 FROM TABLE1 ; UNION SELECT column1, column2 FROM TABLE2 ; 이때 칼럼의 갯수와 데이터의 형식이 같아야 함에 주의한다. 일반적으로 Union based SQLI를 수행하기 위한 절차는 다음과 같다. 칼럼 수 찾기 DB명 찾기 테이블 이름 찾기 칼럼 이름 찾기 원하는 정보 가져오기 직접 쿼리를 작성해 보며 단계를 밟아가 보겠다. mysql> create table query_test ( -> seq int not null auto_inc..

article thumbnail
파이썬 문자열 완전탐색 코드 (Python brute force)
Web/Python 2022. 11. 15. 14:00

from itertools import product import string strings = string.ascii_letters + string.digits for length in range(1, 5):# length 1 to 4 to_attempt = product(strings, repeat=length) for attempt in to_attempt: bruteforce = ''.join(attempt) print(bruteforce) 적절히 커스텀하여 파이썬으로 문자열 brute force를 할 경우 사용하자.

SSRF(Server-Side-Request-Forgery) 를 위한 다양한 URI scheme 정리
Web/Website security 2022. 11. 10. 12:26

본 글은 워게임 문제를 풀던중 다음과 같은 코드에서 시작되었다. if url.startswith("file://"): return 'wrong' #, @, : 등 다양한 character 들로 파서를 우회 한 후 원하는 값으로 위조된 요청을 보내는 방법들 보다 file URI 를 중심으로 서술하겠다. 다음은 공격자가 서버가 연결하는 URL을 제어 할 수 있는 예이다. def url_request(): url = request.args.get('url', '').lower() title = request.args.get('title', '') data = urlopen(url).read() localhost 필터링을 우회하여 어드민 경로(flag 경로)에 접속하는 것 뿐만 아니라 다양한 URI 스키마로 원..

검색 태그

loading