전체 글 47

[Dreamhack] Flying Chars

개발자 모드 켜보면... 날라다니는 글자들의 원본 이미지를 확인할 수 있다. 코드에서 순서까지 알려주기 때문에, 저거 다 순서대로 일일이 메모해서 연결해봐도 되겠지만 좀 더 스마트한 방법을 쓰고 싶은데... 자바스크립트 코드를 수정해서 멈추게 해봤다. 여전히 알아보기가 힘들다.. 그럼 한 줄로 정렬을? ... 더 모르겠다. 그냥 일일이 순서 맞춰서 입력할란다..

Security/WebHacking 2026.07.09

[Dreamhack] image-storage

문제는 이렇게 생겼다. 보아하니 파일 업로드 취약점을 이용하라는데, 사이트에 들어가보면, 파일을 업로드하는 곳이 있다.자고로 파일 업로드 기능이 있다면 그 자체로 취약점의 가능성이 있다고들 하더라..그래서 이걸 이용해서, 웹쉘을 올리는 것을 목표로 잡을 것이다!ai를 이용해서 만든 웹쉘이다.cmd 명령어를 실행할 수 있도록 만들어두었다.이제 이 파일을 업로드해보면,이렇게 뜬다. 보아하니 따로 php 파일 필터링이나 화이트박스를 걸어두지 않은 것 같다.그리고 친절하게도 어디에 저장되었는지까지도 알려준다.수고를 덜었다! 이제 우리는 이 웹쉘의 경로로 가서 웹쉘을 실행시키기만 하면 된다. 그러면 이렇게 뜨는데, 뒤에 cmd 명령어 기능으로 한 번 서버를 뒤적거려보자 ls -al 로 확인해보니 여기에는 아직 f..

카테고리 없음 2026.07.09

[Dreamhack] pathtraversal

요지는 간단하다.문제에선 두 가지를 묻고 있다.burp suite 써봤냐?패킷 변조 해봤냐? 두 가지만 알고 있으면 쉽게 풀 수 있다. 웹사이트로 들어가보면, get user info 페이지가 있다.이미 문제에서 flag가 /api/flag에 있다고 말해줬기 때문에, 우리는 이 경로로 가보기만 하면 된다. 그런데 그냥 들어가면 권한이 없다고 들어갈 수 없다. 그러므로,우리는 저 get user info 페이지를 이용해서 해당 패킷에서 요청하는 내용을 flag가 있는 파일의 위치로 유도할 것이다. burp 로 잡아보면 밑에 userid=0 부분을 변조하면 될 수 있을 것 같다. 저 부분을 현재 위치 폴더를 이탈하고 /api/flag로 이동하도록 수정해주면, flag를 획득할 수 있다.

Security/WebHacking 2026.07.09

[Dreamhack] XSS Filtering Bypass

XSS 문제다. 문제에도 나와있듯이 filtering이 걸려져 있다고 한다.일단 코드를 먼저 뜯어보자... 이걸 보면 우리가 flag 페이지에서 뭔가를 실행하면, 관리자봇의 쿠키 안에 플래그를 넣어주는 것을 확인할 수 있다. 그리고, 이 관리자봇이 read_url 를 통해 check_xss에서 만들었던 vuln 페이지 url로 접속하도록 하고 있는 것을 알 수 있다.그러므로 이 봇의 쿠키를 탈취하는 것이 목적! 또한, 보면 script, on, javascript: 라는 단어를 필터링하도록 되어있다.그럼, 이 단어들을 작성할 때 단어 안에 끼워넣어서 필터링이 안 되도록 만들면 되지 않을까.메모 페이지에 들어가서 얻어온 쿠키를 작성하도록 써두었는데, 필터링 규칙에 맞춰서 수정해보면, 플래그가 잘 출력..

Security/WebHacking 2026.07.02

[Dreamhack] command-injection-1

커맨드 인젝션을 사용하는 문제다. VM을 발급하고 링크에 들어가보면, ping을 보내는 서비스가 구현되어 있다. ping을 날려보면 제대로 잘 간다. command injection의 원리에 따르면, 사이트가 입력값을 제대로 검증하지 않을 시 시스템은 뒤에 있는 명령어까지 다 실행해버리게 된다. 그럼 일단 서버 안에 무슨 파일이 있는지부터 털어보자. 요청한 형식과 일치시키라는 말이 나오는데, 이거는 html안에서 입력값이 설정되어있는 것이다. 개발자 도구를 열어보면 역시나 패턴을 적용시키는 부분이 있다.이 부분을 지워버리면 잘 입력이 된다. 보아하니 flag.py가 보인다. 저걸 열면 될 것 같다. 그렇게 flag.py도 실행시켜서 안에 있는 flag 값을 얻어내었다!사실 문제에 어떤 파일에 fl..

Security/WebHacking 2026.07.02

[DataBase] "EZPC" 개발 프로젝트 후기

몇 주 동안 진행되던 데이터베이스 수업 프로젝트가 끝났다.지난번 자바 프로젝트 진행할 때와 결이 비슷한 듯 하면서도 달라서 역시 이번에도 많은 걸 배워간다. $$$ 우리의 자랑스러운 프로젝트가 궁금하다면 이쪽으로 $$$> https://github.com/2026-Database-Gamerbase/EZPC 내가 맡은 부분은, - ticket, charge, grade 자바 구현 - Login, Sign up, User, Owner 뷰 설계 및 뼈대 구현 - userView, userController 구현 및 연결 - 30일 이상 휴면 회원 및 마지막 로그아웃 시간 조회 쿼리 작성 - 전체 시연 영상 촬영 - 발표 이렇게다. 사실 많은 부분에 있어 AI의 도움을 받았다. 특히 프론트 같은 경우엔 내가 관..

Develop/DataBase 2026.06.06

Fuzzing 기초 1

1. 퍼징 (Fuzzing) 이란 - 비정상적인 데이터를 계속 던져서 프로그램이 언제 무너지는지 관찰하는 자동화 테스트 - 소프트웨어에 무작위이거나 의도적으로 Invalid/Unexpected data를 지속적으로 주입하는 테스팅 기법 - 이렇게 해서 약간 예외 사항이나 알고리즘으로 치면 반례 같은 걸 찾아내는 과정이라고 보면 됨! - 반례 찾아내는 걸 사람 머리도 물론 쓰지만 기계를 써서 (엣지 케이스라는 용어가 있다) 더 빨리 찾아낼 수 있는 게 장점... - 엣지 케이스 :: 개발자 측면에선 최소/최대 경계값을 넣어서 테스트할 때 정상 동작하는지 확인하는 거! +) 코너 케이스는 뭐냐 -> 엣지 케이스는 만족하는데 외부 변수나 특정 조건에서 문제가 발생하는 경우 ... 약간 집..

Security 2026.05.18

[6주차] 뷰, 함수, 프로시져

1. View - 뷰 :: 하나 이상의 테이블을 합쳐 만든 가상 테이블 (실제로 저장 X) - 특정 컬럼만 노출할 수 있는 보안성 기능이 있고 읽기 전용이 기본이다. 1.1. 뷰 생성하기 - 실습 : Book 테이블에서 축구라는 문구가 포함된 자료만 보여주는 뷰 - 뷰 생성문 예제 :: 세 테이블을 조인시켜서 주문 내역을 view로 생성해본다. 안 쓰고 조인 써도 되긴 함.. - 실습 : 주소에 대한민국을 포함하는 고객들로 구성된 뷰 생성 후 조회하는 실습 - 실습 : orders 테이블에서 고객이름과 도서이름을 바로 확인할 수 있는 뷰를 생성하고 김연아 고객이 구입한 도서의 주문번호, 도서이름, 주문액을 나타내기. 1.2. 뷰 수정/삭제하기 - 실습 : vw_customer 뷰에서 영국을 주소로 가진..

Develop/DataBase 2026.04.11

[5주차] SQL 고급 쿼리

1. SQL 내장함수, NULL, 비교문- SQL에도 내장함수가 있다. 상수나 속성 이름을 입력값으로 받아 단일 값을 결과로 반환한다는 특징이 있음.1.1 숫자 함수 - 질의 : +78과 -78의 절댓값 구하기 - 절댓값을 구하는 ABS() 함수를 이용한다- 질의 : 4.875를 소수 첫째 자리까지 반올림한 값을 구하시오. - ROUND() 함수를 통해 반올림한 값을 구할 수 있다. - 아래처럼 ROUND를 이용해서 소수아래자릿수와 소수점 윗자리수를 다 분해해볼 수도 있다.- 질의 : 도서 제목에 야구가 포함된 도서를 농구로 변경한 후 도서 목록을 나타내시오. - REPLACE() 함수를 이용해 문자열을 치환할 수 있다. - 질의 : 굿스포츠에서 출판한 도서의 제목과 문자 수, 바이트 수를 나타..

Develop/DataBase 2026.04.04