p1n9
p1n9 library

전체 글

개발, 해킹, CTF, 알고리즘, 컴퓨터 과학 등 컴퓨터 지식을 같이 공유하고자 만든 블로그입니다!!
Algorithm & Data Structure/Problem

[Problem] 최대값

최대값 HTML 삽입 미리보기할 수 없는 소스 Problem HTML 삽입 미리보기할 수 없는 소스 정수 두 개를 입력받아서 더 큰 값을 출력하는 프로그램을 작성하시오. 이를 위해 getMax(a, b)함수를 완성하시오. getMax함수는 두 개의 정수 a, b를 입력받아 더 큰 수를 반환하는 함수다 입력 형식 32비트 int형 정수 두 개가 공백으로 구분되어 한 줄에 주어진다. 출력 형식 두 정수 중 큰 정수를 한 줄에 공백없이 출력한다. Solve HTML 삽입 미리보기할 수 없는 소스 import java.lang.*; import java.util.*; import java.io.*; public class Main { public static final Scanner sc = new Scanne..

CTF/Web

[LINE CTF] double check

보호되어 있는 글입니다.

Hacking/Web

[Web Hacking] Thymeleaf SSTI

Thymeleaf SSTI HTML 삽입 미리보기할 수 없는 소스 Thymeleaf HTML 삽입 미리보기할 수 없는 소스 타임리프(Thymeleaf)는 Spring의 뷰 템플릿이다. 컨트롤러가 데이터를 전달하면 동적으로 화면을 구성할 수 있게 도와준다. SSTI를 알아보기 전에 Thymeleaf에 대해 알아보자 사용법 Thymeleaf를 사용할려면 xormdp th:text , th:fragment, th:block 등 과 같이 속성과 비슷하게 생긴 것이 온다. 표현식 변수 표현식 : ${} 선택 변수 표현식 : *{} 메시지 표현식 : #{} URL 표현식 : @{} 단편(Fragment) 표현식 : ~{} Thymeleaf SSTI HTML 삽입 미리보기할 수 없는 소스 Thymeleaf뿐만 아니라..

Hacking/Web

[Web Hacking] Java Reflection(feat. SSTI)

Reflection HTML 삽입 미리보기할 수 없는 소스 Reflection이란? HTML 삽입 미리보기할 수 없는 소스 Reflection은 구체적인 클래스 타입을 알지 못해도 그 클래스의 메서드, 타입, 변수들에 접근할 수 있는 java의 API이다. Java는 컴파일 언어라서 런타임 도중 클래스나 메소드를메서드를 가져오지 못하는데 Reflection을 이용하면 클래스나 메서드를 호출할 수 있다. SSTI CTF를 풀다가 나와서 정리를 해본다. 임의의 클래스 가져오기 "".getClass(); // 임의의 클래스를 가져온다. 클래스 로드 Class.forName("java.util.Scanner"); "".getClass().forName("java.util.Scanner"); 생성자 설정 Clas..

Hacking/Web

[Web Hacking] URL 구조

URL 구조 HTML 삽입 미리보기할 수 없는 소스 URL HTML 삽입 미리보기할 수 없는 소스 Scheme scheme은 Protocol을 의미한다(ftp, ssh, http, https..) file scheme도 있는데 file scheme은 소유자의 file을 찾기 위한 구조이다. file://host:port/path와 같은 형식으로 이루어져 있다. host:port를 생략하면 file:///path(local을 의미)와 같이 사용할 수 있다. User:Pass ssh를 접속할 때 @를 사용하여 사용자:[패스워드]@host 형식으로 주소를 지정한다. @앞의 부분을 username : password로 인식하고 @뒷 부분을 host로 인식한다. 이러한 특징으로 URL 필터링을 우회할 때도 사용된..