본문 바로가기
반응형

워게임58

[webhacking.kr] 1번 문제 (level 1) [webhacking.kr] 1번 문제 (level 1) 문제 풀이 과정에 대해서 정리한다. 1번 문제로 들어가면 위 사진과 같은 문구가 보인다. level1 문제는 index.phps 에 대한 문제인데 해당 페이지를 소스보기 기능으로 확인해 보면 a태그로 index.phps 페이지로 로케이션 한다는 걸 알 수 있다. index.phps를 힌트 페이지로 생각하고 문제를 풀면 된다. 먼저 문제를 풀기 위해 index.phps를 클릭해 힌트 페이지로 이동했다. 이 php 코드를 해석하여 어떤 식으로 돌아가는지 파악한다면 쉽게 문제를 풀 수 있다. 각 줄마다 어떤 의미를 가지고 있는 코드인지 각각 해석 해볼 것이다. if(!$_COOKIE[user_lv]) #user_lv cookie에 값이 없다면 if문 수.. 2020. 4. 9.
HTML Injection(인젝션) - Reflected(반사) POST 반사(Reflected) - POST HTML Injection(인젝션) - Reflected(반사) POST 반사(Reflected) - POST Level - low POST method를 사용해서 데이터를 전송할 때는 서버로 전송하는 변수 값이 HTTP 프로토콜 header에 포함 되는 것이 아닌 body를 통해서 보내기 때문에 URL에 노출 되지 않는다. BurpSuite를 이용해서 웹 브라우저에서 요청하는 데이터를 가로채서 확인해보면 firstname과 lastname이라는 변수에 데이터가 전송되는걸 볼 수 있다. BurpSuite로 가로챈 패킷에서 firstname과 lastname 변수에 값을 html 태그를 이용해서 수정한 다음 패킷을 보내주면 웹서버에서 요청을 받아 응답을 보내주게 되고 .. 2019. 7. 15.
HTML 엔티티(Entities) 문자 HTML 엔티티(Entities) 문자 HTML에서 특정 문자들이 예약되어 있어서 표기의 혼란을 막기 위해서 사용하는 문자이다. 마크업과의 충돌을 막기 위해서 사용을 한다. 예를 들어서 문서 내용에 ' 2019. 7. 14.
HTML Injection(인젝션) - Reflected(반사) GET HTML Injection(인젝션) - Reflected(반사) GET - Injection(인젝션)이란? 공격자가 악의적인 목적으로 조작된 데이터를 주입시켜 웹 어플리케이션에서 정상적인 데이터 일부로 인식하고 실행하게 되면서 발생하는 취약점이다. 인젝션에 종류로는 SQL, HTML, OS command, LDAP 인젝션 등이 있다. 인젝션 예시 그림(SQL injection) 1)HTML injection 반사(Reflected) - GET Level - low HTML injection - Reflected(GET) 페이지는 사용자가 입력한 값을 검증하지 않고 그대로 출력한다. 입력값을 검증하지 않는다는걸 알아보기 위해서는 html 태그를 포함한 데이터를 GET 방식으로 웹 어플리케이션 변수에 넣어서.. 2019. 7. 13.
VMWare Bridge(브릿지) 네트워크 설정 VMWare Bridge(브릿지) 네트워크 설정 VMware에서 bee-box, kali linux 등의 가상환경을 구축하면서 네트워크 설정을 Bridged로 설정할때 제대로 설정이 되있지 않다면 외부 네트워크를 사용할 수 없다. VMWare Bridged 설정 방법 1) Edit -> Virtual Network Editor을 클릭하면 Host-only와 NAT에 대한 설정이 나와있다. 2) 오른쪽 하단에 change setting을 누르면 위쪽에 Bridged 네트워크에 대한 설정이 나오고 하단을 보면 외부 네트워크가 직접적으로 연결을 할때 사용할 네트워크 어댑터를 선택할 수 있다. 여기서는 공유기와 연결된 네트워크 카드를 선택해주면 된다. 3) 이후에는 가상머신을 설정할 때 VM -> Setting.. 2019. 7. 12.
가상머신에 bWAPP(bee-box) 설치 가상머신에 bWAPP(bee-box) 설치 - bWAPP(bee-box)란? bee-box는 웹 취약점을 공격할 수 있는 오픈소스 웹 어플리케이션인 bWAPP(buggy Web Application)이 설치된 가상환경이다. 취약점은 OWASP Top 10을 기준으로 분류되어있고 100여 개가 넘는 웹 취약점이 존재하기 때문에 취약점에 대한 다양한 실습을 진행해 볼 수 있다. - bWAPP(bee-box) 설치 1) 구글에서 beebox 검색 또는 https://sourceforge.net/projects/bwapp/files/bee-box/ 2) bee-box_v1.6.7z 파일을 받아서 7z으로 압축을 풀어준다. 3) 압축 해제된 파일을 이용해서 bee-box 가상환경을 VMWare, Virtual-B.. 2019. 7. 11.
[wechall challenge] PHP 0817 [wechall challenge] PHP 0817 - Explanation - 코드 위에 나와있는 설명을 보게 되면 LFI 취약점이 있다고 적혀있다. LFI(Local File Inclusion) 취약점은 공격대상 서버에 위치한 파일을 포함 시킬때 사용한다. PHP의 경우 Include, require_once, ... 같은 함수를 사용하면서 입력 값을 필터링 하지 않을때 이러한 취약점이 나타나게 된다. 해당 코드를 보게 되면 isset() 함수를 이용해서 GET방식을 통해서 which라는 파라미터가 있는지 확인을 하고 있고, 해당 파라미터가 존재 한다면 if 문이 실행 되도록 되어있다. if문 안쪽을 살펴보게 되면 which 파라미터에 값을 $which 변수에 저장해서 switch문을 실행 한다. s.. 2019. 7. 10.
[wechall challenge] Training: WWW-robots [wechall challenge] Training: WWW-robots - Explanation - WWW-Robots 문제에서는 robots.txt 파일에서 왜 취약점이 일어날 수 있는지를 알려주려고 하는 문제인 것 같다. robots.txt 파일은 웹사이트에서 웹 크롤러와 같은 로봇들의 접근을 제어하기 위한 규약 파일이다. 보통 웹사이트들이 많은 노출을 원하기 때문에 따로 robots.txt 파일을 이용해서 접근을 막을 일이 없지만, 서버의 트래픽이 한정 됐거나 검색엔진에 노출을 원하지 않는 경우 사용한다. robots.txt는 웹사이트의 최상이 경로인 루트 경로에 있기 때문에 사이트명 뒤에 /robots.txt를 입력하게 되면 해당 파일에 접근이 가능하다. 이러한 이유 때문에 해당 파일에 적힌 디.. 2019. 7. 9.