Season 1/기술 보안
-
보호되어 있는 글입니다.
GNU Bash 취약점보호되어 있는 글입니다.
2021.05.31 -
이전 글에서 VPC(Virtual Private Cloud) 내의 네트워크 트래픽을 제어하는 NACL(Network Access Control List)과 보안그룹(Security Group)에 이어 이번엔 VPC와 VPC 간 트래픽을 제어할 수 있는 VPC Peering과 VPC와 AWS 서비스 간의 트래픽을 제어하는 VPC Enpoints에 대해 알아보고자 합니다. # VPC Peering VPC 피어링이란 프라이빗 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결입니다. VPC 피어링은 동일한 네트워크에 속하는 경우뿐만 아니라, 다른 AWS 계정 또는 다른 리전에 있을 경우에도 VPC 피어링을 맺을 수 있습니다. VPC Peering은 중요 데이..
AWS 클라우드 보안 ②-2 AWS 네트워크 보안이전 글에서 VPC(Virtual Private Cloud) 내의 네트워크 트래픽을 제어하는 NACL(Network Access Control List)과 보안그룹(Security Group)에 이어 이번엔 VPC와 VPC 간 트래픽을 제어할 수 있는 VPC Peering과 VPC와 AWS 서비스 간의 트래픽을 제어하는 VPC Enpoints에 대해 알아보고자 합니다. # VPC Peering VPC 피어링이란 프라이빗 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결입니다. VPC 피어링은 동일한 네트워크에 속하는 경우뿐만 아니라, 다른 AWS 계정 또는 다른 리전에 있을 경우에도 VPC 피어링을 맺을 수 있습니다. VPC Peering은 중요 데이..
2021.05.31 -
이번 문제는 SQL Injection이라고 적혀져 있는 것으로 보아 SQL 쿼리에 관한 문제로 추측된다. 맨 밑에 초록색 A태그를 클릭하여 코드를 확인하였다. 코드를 보니, 조건문 중에서 preg_match 함수의 인자 값들이 눈이 갔다. 그 후, preg_match가 있는 조건문 밑에 있는 줄의 주석에서 admin는 no=2이라는 것을 알 수 있었다. 하지만 현재 SQL 쿼리의 Where을 보니, id=‘guest’이라고 적현 것을 보니 no에 2을 넣은다고 해서 admin의 id가 나오지는 않을 것으로 판단된다. 대충 코드를 보니, 입력 값에 대한 검증이 있으며 입력 값은 쿼리의 no에 들어간다는 것을 알 수 있었다. 일단 guest의 no을 1~9까지 넣어서 찾아보도록하겠다. 1을 입력하니, hi ..
Old - 18 Write Up이번 문제는 SQL Injection이라고 적혀져 있는 것으로 보아 SQL 쿼리에 관한 문제로 추측된다. 맨 밑에 초록색 A태그를 클릭하여 코드를 확인하였다. 코드를 보니, 조건문 중에서 preg_match 함수의 인자 값들이 눈이 갔다. 그 후, preg_match가 있는 조건문 밑에 있는 줄의 주석에서 admin는 no=2이라는 것을 알 수 있었다. 하지만 현재 SQL 쿼리의 Where을 보니, id=‘guest’이라고 적현 것을 보니 no에 2을 넣은다고 해서 admin의 id가 나오지는 않을 것으로 판단된다. 대충 코드를 보니, 입력 값에 대한 검증이 있으며 입력 값은 쿼리의 no에 들어간다는 것을 알 수 있었다. 일단 guest의 no을 1~9까지 넣어서 찾아보도록하겠다. 1을 입력하니, hi ..
2021.05.15 -
문제 14번과 비슷한 유형의 문제인 것 같다. 어떤 기능을 하는지 알아보기 위해 개발자 도구를 이용하여 코드를 확인해보았다. 코드를 보니, 변수 unlock의 값과 Input form에 입력한 값을 비교하여 같으면 Flag를 주는 페이지도 이동이 되는 것 같다. unlock을 복사하여 값을 개발자 도구의 콘솔에 출력해보았다. 출력한 값을 Input form에 입력하여 location.href="?"+unlock/10;로 이동하였다. 바로 Flag를 얻을 수 있었다.
Old - 17 Write Up문제 14번과 비슷한 유형의 문제인 것 같다. 어떤 기능을 하는지 알아보기 위해 개발자 도구를 이용하여 코드를 확인해보았다. 코드를 보니, 변수 unlock의 값과 Input form에 입력한 값을 비교하여 같으면 Flag를 주는 페이지도 이동이 되는 것 같다. unlock을 복사하여 값을 개발자 도구의 콘솔에 출력해보았다. 출력한 값을 Input form에 입력하여 location.href="?"+unlock/10;로 이동하였다. 바로 Flag를 얻을 수 있었다.
2021.05.14 -
페이지에 들어가니, 의미를 알 수 없는 *이 보인다. 의미를 알아보기 위해 개발자 도구를 열어서 소스코드 확인을 하였다. * * * 코드를 보면 JS을 공부하였다면 알 수 있는 Body 속성에 정의된 이벤트 속성이 눈에 띌 것이다. -> onkeypress 이벤트 : 사용자가 키보드의 특정 키를 누를 때 발생하는 이벤트 키보드를 부를때 마다 스크립트에 정의된 mv 함수가 실행이 된다. 인자값으로 event.keyCode를 넘겨준다는데 이를 KeyboardEvent.keyCode - Web APIs | MDN에서 확인을 하였다. 읽어보면 디폴트로 입력된 키의 값을 아스키 코드로 변환한다고 한다. MDN에서 확인하니, onkeypress는 옛날에 손절한 함수이다. 그래서 최신버전 브라우저에선 페이지의 기능이..
Old - 16 Write Up페이지에 들어가니, 의미를 알 수 없는 *이 보인다. 의미를 알아보기 위해 개발자 도구를 열어서 소스코드 확인을 하였다. * * * 코드를 보면 JS을 공부하였다면 알 수 있는 Body 속성에 정의된 이벤트 속성이 눈에 띌 것이다. -> onkeypress 이벤트 : 사용자가 키보드의 특정 키를 누를 때 발생하는 이벤트 키보드를 부를때 마다 스크립트에 정의된 mv 함수가 실행이 된다. 인자값으로 event.keyCode를 넘겨준다는데 이를 KeyboardEvent.keyCode - Web APIs | MDN에서 확인을 하였다. 읽어보면 디폴트로 입력된 키의 값을 아스키 코드로 변환한다고 한다. MDN에서 확인하니, onkeypress는 옛날에 손절한 함수이다. 그래서 최신버전 브라우저에선 페이지의 기능이..
2021.05.14 -
Input form이 하나 있는 것을 볼 수 있다. 어떤 기능을 하는지 확인을 하기 위해 개발자 도구를 이용하여 코드를 살펴보았다. 살펴보니, check 버튼을 클릭하면 스크립트 안에 있는 함수가 실행된다. 함수는 해당 사이트의 URL를 변수 ul에 집어넣고, “. kr”이 시작되는 인덱스를 다시 변수 ul에 삽입한다. 삽입된 인덱스는 30을 곱하여 실질적인 조건 값으로 사용한다. 문제를 해결하기 위해선 저 조건 값을 구하여 Input form에 똑같은 값을 넣어서 조건문을 실행시켜야 Flag를 얻을 수 있다. 하지만 직접적으로 구할 필요는 없다. 왜냐하면, 해당 코드는 우리한테 있고 우린 그 코드를 복사하여 브라우저의 개발자 도구 안에 있는 콘솔에 실행하면 값을 얻을 수 있다. 아니면 URL의 개수를 ..
Old - 14 Write UpInput form이 하나 있는 것을 볼 수 있다. 어떤 기능을 하는지 확인을 하기 위해 개발자 도구를 이용하여 코드를 살펴보았다. 살펴보니, check 버튼을 클릭하면 스크립트 안에 있는 함수가 실행된다. 함수는 해당 사이트의 URL를 변수 ul에 집어넣고, “. kr”이 시작되는 인덱스를 다시 변수 ul에 삽입한다. 삽입된 인덱스는 30을 곱하여 실질적인 조건 값으로 사용한다. 문제를 해결하기 위해선 저 조건 값을 구하여 Input form에 똑같은 값을 넣어서 조건문을 실행시켜야 Flag를 얻을 수 있다. 하지만 직접적으로 구할 필요는 없다. 왜냐하면, 해당 코드는 우리한테 있고 우린 그 코드를 복사하여 브라우저의 개발자 도구 안에 있는 콘솔에 실행하면 값을 얻을 수 있다. 아니면 URL의 개수를 ..
2021.05.14