본문 바로가기

전체 글

(76)
[Webhacking.kr] old-01번 문제 풀이 Level1의 경우 따로 문제가 무엇인지, 어떻게 풀어야하는지 문제 화면만 통해서는 알 수가 없다. 일단 view-source를 눌러보자. 그러면 이렇게 level1에 대한 php와 html코드가 나타난다. php 는 서버사이드 언어이므로 실제 웹이라면 저렇게 소스코드가 나타나지 않는다. 즉 나타난 php 코드는 문제를 어떻게 풀어야하는지를 알려주기 위해, php 코드를 일부러 공개해 둔 것이다. 코드를 보면 가장 중요한건 바로 $_COOKIE 이다. 아래쪽에 있는 if문들을 보면 $_COOKIE['user_lv']>5 조건에 성립하면 1번 문제가 solve 되지만, $_COOKIE['user_lv']>=6 조건에 성립하면 $_COOKIE['user_lv']이 1로 초기화 된다. 즉 user_lv 쿠키값..
[Xss game 3번] 문제 풀이 Xss game 3번 문제를 풀어보도록 하겠습니다. Mission Objective를 보면 역시나 alert를 실행시키면 성공입니다. 이번 문제의 특이한 점은 바로 사용자가 입력할 수 있는 공간이 없다는 것입니다. 하지만 image버튼들을 잘 누르다보면 중요한 점을 알아낼 수 있는데요 바로 URI 맨 끝 번호와 이미지의 번호가 일치한다는 점 입니다. URI 맨 끝에있는 번호를 test로 바꾸고 Go 버튼을 누르자 Image가 NaN으로 바뀌면서 아무런 이미지를 불러오지 못함을 확인할 수 있습니다. 이를통해, URI의 맨 끝에 있는 데이터가 이미지 태그에 연관되어 있음을 추측할 수 있습니다. 3번문제만에 드디어 사용하게 되는 개발자 도구! 우선 나타나지 않는 이미지 위에서 오른쪽 마우스를 클릭한 뒤 검사 ..
[Xss game 2번] 문제 풀이 Xss game 2번 문제를 풀어보도록 하겠습니다. Misson Objective를 보면 역시나 alert() 함수를 실행시키면 된다고 써져있습니다. 자 아래 타겟 브라우저에 열려있는 level2 사이트를 보면 뭔가 sns 처럼 생겼습니다. test라고 입력하고 share status 해보겠습니다. test를 입력하니, 입력한 데이터가 저장되어 sns처럼 계속해서 공유가 됨을 확인할 수 있었습니다. 이를 통해 알 수 있는점 두가지가 있죠 1. 사용자의 입력값을 서버에서 저장한다. 2. 사용자의 입력값을 서버에서 응답하여 화면에 노출한다 이걸 잘 생각해보면 간단합니다 'Stored XSS'를 위한 전제조건이 성립한다. "Stored XSS를 이용하여 alert() 함수를 실행하면 되겠다" 라는 생각을 할 ..
[Xss game 1번] 문제 풀이 Xss game 1번 문제를 풀어보도록 하겠습니다. Misson Objective, 즉 이번 문제의 목표를 보시면, "Javascrpt alert()함수를 실행시켜라"라고 되어있습니다. 즉 XSS 공격을 통해 Javascript alert()함수를 실행시키면 풀리는 문제가 되겠습니다. (이후 문제들도 동일!) 공격을 해야하는 테스트용 브라우저를 보시면 무언가 입력할 수 있는 공간을 제공하고 있습니다. 저 공간에 test라고 입력하고 search 버튼을 입력해 보겠습니다. 입력 결과를 보면 두가지를 알 수 있습니다. 1. query라는 파라미터에 사용자의 입력값을 넣어 GET 방식으로 서버에게 요청한다 2. 서버는 query 파라미터로 전달받은 사용자의 입력값을 응답값에 포함하여 화면에 출력한다 위 2개 ..
[MAC] VirtualBox를 활용하여 Ubuntu 가상환경 구축하기 1. Ubuntu 이미지 다운로드 👉 구글 검색창에 Ubuntu를 검색 한 뒤, Download Ubuntu Desktop을 클릭! 👉 Ubuntu 20.04.1 LTS Download 버튼을 클릭! 👉 iso 확장자를 가진 Ubuntu 이미지 파일 다운로드! 2. VirtualBox 다운로드 👉 Ubuntu 이미지를 다운로드하는데 시간이 걸리기 때문에, 그 동안 VirtualBox를 다운로드 해요! 👉 구글에 virtualbox를 검색한 뒤 Downloads를 클릭! 👉 VirtualBox 6.1.12 platform packages의 'OS X hosts' 클릭! 👉 VirtualBox 설치파일 다운로드! 3. VirtualBox 설치 👉 다운로드한 dmg 파일을 실행! 👉 스크린샷처럼 Virtual..
[Windows] Vmware를 활용하여 Ubuntu 가상환경 구축하기 1. Ubuntu 이미지 다운로드 👉 구글 검색창에 Ubuntu를 검색 한 뒤, Download Ubuntu Desktop을 클릭! 👉 Ubuntu 20.04.1 LTS Download 버튼을 클릭! 👉 iso 확장자를 가진 Ubuntu 이미지 파일 다운로드! 2. VMware Workstation Player 다운로드 👉 Ubuntu 이미지를 다운로드하는데 시간이 걸리기 때문에, 그 동안 VMware Workstation Player를 다운로드 해요! 👉 구글에 vmware를 검색한 뒤 VMware Workstation Player를 클릭! 👉 Windows용 workstation 15.5 Player 사용을 위하여 "지금 다운로드" 버튼을 클릭! 👉 VMware Workstation Player 설치..
[LOS 4번 : orc] 문제 풀이 LOS 4번 orc를 풀이해보도록 하겠습니다. 먼저 문제를 보면, 기존 1~3번의 일반적인 SQL Injection들과는 다른점을 볼 수있습니다. 바로, 빨간박스 부분입니다. 빨간 박스 부분을 간단히 해석해보면 아래와 같은 순서로 진행됩니다. 1. 사용자로부터 입력받은 pw 내 특수문자(', ", `, \)에 대하여 역슬래시를 앞에 붙인 뒤, 저장 2. 특수문자 처리를 끝낸 값을 쿼리에 넣어 실행 3. 쿼리 실행 결과 pw필드에 데이터가 조회되었으며, 이 조회된 값이 사용자의 입력값과 동일하다면, 문제가 풀림 여기서 핵심은 1번, 즉 특수문자를 처리하는 과정에 있습니다. 특수문자앞에 역슬래시가 붙으면서, 쿼터가 제 역할을 하지 못하고 문자처리가 되며, 이로인해 SQL Injection이 불가해집니다. 또..
[T0M4TO] Public Subnet과 Private Subnet 만들기 하나의 VPC에 Internet Gateway를 붙여, 하나는 Public 서브넷으로 또 하나는 Private 서브넷으로 구축해보려 한다. Public 서브넷에 Nat Gateway, SSH Terminal용 EC2 Instance를 Private 서브넷에 실제 작동할 EC2 Instance를 생성하려 한다. 우선 첫번째로 VPC를 생성한다. B class 단위로 IPv4 CIDR 블록을 설정 두번째로, VPC안에 만들고자 하는 Public Subnet을 10.0.0.0/24 (c class) 대역을 사용할 수 있도록 설정 마찬가지로 VPC안에 만들고자 하는 Private Subnet을 10.0.1.0/24 (c class) 대역을 사용할 수 있도록 설정 세번째로, NAT Gateway에 사용될 탄력적 ..