일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- BaekJoon
- dreamhack
- WarGame
- C언어
- 자라나는새싹
- 드림핵
- WHS
- 웹해킹
- Web
- command
- CSRF
- Python
- Algorithm
- 백준
- 프로그래머스
- 문제풀이
- injection
- 파이썬
- 스터디
- 워게임
- XSS
- c
- Programmers
- hacking
- 포렌식
- 자라나는 새싹
- 인프런
- 디지털 포렌식
- 풀이
- 알고리즘
- Today
- Total
목록전체 글 (117)
Hoin's security

Rootme의 http cookies 문제를 풀어보았다. 챌린지를 눌러 시작하고 saved email adresses를 누르면 admin이 필요하다고 나온다. 이때 쿠기를 확인해보자. visiteur로 되어있어서 안되는 것이다. visiteur을 admin으로 바꾸고 새로고침 해준다. saved emil adresses를 눌러보자. 유효한 패스워드가 나온다. Root Me Javascript-Authentication 로그인 창이 뜬다. 개발자 도구를 열어 소스코드를 확인해본다. login.js 파일이 있길래 열어본다. 패스워드와 아이디에 대해 정보가 있다. 그대로 입력해본다. 성공적으로 풀었다. Root Me Javascript - Webpack 15포인트 문제다. webpack은 자바스크립트 모듈화 ..

다운로드를 시도하면 test는 다운받아지는데 read me는 다운이 안된다. F12를 눌러 소스코드를 확인하면 text.txt가 download를 띄우고 flag.docx가 Access Denied가 뜨는걸 확인 할 수 있다. dGVzdC50eHQ=를 Base64로 디코딩 해주면 text.txt가 뜬다. 반대로 flag.docx를 인코딩 해주면 ZmxhZy5kb2N4이 나온다. 주소창에 이렇게 입력하면 다운로드가 된다. 이 문제는 admin으로 로그인 하면 admin이 아니라고 뜬다. 소스코드를 확인하니 사이즈가 5라고 한다. name이 id라고 되어있어 한번 입력해봤더니 이렇게 된다. 로그아웃이 안된다. 구글링을 한다. 쿠키를 확인했다. userid가 되어있다. 쿠키값은 원래 값 -> md5 -> ba..

백준 10773번 문제를 파이썬으로 풀어보겠다. 스택은 데이터의 삽입과 삭제가 데이터의 가장 한쪽 끝에서만 일어나는 자료구조로 가장 마지막에 삽입된 데이터가 가장 먼저 사용되거나 삭제된다. 데이터를 삽입하는 과정을 push, 가장마지막에 삽입한 데이터를 삭제하는 과정을 pop라고 부른다. count = int(input()) # 입력받을 총 숫자의 수 stk = [] # 스택 리스트 for i in range(count): num = int(input()) if(num == 0): #num이 0이면 pop stk.pop() #pop()함수는 맨 마지막 원소를 리턴하고 해당 원소는 삭제함. else: stk.append(num) #그게 아니라면 append = push #append() 안에 값을 입력하면..

백준 1978번 문제를 풀어보겠다. 문제는 위와 같다. 소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수를 말한다. 이를 판별하는 방법은 입력받은 숫자를 2부터 입력받은 수-1까지 나누어 보았을 때 나누어 떨어지면 소수가 아닌 것으로 찾는 방법과 에라토스테네스의 체 알고리즘을 사용하는 방법이 있다. 전자는 효율이 떨어지기 때문에(속도가 느림.) 후자를 기준으로 살펴본다. 에라토스테네스의 체는 고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법이다. 이 방법은 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다. 에라토스테네스의 체 알고리즘은 여러 개의 수가 소수인지 아닌지를 판별할 때 사용하는 대표적인 알고리즘이고 N보다 작거나 같은 모든 소수를 찾을 ..

c언어로 풀이한다. 버블정렬을 사용한다. 6주차의 배열문제에서 사용했으니 참고하시길.

이어서 c언어로 풀이를 진행한다. 전의 문제에 쓴 malloc함수를 사용해서 풀이했다.

오늘도 어김없이 C언어로 문제풀이 진행하겠다. 주어진 문제와 코드는 위와 같다. malloc 함수를 사용하려면 이나 헤더를 포함시켜야 하는데 위의 코드에서는 를 사용했다. malloc 함수는 요청한 크기의 메모리를 동적으로 할당하여 반환해준다. malloc은 리턴 값으로 void형 포인터를 리턴한다. 그래서 위 코드에서 int형으로 지정해준것이다.

이어서 C언어로 풀이 진행한다. 주어진 문제와 코드는 위와같다. 파이썬 배울 때 썼던 버블정렬으로 오름차순으로 정렬해준 뒤 중앙값을 찾아주어야한다. 버블정렬은 위와 같은 로직으로 이루어진다. 버블정렬을 해준 뒤 배열의 길이를 2로 나눈 자리의 값을 return해주었다. 오늘도 성공적인 마무리!!