-
[SISS/웹해킹 스터디] 25-여름학기 4주차 스터디 - 심화 문제 분석 225-여름 SISS/웹해킹 2025. 7. 12. 20:30
: 4주차 (7/14~7/20) 심화 문제 분석 2 문제 선정은 자율 Lab: Blind SQL injection with conditional responses메인 아이디어Burp Suite를 사용하여 패킷을 가로채 TrackingId를 조작 1. 참/거짓에 따른 결과참일 경우 → 'AND '1'='1거짓일 경우 → ‘AND ‘1’=’2 2. 테이블 및 계정의 존재 확인users 테이블 존재 확인administrator 계정 존재 확인더보기// users 테이블 존재 확인' AND (SELECT 'a' FROM users LIMIT 1)='a // administrator 계정 존재 확인' AND (SELECT 'a' FROM users WHERE username='administrator')='a 3..
-
[SISS/웹해킹 스터디] 25-여름학기 3주차 스터디 - 심화 문제 분석 125-여름 SISS/웹해킹 2025. 7. 12. 15:30
: 3주차 (7/7~7/13) 심화 문제 분석 1 문제 선정은 자율 Lab: Blind SQL injection with conditional errors메인 아이디어Burp Suite를 사용하여 패킷을 가로채 TrackingId를 조작 1. 참/거짓에 따른 결과참일 경우거짓일 경우 2. 테이블 및 계정 존재 확인users 테이블 존재 확인 → 존재administrator 계정 존재 확인 → 존재 3. 비밀번호 알아내기비밀번호 길이 알아내기더보기// 비밀번호 길이 '||(SELECT CASE WHEN LENGTH(password)=1 THEN TO_CHAR(1/0) ELSE '' END WHERE username='administrator')||'비밀번호 알아내기더보기// 비밀번호 '||(SELECT C..
-
[SISS/C언어 스터디] 25-여름학기 3주차 스터디 - 동적 계획법25-여름 SISS/C 2025. 7. 12. 15:30
2학년 : Silver 5 이상, 3~4학년 : Silver 3 이상자율 2문제를 풀어서 제출하면 됩니다. 10844 동적 계획법#include #define MOD 1000000000long long d[101][10]; // d[i][j]: i자리 수에서 마지막 자리가 j일 때의 경우의 수int main() { int N; scanf("%d", &N); // 초기화: 한 자리 수는 1~9만 가능 (0은 제외) for (int i = 1; i 2156동적 계획법#include #define MAX 10010int arr[MAX], d[MAX]; // arr[i]: i번째 포도주 양, d[i]: i번째까지 마셨을 때 최대 양// 세 수 중 최대값을 반환int max3(int a, ..
-
[SISS/C언어 스터디] 25-여름학기 2주차 스터디 - 깊이/너비 우선 탐색25-여름 SISS/C 2025. 7. 5. 20:15
2학년 : Silver 5 이상, 3~4학년 : Silver 3 이상자율 2문제를 풀어서 제출하면 됩니다. 24479깊이 우선 탐색#include #include #include #define MAX 200001// 연결 리스트 노드typedef struct Node { int vertex; struct Node* next;} Node;Node* graph[MAX]; // 인접 리스트bool visited[MAX]; // 방문 여부int result[MAX]; // 방문 순서 저장int order = 1; // 순서 카운터int n, m, k;// 노드를 그래프에 추가void add_edge(int u, int v) { Node* newNode ..
-
-
-
[SISS/C언어 스터디] 25-여름학기 1주차 스터디 - 다이나믹 프로그래밍25-여름 SISS/C 2025. 6. 28. 22:00
2학년 : Silver 5 이상, 3~4학년 : Silver 3 이상자율 2문제를 풀어서 제출하면 됩니다. 11054다이나믹 프로그래밍// 11054.c#include int A[1000]; // 입력 배열int len1[1000]; // 왼쪽에서부터 증가하는 부분 수열 길이 저장int len2[1000]; // 오른쪽에서부터 증가하는 부분 수열 길이 저장int max(int a, int b) { return (a > b) ? a : b;}int main() { int N, i, j, ans = 0; scanf("%d", &N); // 수열 입력 for (i = 0; i A[j]) { len1[i] = max(len1..
-