분류 전체보기322 [CCE 2022] reborn of php Write Up 문제 Docker 1. 회원가입 시 id에 입력한 값을 파일 명으로 password에 입력한 값을 데이터로 저장할 수 있습니다. function save_user_id($id, $pw){ chdir('../'); file_put_contents("dbs/{$id}", serialize($pw)); } 2. 이를 통하여 dbs 폴더 내 아래와 같은 파일을 생성하였습니다. 파일명 : ll.php 파일 데이터 : s:5:""; 3. 또한, index.php 파일에서 a, b Parameter를 이용하여 특정 페이지를 include 하는 코드가 존재하고 있습니다. class Controller { private $board = ''; private $action = ''; function __construct(.. 2022. 9. 24. Spring Boot + Kotlin의 모니터링 도구, Spring Actuator, Prometheus, Grafana (2/2) 이전 포스팅에서 Spring Actuator, Prometheus, Grafana에 대해서 설명드렸습니다. Spring Boot + Kotlin의 모니터링 도구, Spring Actuator, Prometheus, Grafana (1/2) Spring Boot에서 Web Application이 정상적으로 동작하고 있는지 확인하기 위해 모니터링을 해야 하는 경우가 있습니다. 이번 포스팅에서는 Sprintg Boot에 설치할 모니터링 관련 라이브러리와 Open Source 기 hacksms.tistory.com 이번 포스팅에서는 실제로 모니터링 시스템을 구축해보겠습니다. Monitoring System 구축 1. 먼저 https://start.spring.io/ 에서 Spring Boot Project를 아.. 2022. 9. 18. Spring Boot + Kotlin의 모니터링 도구, Spring Actuator, Prometheus, Grafana (1/2) Spring Boot에서 Web Application이 정상적으로 동작하고 있는지 확인하기 위해 모니터링을 해야 하는 경우가 있습니다. 이번 포스팅에서는 Sprintg Boot에 설치할 모니터링 관련 라이브러리와 Open Source 기반의 도구에 대해 설명드릴 계획이고 다음 포스팅에서는 실제 구축까지 할 생각입니다. Spring Actuator Spring Boot의 서브 프로젝트로 Spring Boot Application이 제공하는 여러가지 정보를 쉽게 모니터링할 수 있도록 도와주는 라이브러리로써 HTTP나 JMX를 이용하여 모니터링 및 관리할 수 있는 기능을 제공합니다. Prometheus 대상 시스템으로부터 각종 모니터링 지표를 수집하여 저장하고 검색할 수 있는 모니터링 및 알림 도구로 Open.. 2022. 9. 18. [Python] SQLite3 사용 방법 sqlite3 모듈 사용 import sqlite3 메모리를 이용한 Database 사용 con = sqlite3.connect(":memory:") Database File 사용 con = sqlite3.connect('./database.db') Table 생성 cur = con.cursor() cur.execute("CREATE TABLE TestTable(Data1 TEXT, Data2 INTEGER);") Data 삽입 cur = con.cursor() cur.execute("INSERT INTO TestTable(Data1, Data2) VALUES('Test', 1);") cur.execute("INSERT INTO TestTable(Data1, Data2) VALUES(?, ?);",(te.. 2022. 9. 17. Spring에서 Matrix Parameter를 지원함에 따라 발생 가능한 취약점 Matrix Parameter 대부분의 웹 서버에서는 아래와 같은 Query String을 이용하여 Parameter를 처리합니다. Scheme:host:port/path?key=value&key=value https://hacksms.tistory.com:443/write?title=Hello&content=World 이러한 Query String을 대체할 수 있는 새로운 Parameter 방식이 추가되었는데, 이러한 방식을 Matrix Parameter라고 합니다. Matrix Parameter는 반드시 경로의 마지막이 아닌 원하는 위치에 Parameter를 작성할 수 있다는 특징을 갖고 있습니다. Scheme:host:port/path;key=value/path2;key=value https://h.. 2022. 9. 9. [Python] 리스트 내 문자열이 특정 문자열 내에 존재하는지 비교 코드 사전 정보 any() : 인수로 전달된 자료형 중 True가 하나라도 포함되어 있을 경우 True를 반환하는 함수 >>> any([False,False,False]) False >>> any([False,False,False,True]) True 문자열과 리스트 비교 코드 1. 리스트 내 문자열이 단 하나라도 존재하는지 비교 코드 >>> str_list = ["aaa", "bbb", "ccc"] >>> str1 = "Hellow World" >>> if any(str in str1 for str in str_list): print("Find") ... >>> str1 = "Hellow World aaa" >>> if any(str in str1 for str in str_list): print("Find.. 2022. 9. 9. Hash, Salt, Pepper Hash Hash 함수란 임의의 길이를 갖는 데이터를 입력할 경우 고정된 길이의 고유한 데이터로 매핑되는 함수를 의미합니다. 그리고 특정 입력 값에 매핑되는 특정 출력 값을 바로 Hash 라고 합니다. Hash는 여러가지 특징이 존재하지만 그 중 가장 중요한 특징 중 하나로 "Hash 함수를 거쳐 출력된 값을 통해 입력 값을 유추할 수 없다(단방향)"는 점이 있습니다. 이 의미를 조금 더 쉽게 설명하자면, "a"의 Hash 값이 무엇인지는 "a"를 Hash 함수의 인자로 사용함으로써 쉽게 확인할 수 있지만, "a의 Hash 값"을 통해서는 "a"를 유추할 수 없다고 설명할 수 있을 것 같습니다. 그리고 또 다른 주요 특징으로 "입력 값이 조금이라도 변경된다면 출력 값이 크게 달라진다"는 특징도 가지고 있.. 2022. 9. 6. Debugging 시 Jquery.js에서 무한으로 멈추는 문제 해결 방법 (Infinity Debgguer Paused) Chrome에서 취약점 진단을 위해 Debugging 기능을 사용하였을 때 jquery*.js 파일에서 무한으로 디버깅이 멈추는 현상이 발생했습니다. 이 전에도 해당 서버에서 디버깅을 잘하고 있었기 때문에 갑자기 이런 현상이 발생해서 매우 당황스러웠고... 사실 아직도 명확한 이유에 대해서는 알 수 없지만, 일단 임시방편으로 해결했던 방법은 다음과 같습니다. 계속 디버깅이 잡히는 Line에서 오른쪽 클릭을 한 뒤, "Add script ot ignore list" 버튼을 클릭하면 해당 페이지에서는 더이상 Debgguer Paused 현상이 발생하지 않았습니다. 물론 이 방법은 아예 페이지 자체를 Debugging List에서 제거하는 방법이기 때문에, 해당 페이지 안에 Debugging 하고자 하는 Br.. 2022. 8. 31. [Netfilter] MITM Tool With netfilter_queue ARP Spoofing과 IP Spoofing을 이용하여 MITM을 걸 수 있는 Tool을 개발하였습니다. 해당 Tool의 경우 공격자 (A-1), 외부 공격자 서버(A-2), 피해자(B), 통신 서버(C)로 환경이 구성되어 있을 경우 아래와 같이 동작합니다. ※ B C 통신을 B A-2 통신으로 변경할 수 있음 준비 과정 1. ARP Spoofing Tool 준비 ※ 저는 아래 포스팅에 있는 코드를 사용하였습니다. [Python Scapy] ARP Spoofing 구현 ARP Spoofing ARP Spoofing이란 ARP(Address Resolution Protocol)를 이용하여 공격 대상에게 공격자를 Gateway와 같은 다른 대상으로 속여 중간에서 패킷을 가로챔으로써 도청하거나 조작이 가능한.. 2022. 8. 28. 이전 1 ··· 8 9 10 11 12 13 14 ··· 36 다음