728x90
728x90
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-6, 코드 분석만 한다면 쉽게 풀 수 있는 문제다. 2. 본론 이번 문제에 접속하면 이런 화면을 볼 수 있을 것이다. ID와 PW를 보여주는 걸로 봐선 저 ID와 PW를 어떠한 값으로 변경해야하는 문제일 듯하다. 이건 이번 문제의 소스코드이다. 우선 코드 상단부부터 보자면, "user"라는 쿠키가 있는지 확인한 후에 없다면 하위 작업을 수행하도록 되어있다. $val_id와 $val_pw라는 문자열 변수가 있는데 이 변수들의 값을 base64로 20번 인코딩한 뒤에 특정한 특수문자들..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-4, 레인보우테이블에 대한 이해와 활용이 필요한 문제이다. 2. 본론 이번 문제를 접속해보면 위와 같은 화면이 나타난다. 뭔가 알 수 없는 방식으로 인코딩 된 듯한 초록색 문자열과 패스워드를 입력하고 제출하라는 Form이 눈에 띈다. 이건 이번 문제의 소스코드이다. 여기서 요점을 보자면 우선 "sleep(1)"을 통해 브루트포스를 방지하는 모습을 볼 수 있다. 이부분에서 알 수 있는 점은 이번 문제에선 반복작업이 매우 많이 필요할 수 있다는 점이다. 그 아랫 부분을 보면 세션변수 ..
1. 서론 필자가 백준 문제를 풀던 도중 귀찮아서 sys.stdin.readline()을 안쓰고 input()을 썼다가 계속 "시간초과"형을 처분받아서 어쩔 수 없이 input()으로 바꾸고 나니 바로 "성공"을 받아버려서, 이참에 input()과 sys.stdin.readline()의 차이점을 정리해보면 괜찮겠다 싶어서 이 포스트를 쓰게 됐다. 귀찮아도 항상 정석을 고수하도록 하자. 2. 본론 원래 Python 3의 input()은 Python 2에서 raw_input()이라고 사용되던 것이 넘어온거다. Python 2에는 input()과 raw_input()이 있었다. Python 2의 input()은 입력된 값의 형태에 따라 알맞은 자료형으로 값을 리턴했는데, raw_input()은 무조건 Stri..
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 9012번 - 괄호: https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 해법 괄호는 항상 열린 후에 닫혀야 하기 때문에 '('를 1, ')'를 -1로 치환하여 모두 합산했을때 0이라면 유효한 VPS, 아니라면 비유효한 VPS이다. 단,..
본 포스팅은 Typescript를 기반으로 작성되었다. Javascript와 문법이 다르지 않지만 차이점이 존재할 수도 있다는 부분을 염두하고 읽기 바란다. 2021.11.21 - [SW/Typescript] - [Typescript] 1. 소개 및 초기 설치 [Typescript] 소개 및 초기 설치 사실 많은 주니어 개발자들이 기본적인 WEB 3 Stack을 통해 간단한 웹앱을 개발하면서 Typescript의 도입 필요성을 느끼진 못했을 것이다. 굳이 그딴거 복잡하게 써봤자 오히려 타입같은거 신경써야 betaman-workshop.tistory.com 1. 서두 이번 포스팅에선 Typescript와 Knex.js를 통한 MySQL/MriaDB의 이용법과 보안처리에 관한 내용에 대해 정리했다. 기본적인..
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 1094번 - 막대기: https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 해법 단순히 문제에서 주어지는 처리 과정을 코드로 옮기는 것만으로도 쉽게 해결할 수 있다. 필자의 경우, 각 막대기의 길이를 담은 리스트를 만들어 해당 처리과정을 수행하도록 하였다. 풀이