본문 바로가기

4차 산업 혁명

webhacking.kr [문제 8번] 8번 문제를 풀어보자. 해당 문제의 점수는 350point이다. 실제로 해당 문제를 눌러보자. 따로 얻을 수 있는 정보는 없으니 해당 페이지의 소스코드를 확인해보자. 해당 소스코드에 대한 힌트가 있으니 확인해보자. 다음과 같은 소스코드가있다. 대충 봤을 때 $ck[0] 변수가 "admin"이 될 경우 해당 문제가 풀리는 것으로 생각된다. 구체적으로 소스코드를 분석해보자. 해당 소스코드가 분석이 완료되었으니 문제해결 전략을 구상해보자. 처음에 "select id from lv0 where agent = '$_SERVER[HTTP_USER_AGENT]'"라는 쿼리를 날린다. 허나 해당 쿼리가 올바르게 실행되지 않을 것이다. HTTP_USER_AGENT에 들어간 변수값이 정상적인 쿼리가 아니기 때문이다. 해당.. 더보기
webhacking.kr [문제 7번] 두번째 라인의 첫번째 문제인 7번 문제를 풀어보자. 문제의 점수는 300point이다. auth 버튼을 클릭해보자. 당연히 나에게 인증권한을 쉽게 줄리가 없다. 이제 한번 소스코드를 확인해보자. 소스코드를 확인해본 결과 val값이 2일때 admin mode를 주어진다고 나와있으며 해당 서버의 php파일은 index.phps로 되어있다. 한번 val값을 2로 설정한 후 해당 페이지를 확인해보자. 다시 해당 페이지의 소스코드를 확인해보자. 별 내용이 없으므로. 이제 index.phps를 확인해보자. 해당 소스코드를 보니 라는 힌트와 함께 언뜻봐서 쿼리를 날리는 코드가 보인다. 생각보다 소스코드가 길다. 이제 해당 소스코드를 분석해보자. 해당 파트를 확인해보면 GET방식으로 넘어온 변수 val값을 받아서 go.. 더보기
webhacking.kr [문제 6번] 첫번째 라인의 마지막 문제인 6번 문제를 풀어보겠다. 문제의 점수는 100point이다. 상대적으로 다소 쉬운 문제일 것으로 예상된다. 힌트가 base64로 주어져있다. 이를 볼때 base64를 이용한 문제풀이일 것으로 예상된다. index.phps를 클릭해보자. 해당 페이지의 소스코드 일부이다. 이제 해당 소스코드를 조금더 구체적으로 분석해보자. 해당 소스코드에 주석을 달아놓았다. 소스코드를 보고 생각하여 보면 문제 해결 전략이 나온다. 두번째 파트의 디코드 과정을 거쳐서 decode_id와 decode_pw에 담긴 문자열이 모두 "admin"이 되게끔 하면 된다. 디코드 과정전의 변조할 쿠키의 값을 알아보면 되는데, 해당 과정을 시중에 나와있는 소스코드를 조금 수정하여 작성하였다. import bas.. 더보기
랜덤 포레스트를 이용한 식용 가능한 버섯 구분하기 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 랜덤 포레스트(Random Forest, Randomized Trees)란 학습 전용 데이터를 기반으로 다수의 의사결정 트리를 만들고, 만들어진 의사결정 트리를 기반으로 다수결로 결과를 유도하는 머신러닝 모델 중 하나이다. 의사결정 트리 라는 것은 트리 구조를 하고 있는 그래프인데, 예측과 분류를 수행하는 알고리즘 자체를 의사결정 트리라고 부른다. 귀납적 추론을 기반으로 하는 의사결정 트리는 실무적으로 가장 많이 사용되고 있는 머신러닝 모델 중 하나로 지도학습 모델이다. 의사결정 트리는 주로 불연속 데이터를 다루며 노이즈가 발생해도 중단되거나 엉뚱한 결과를 보여주지 않는 매우 강건한 모델이다. 의사결정 트리의 대표적인 적용 사례.. 더보기