전체 글324 [CCE 2022] blue archive Write Up 문제 Docker blue archive - web.zip Dropbox를 통해 공유함 www.dropbox.com 해당 문제의 경우 시간 안에는 풀지는 못했지만, 이후 Docker File을 이용하여 Flag를 획득한 문제 입니다. 돌이켜보면, 충분히 풀 수 있었던 문제인데 조급하게 다가갔던 것 같습니다. ㅠㅠ 1. 해당 문제는 URI를 입력하면 headless Browser로 접속을 시도한 뒤, Rendering된 화면을 캡쳐 후 보여주는 서비스가 구현되어 있습니다. 2. 이때 사용자가 입력한 URI는 반드시 http 또는 https로 시작해야 합니다. router.post('/archiveSave', async (req, res) => { const { url } = req.body; if (typ.. 2022. 9. 25. [CCE 2022] BabyWeb Write Up 문제 Docker 1. 입력 창에 url을 입력하여 전송할 경우 url.parse 함수를 통해 hostname을 추출한 뒤, hostname이 flag.service일 경우 Not allow를 리턴하고 아닐 경우에 valid_ip 함수를 통해 해당 도메인이 내부 IP인지 확인하고 있는 것을 확인하였습니다. def valid_ip(ip): try: ip = socket.gethostbyname(ip) is_internal = ipaddress.ip_address(ip).is_global if(is_internal): return False else: return True except: pass try: url = request.form['url'] result = urllib.parse.urlparse(u.. 2022. 9. 24. [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. 이전 1 ··· 8 9 10 11 12 13 14 ··· 36 다음