24-2 SISS
-
[SISS/C언어 스터디] 2학기 9주차 스터디24-2 SISS/C언어 2024. 11. 20. 12:00
자율 2문제를 풀어서 제출하면 됩니다.언어는 C언어만 가능합니다.레벨 제한사항: Silver 5 이상 14499구현 → 문제에 주어진 좌표와 이동 방법을 구현한 코드 작성// 14499.c#include #define TOP 1#define BOTTOM 6int N, M, x, y, K;int board[20][20];int dx[] = {0, 0, 0, -1, 1}; // x 변화 (동, 서, 북, 남)int dy[] = {0, 1, -1, 0, 0}; // y 변화 (동, 서, 북, 남)int dice[7]; // 주사위 면int diceFlow[][4] = { {}, {4, 6, 3, 1}, // 동 -> 1 {1, 3, 6, 4}, // 서 -> 2 {6, 5, 1, 2},..
-
[SISS/웹해킹 스터디] 2학기 9주차 스터디 - File Vulnerability24-2 SISS/웹해킹 2024. 11. 17. 14:20
: 9주차 11/18 ~ 11/24 [드림핵] File Vulnerability File Vulnerability 개요파일 공유 서비스데이터베이스보다 서버의 파일시스템에 저장하는 것이 개발 및 관리에 용이임의 파일 다운로드, 임의 코드 실행 등의 취약점 발생파일 업로드 취약점, 파일 다운로드 취약점 파일 업로드 취약점 → 파일을 서버의 파일 시스템에 업로드할 때 발생하는 보안 취약점업로드할 파일의 이름을 임의로 정할 수 있을 경우 발생분류Path Traversal임의의 디렉터리에 파일을 업로드하여 소스 코드나 중요 시스템 파일을 덮어 씀보통의 경우 보안을 위해 특정 디렉터리에만 업로드를 허용../filename 등# 업로드 기능에 Path Traversal 취약점이 있는 코드# f.filename을 검증..
-
[SISS/C언어 스터디] 2학기 8주차 스터디24-2 SISS/C언어 2024. 11. 16. 23:55
자율 2문제를 풀어서 제출하면 됩니다.언어는 C언어만 가능합니다.레벨 제한사항: Silver 5 이상 11758기하 → 외적을 이용하여 세 점의 위치 관계 판별// 11758.c#include // 세 점의 방향을 판별 (외적을 이용)int direction(int x1, int y1, int x2, int y2, int x3, int y3){ // 벡터의 외적을 계산 int result = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1); // 양수일 경우 반시계 방향 if (result > 0) { return 1; } // 음수일 경우 시계 방향 else if (result 11758문자열 → 재등장의 경우..
-
[SISS/웹해킹 스터디] 2학기 8주차 스터디 - Command Injection24-2 SISS/웹해킹 2024. 11. 16. 16:00
: 9주차 11/18 ~ 11/24 [드림핵] File Vulnerability Command Injection내장 함수, 시스템 함수 사용직접 작성보다 간편함수의 인자를 쉘의 명령어로 전달하므로 취약점이 됨 Command Injection특징이용자의 입력(injection)을 시스템 명령어(command)로 실행하게 함명령어를 실행하는 함수에 이용자가 임의의 인자를 전달할 수 있을 때 발생os.system(”명령어”)입력을 소프트웨어의 인자로 전달쉘 지원 메타 문자`명령어` → 명령어 치환(중복 사용 불가)$(명령어) → 명령어 치환(중복 사용 가능)&& → 앞 명령어에서 오류가 발생하지 않을 경우 연속 실행|| → 앞 명령어서 오류가 발생할 경우 연속 실행; → 한 줄에 여러 명령어 사용 시 구분자로..
-
[SISS/웹 스터디] 2학기 8주차 스터디 - MySQL + PHP24-2 SISS/웹 2024. 11. 16. 16:00
: 8주차 11/11 ~ 11/17 [PHP & MYSQL] 13 ~ 21 13. 관계형 데이터베이스의 도입관계형 데이터베이스 → 의미에 따라 테이블을 분리하고, 분리한 테이블을 연결추천 검색어데이터베이스 모델링, 정규화JOINtopic 테이블(author_id 컬럼 추가)과 author 테이블을 연결 14. 많아지는 테이블author 테이블 생성-- 테이블 생성CREATE TABLE author( -> id INT(11) NOT NULL AUTO_INCREMENT, -> name VARCHAR(30) NOT NULL, -> profile VARCHAR(200) NULL, -> PRIMARY KEY(id) -> );-- 생성된 테이블 확인DESC author;-- 데이터 입력I..
-
[SISS/C언어 스터디] 2학기 7주차 스터디24-2 SISS/C언어 2024. 11. 10. 20:15
자율 2문제를 풀어서 제출하면 됩니다.언어는 C언어만 가능합니다.레벨 제한사항: Silver 5 이상 10816이분 탐색 → 주어진 값이 배열에 몇 번 나타나는지 계산// 10816#include #include // qsort에서 사용할 비교 함수int compare(const void *a, const void *b){ return (*(int *)a - *(int *)b);}// target 이상의 값이 처음 나오는 인덱스를 반환int left_side(int arr[], int size, int target){ int left = 0, right = size; while (left = target) right = mid; else ..
-
[SISS/웹해킹 스터디] 2학기 7주차 스터디 - SQL Injecion 실습 + NoSQL Injection24-2 SISS/웹해킹 2024. 11. 10. 20:00
: 7주차 11/04 ~ 11/10 [드림핵] SQL Injection SQL Injection 퀴즈 SQL Injection 실습실습 정보SQLite → 경량화된 데이터베이스 관리 시스템(일부 기능만 지원)목표 → 관리자 계정으로 로그인하여 플래그 획득웹 서비스 분석데이터베이스데이터베이스 스키마 (아래 코드 참고)데이터베이스 구조useriduserpasswordguestguestadmin랜덤 문자열(16 바이트)을 Hex로 표현 (32 바이트)페이지 정보@app.route('/login’) → 메소드 별 다른 기능 제공GET → 로그인 페이지 제공POST → 계정 정보가 DB에 존재하는지 확인(관리자일 경우 플래그 출력)# Login 기능에 대해 GET과 POST HTTP 요청을 받아 처리함@app.r..
-
[SISS/웹 스터디] 2학기 7주차 스터디 - MySQL + PHP24-2 SISS/웹 2024. 11. 9. 21:00
: 7주차 11/04 ~ 11/10 [PHP & MYSQL] 08 ~ 12 8.1. SELECT 사용법 1 SELECT데이터 읽기LIMIT불러오는 개수 제한select.php기본 테이블mysqli_query()실패 시false 반환성공 시(읽기)mysqli_result 객체를 반환 → var_nump($result→num_rows);와 같이 이용 가능current_fieldfield_countlengthsnum_rows// select.php 8.2. SELECT 사용법 2 mysqli_fetch_~ → mysqli를 통해 가져온 데이터 타입을 php에 맞게 변경mysqli_fetch_array(mysqli_result) → 한 행씩 배열과 연관 배열의 형태로 불러옴(없을 경우 NULL 반환)// sel..