본문 바로가기

전체 글377

webhacking.kr 17번 문제 풀이 소스에 힌트가 있을까 싶어서 f12를 눌러 소스를 확인했다. 스크립트 부분을 보니, 내가 입력한 value 값과 unlock 값이 동일하면 문제가 풀리는 것 같았다. unlock 변수를 알아내기 위해 콘솔 창에서 unlock 변수를 출력해보자. >> alert(unlock); 입력 unlock 변수는 7809297.0이라고 한다. lock 변수에 넣어서 확인해보자. 풀렸다. 2020. 7. 15.
webhacking.kr 39번 문제 풀이 핵심인 php 부분만 캡쳐해왔다. 먼저 str_replace 함수가 있다. \\는 없는 문자 취급하고, '(싱글쿼터)는 ''(싱글쿼터 2개)로 취급한다. 그리고 POST로 받아온 id값을 0부터 15번째까지 자르고, 그중에서 또 id길이가 14 미만 이어야 한다고 한다. 쿼리문을 자세히 보면 id=' 하고 '(싱글쿼터)가 닫히지 않는 것을 볼 수 있다. 우리는 이 싱글쿼터를 닫아주고, 길이가 14 미만인 id 값을 입력하자. 싱글쿼터를 닫아줘야하므로 15번째에 '를 넣으면 15번째, 16번째 자리가 ''로 치환되지만, 15번째에서 id를 자르기 때문에 결과적으로 싱글쿼터 한 개만 들어가게 된다. 1 ' 를 입력해주었다. 풀었다. (문제풀이용으로 캡쳐하느라 이미 푼 문제라고 뜬것임.) 2020. 7. 15.
[HackCTF] web 3번. Button 버튼으로 하여금 플래그를 출력하게 해 준다... 버튼을.. 플래그로...? value 속성의 값을 flag으로 바꾸고, 변경된 flag 버튼을 클릭하면 플래그가 뜬다. 2020. 7. 12.
[HackCTF] web 2번. hidden 무작정 눌러보았다. id값이 넘어가면서 스크립트가 뜬다. 5번 파일에 플래그가 있다고 하니깐 id=5를 넘겨줘볼까.. 플래그가 나왔다. . . . 조금 어렵게 한번 풀어볼까... 소스를 추가해준다. 5번 버튼이 생겼고, 이제 누르면 똑같이 id=5가 넘어가면서 스크립트에 플래그가 적혀있겠지? 해결! 2020. 7. 12.
[HackCTF] web 1번. / robots.txt가 떠오른다. 들어가 보자. robots.txt에 들어갔더니 /robot_flag/ 에 들어가지 말라고 한다. 들어가야 할 거 같다. 플래그를 찾을 수 있었다. 2020. 7. 12.
[후기] 편의점 인간 - 무라타 사야카 (지극히 주관적으로 쓴 후기입니다.) 내가 느끼기에 사회 부적응자 주인공 이야기 같았다. 주인공이 가진 사고방식이 신기해서 어떤 내용으로 전개될까 호기심을 자극했지만, 마음에 드는 전개와 결말은 아니었다. 주인공과 잠깐 동거 아닌 동거했던.. 그.. 쓰레기 같은 사회 부적응자 남자가 말하는 대사와 행동 행동도 어느 하나 맘에 드는 부분이 하나도 없이 역겨웠지만, 이런 쓰레기 등장인물이 있었기에 주인공의 행동이 극에 치닫고 소설도 나름 좋은 방향으로 끝났다고 생각한다. 주인공의 사고방식을 이해못하는 것도 있고, 본인이 추구하는 삶을 사는데 남의 시선이 무엇이 필요한가 라고 생각한다. 물론 그렇게 쉽지만은 않고 현실도 바라봐야 하기에, 적당히 타협하면서 타인을 신경 쓰지 말고 살자. 총점 : 5점 만점에 2.. 2020. 7. 1.
[이산수학] 정규언어, 정규표현 Finite State Automaton A = (Q, ∑, δ, q0, F) - DFA δ : Q x ∑ -> Q - NFA δ : Q x ∑ -> 2^Q // 멱집합(다음 상태가 없거나, 또는 여러 개) NFA는 사람에게 편하다 -> 컴퓨터 DFA로 변환할 수 있다. (=> 두 오토마타가 인식하는 스트링 집합은 동일하다.) Subset Contrauction algorithm : NFA -> DFA - Q^d = 2Q //상태 집합 - ∑^d = ∑ //입력 기호 집합 - q0^d = {q0} //초기 상태 - F^d = {S∈Q^d | S∩F≠공집합} // 승인 상태 집합 - δ^d : Q^d x ∑ -> Q^d는 상태 전이 함수이다. // 상태 전이 함수 NFA를 DFA로 변환하시오 1) NFA .. 2020. 6. 2.
[이산수학] 유한상태 오토마타(FSA)의 종류, NFA와 DFA > 언어, 문법, 오토마타의 관계를 이해해야 한다. 언어는 문자열들을 정의 -> 문법은 언어에 속한 문자열들을 생성 -> 오토마타는 문자열들을 승인 자연어? 정형언어? 우리는 c, java와 같이 기계 처리를 할 수 있는 정형 언어를 배울 것이다. 언어란? 문자열들의 집합이다. ∑를 기호들의 집합이라고 한다. ∑*는 그럼 모든 문자열의 집합이다. 언어 L∈∑*이다. (*는 공집합까지 포함하므로 λ∈∑*로 표현할 수 있다.) 정규문자의 존재? ∑ = {a,b} L1 = {(ab)ⁿ | n≥0}= (ab)* L2 = {aⁿ | n≥0} = a* L3 = {aⁿbⁿ | n≥0} ≠ (a*b*)이기 때문 // 정규 표현 부재 언어의 결합 두 언어 L1과 L2의 결합 L1L2는 {uv | u∈L1, v∈L2} Q.. 2020. 5. 20.
[이산수학] 님(nim) 게임 > (게임 규칙) - 여러 그룹이 존재 - '나'부터 시작 - 1개 혹은 전부를 제거 가능 - 최소 하나 이상의 돌이 제거 - 마지막 돌 제거하는 사람이 진다. (게임은? Botton-up 방식으로 진행) // 단말노드에서 루트 노드로 1단계 : 단말 노드에 값 배정 2단계 : Min-Max 적용을 위해 위 노드의 값을 반복하여 정한다. 3단계 : 루트 노드가 +1이면 승리, -1이면 패배 4단계 : 1에 기여한 경로가 승리 전략이다. (예제 1) 위 그림은 앞서 이야기했던 게임 규칙을 적용해 (221)개의 돌이 있을 때, 트리를 그린 것이다. 이것을 보면서 (221)개의 돌이 있을 때 게임의 승리 전략을 알아보자. 트리에서 네모(나), 동그라미(상대방)를 의미한다. 마지막 노드가 내 차례라면, 돌이 1.. 2020. 5. 14.