본문 바로가기

컴퓨터 개발

webhacking.kr [문제 11번] 웹해킹 11번 문제를 풀어보겠다. 해당 문제의 배점은 300point이다. 해당 문제를 클릭하면 다음과 같은 정보가 주어진다. 해당 힌트를 분석해보자. $pat="/[1-3][a-f]{5}_.*CLIENT_IP.*\tp\ta\ts\ts/"; if(preg_match($pat,$_GET[va])) { echo("Password is ????");} 간단하게 해석해보면 $pat란 변수에 정규표현식을 담고 GET방식으로 전해진 val이라는 변수에 해당 정규표현식에 맞는 문자열이 전해지면, Password를 출력하는 것으로 확인된다. 정규표현식을 하나하나 살펴보자. 1. [1-3] [1-3] : 1~3사이의 문자 중 하나를 찾음 예시) 1, 2, 3 2. [a-f]{5} [a-f]{5} : a~f사이의 문자 중.. 더보기
webhacking.kr [문제 10번] 9번 문제가 어려웠던 관계로 10번 문제는 쉽길 바라며, 해당 문제를 풀어보겠다. 10번 문제는 250point이다. 해당 문제를 클릭하자. 이상한 형태를 띄고있다. 바로 소스를 확인해보자. 다른 부분은 확인할 필요는 없고 id가 hackme인 부분의 메소드들만 확인해보겠다. onmouseover : 마우스를 올렸을 경우, 해당 텍스트를 yOu로 수정한다. onmouseout : 마우스를 내렸을 경우, 해당 텍스트를 O로 수정한다. onclick : 해당 요소를 왼쪽으로 한칸씩 이동시키며, 만약 해당요소가 800이 되었을 경우, 특정 페이지로 이동한다. 실제로 마우스를 올리거나 내렸을 경우, 다음과 같이 정상적으로 동작함을 확인할 수 있고, 한번 클릭시에 해당 요소가 이동하는 것을 확인할 수 있다. 여러.. 더보기
webhacking.kr [문제 9번] 중간에 알바면접이 있어서 포스팅을 못했다. 미루고 미루던 웹해킹 9번 문제를 풀어보겠다. 9번문제 무려 900point로 전체 문제 중 두번째로 점수 배점이 높다. 해당 문제를 풀면 대략적인 다른 문제들의 난이도를 예상할 수 있을 것으로 예상된다. 문제 클릭시 다음과 같은 페이지를 보여준다. 소스코드를 확인해보자. 별다른 정보는 없지만 각 페이지가 no=1, no=2, no=3로 하이퍼링크 되어 있는 것을 확인할 수 있다. 실제 각각의 페이지를 확인해보자. 1번 페이지 2번 페이지 3번 페이지ㅓ 다음과 같은 페이지를 분석해보니. 데이터베이스에서 no일때의 각각의 id값을 가져와 화면에 뿌려주는 것으로 확인된다. 또한 no=3일때의 id값의 길이는 11로 힌트가 주어졌다. 과연 해당 가설이 맞는지 no=4.. 더보기
랜덤 포레스트를 이용한 식용 가능한 버섯 구분하기 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 랜덤 포레스트(Random Forest, Randomized Trees)란 학습 전용 데이터를 기반으로 다수의 의사결정 트리를 만들고, 만들어진 의사결정 트리를 기반으로 다수결로 결과를 유도하는 머신러닝 모델 중 하나이다. 의사결정 트리 라는 것은 트리 구조를 하고 있는 그래프인데, 예측과 분류를 수행하는 알고리즘 자체를 의사결정 트리라고 부른다. 귀납적 추론을 기반으로 하는 의사결정 트리는 실무적으로 가장 많이 사용되고 있는 머신러닝 모델 중 하나로 지도학습 모델이다. 의사결정 트리는 주로 불연속 데이터를 다루며 노이즈가 발생해도 중단되거나 엉뚱한 결과를 보여주지 않는 매우 강건한 모델이다. 의사결정 트리의 대표적인 적용 사례.. 더보기
문장의 해당 언어 판별하기(그래프 분석) 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 관련 포스팅 보러가기문장의 해당 언어 판별하기 이전 포스팅에서 문장이 주어졌을 때, 해당 문장이 어떤 언어로 구성된 문장인지 판별하는 프로그램을 머신러닝을 이용하여 구현하여보았다. 수집한 자료가 많지는 않아도 언어별로 알파벳의 빈도가 다르므로 어느 정도 분류할 수 있다는 사실을 알아냈다. 그렇다면 어느정도로 알파벳의 빈도가 다른지 시각적으로 확인하고 싶은 경우에는 어떻게 해야할까? 파이썬에서는 matplotlib이라는 해당 수치를 그래프로 분석해주는 형태의 라이브러리를 제공하고 있다. 이를 이용해서 확인하여 보자. import matplotlib.pyplot as plt import pandas as pd import json .. 더보기
문장의 해당 언어 판별하기 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 고대 바빌로니아 인들의 신에 대한 도전(?)으로 인한 바벨탑이 무너지게 되었고, 21세기는 수많은 사람들이 수많은 민족과 국가라는 프레임의 나뉘어 서로 다른 언어를 사용하고 있다. 이러한 소통의 문제는 생각보다 인류의 발전에 큰 걸림돌이 되고 있다. 만약 컴퓨터 소프트웨어를 이용해서 어떤 언어이든지 내가 이해할 수 있는 언어로 번역하여주는 완벽한 번역기를 개발한다면 인류의 발전에 크게 도모할 것으로 예상된다. 만약 스마트 글래스의 동적 문장 번역 기능을 추가한다고 하면 특정 문장을 보고 내가 해당하는 국가의 언어로 동적으로 번역하여 준다는 가정하에 문장을 번역하기전에 어떤 언어에서 어떤 언어로 번역할 것인지를 정해주어야 하는 데.. 더보기
컴퓨터 프로그래밍 설계 과제#5_HW03 #include #include int FSM_[5][6] = { /* sign digit alfa period special EOS */ /* 상태 0 */{ 2, 1, -19, 3, -10, -12 }, /* 상태 1 */{ -13, 1, -19, 3, -14 , -1 }, /* 상태 2 */{ -15, 1, -19, 3, -14 , -11 }, /* 상태 3 */{ -13, 4, -19, -16, -14 , -11 }, /* 상태 4 */{ -13, 4, -19, -16, -14 , -1 } }; int check_state(int state_num, char input){ int state = 0; int char_state; int input_num = (int)input; if( (input_.. 더보기