목록분류 전체보기 (186)
Iriton's log
문제 파일 zip이 암호화 되어 있다. 암호화를 풀어 주어야 한다. zip의 구조에 대해 먼저 살펴 보자. flag는 0x6 0x7에 있다고 한다. Hxd로 문제 zip을 열어 보자 bit 0 : 암호화 bit 1~2 : 압축 옵션 bit 3 : 데이터 설명자 bit 4 : 향상된 압축해제 bit 5 : 패치 데이터 압축됨 bit 6 : 강한 압축 bit 7~10 : 미사용 bit 11 : 언어 부호화 bit 12 : 예약 비트 bir 13 : 헤더 마스크 값 bit 14~15 : 예약 비트 추가로, 암호화 되지 않는 zip 파일을 Hxd로 열어 확인해 보니 해당 flag 값이 00 00으로 저장되어 있는 걸 확인했다. 그래서 문제 파일도 09 08 에서 00 00 값으로 변경했다. 그래도 암호가 풀리지..
STEP을 단계별로 거치지 않고 임의로 하이퍼링크를 타고 들어가면 위와 같은 문구가 뜬다. 코드 분석 param과 param2가 각각 getget, rerequest이기만 하다면 32번째 줄 조건문을 통과하면서 step2로 넘어간다. prev_step_num(입력값)이 step1_num과 일치해야 조건문에 진입할 수 있다. 전역변수 step2_num은 int.from_byte(os.urandom(16), sys.byteoreder)의 값을 저장한다. 근데 여기선 리턴값이 flag.html이 아니라 step2.html 이라서 뭔 의미가 있나 싶다. prev_step_num에 저장되는 입력값이 step2_num과 일치하고 param과 param2에 저장되는 입력값이 각각 pooost, requeeest이면 ..
코드 분석 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라는 프로그램을 써야 한다고 한다. ..
보호되어 있는 글입니다.