목록전체 글 (184)
Iriton's log

코드 분석 16: 요청 폼에서 입력값을 input_val 변수에 저장한다. 17: match()함수를 이용하여 입력값(input_val) 문자열 시작이 첫 번째 인자의 정규표현식과 일치하는지를 m에 저장한다. 18-19: m이 0이 아닐 때. 즉 17 match 함수에서 일치한다는 결과가 나와야 flag값을 띄운다. 문제 풀이 정규표현식 참고 자료 08-2 정규 표현식 시작하기 [TOC] ## 정규 표현식의 기초, 메타 문자 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. > 메타 문자란 원래 그 문자… wikidocs.net 'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+' 해당 정규 표현식을 풀이해 보자. * 정규 표현식은 메타 문자를 사용하여..

참고 자료 위상정렬 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 위상 정렬(topological sorting)은 유향 그래프의 꼭짓점들(vertex)을 변의 방향을 거스르지 않도록 나열하는 것을 의미한다. 위상정렬을 가장 잘 설명해 줄 수 있는 예 ko.wikipedia.org 위상정렬(Topological sorting) 유향 그래프의 꼭짓점(vertex)들이 변(side)의 방향을 거스르지 않도록 나열하는 것이다. 알고리즘 1. 자기 자신을 가리키는 변이 없는 꼭짓점을 찾는다. 2. 찾은 꼭짓점을 출력하고 출력한 꼭짓점과 그 꼭짓점에서 출발하는 변을 삭제한다. 3. 아직 그래프에 꼭짓점이 남아 있으면 단계 1로 돌아가고, 아니면 알고리즘을 종료한다. 이해를 위해 사진과 함께..

Greedy Algorithm 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최선이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종 해답에 도달하는 알고리즘이다. 참고자료 탐욕 알고리즘 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 탐욕 알고리즘은 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나 ko.wikipedia.org 최적해를 구하기 위한 조건 1. 탐욕스런 선택 조건(greedy choice property): 앞의 선택이 이후의 선택에 영향을 주지 않는다는 것 2. 최적 부분 구조 조건(optimal substructure): 최적해가 부분문제에 대해서도 최적해라는 것 ..

빈도 분석을 이용하여 생성한 암호문을 평문으로 바꾸라고 한다. 코드를 짜서 해결해도 되지만 찾아 보니 빈도 분석 디코딩 사이트가 있었다. https://quipqiup.com/ quipqiup - cryptoquip and cryptogram solver quipqiup.com solve 버튼을 누르면 자동으로 평문을 띄워 준다. 읽을 수 있는 평문을 골랐다. kimyuna를 입력하면 문제 해결

Solution Key 가 주어졌긴 한데 자에 의해 일부분 가려졌다. 이미지를 다운받아서 속성을 먼저 살펴 보았다. 별 다른 건 없지만 파일 크기가 꽤 크다. 밝기 조절을 해야 하나(그럴 리가...) 어떻게 해야 하나 고민했는데, 풀이가 두 가지가 있었다. 풀이 1. 우선 HxD로 파일을 열어 보자. 맨 앞에 FF D8 FF는 jpg의 시그니처 코드이다. monitor.jpg의 헥사 코드를 잘 보다 보면 위와 같이 jpg 시그니처 코드가 한 개만 있지 않다. 즉, 두 개 이상의 jpg 파일이 겹쳐져 있다. 시그니처 코드를 기준으로 코드를 분리하여 저장하면 다른 이미지를 확인할 수 있을 것이다. (solution key는 풀이 2 마지막에서 확인) 풀이 2. WinHex라는 프로그램을 써야 한다고 한다. ..
보호되어 있는 글입니다.

사이트 분석 host, port, data를 POST 하는 구조인 거 같다. 127.0.0.1 / 8000 / Hello 를 입력했더니 에러가 뜬다. 코드 분석 20. elif 문을 보면 클라이언트 측 메서드가 POST라면, 앞서 살펴본 페이지에서 입력한 값들을 host, port, data에 저장한다. /admin 에서는 조건문에 걸리지 않으면 FLAG 값을 띄운다. 즉, 조건문에 해당하지 않는 값을 전달해야 한다. /socket 을 통해서 입력한 data를 보내주니, 여기로 조건문을 고려한 값을 전달해야 한다. 참고 사이트: https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/POST POST - HTTP | MDN HTTP POST 메서드는 서버로 데이..

문제 파일의 이미지를 정사각형으로 수정하면 풀리는 문제인 거 같다. 이미지를 확인해 보자. HxD 에디터로 png 파일을 열어서 세로 길이를 수정해야 한다. 문제 풀이를 위해 png 파일 헤더 구조의 이해가 필요하다. 맨 처음 부분은 png 파일의 고유 Signature code로 IHDR이다. 우리가 수정해야 할 부분은 이미지 가로 세로 크기이다. 해당 png 파일은 가로(02) 세로(01) 크기가 상이한 것을 볼 수 있다. 세로를 가로와 같이 02로 수정한 뒤 이미지 파일을 열어 보자. 정상적으로 이미지가 복원되었다.