- IP : 데이터 패킷이 네트워크 통해 이동하여 올바른 대상에게 도착 가능하도록 데이터 패킷을 라우팅 하며, 주소를 지정하기 위한 작은 프로토콜이나 규칙의 집합. IP 정보는 각 패킷에 포함된다. 이 정보는 라우터가 패킷을 올바른 위치로 보낼 수 있도록 한다. 인터넷에 연결되는 모든 장치 혹은 도메인에 IP주소가 할당되게 되며 패킷이 연결된 IP주소로 전달이 되면 데이터가 필요한곳에 도착을 하게 된다. - 패킷 : 커다란 메시지의 작은 세그먼트 - 라우팅 : 네트워크에서 경로를 선택하는 프로세스. - IP 라우팅 : 데이터의 수신/전송이 이루어질 때 메시지는 패킷으로 나뉘게 된다. 패킷은 게이트웨이로 이동하게되며 게이트웨이는 대상 주소를 읽고 패킷을 인접한 게이트웨이로 전달..
orc 문제와 마찬가지로 prob, _, ., ()를 필터링하고있다. 또한 공백 또한 금지하고있다. id가 admin일때 쿼리문이 참인경우 문제가 풀리도록 되어있다. 다음과 같은 쿼리문을 삽입할 경우 참이면서 id='admin'이다. ' or id='admin' and '1'='1 다만 위 쿼리문에서는 공백이 들어가있다. 이 공백은 sql에서 다음과 같이 치환 가능하다. tab %09 line feed %0a vertical tab %0b form feed %0c carriage return %0d teb을 이용해서 쿼리문을 수정하면 다음과 같다 '%09or%09id='admin'%09and%09'1'='1
우선 include를 통해서 같은 디렉토리의 config.php파일의 내용을 가져오고 있다. 다만 위 주소로 요청을 보낼 경우 응답내용이 없었다. 그 뒤에 login_chk라는 함수를 사용한다. 함수명을 보면 로그인 검증 함수로 추측 가능하다. if 문을 통해서 "prob", "_", ".", "()"를 필터링하고있다. 만약 id가 admin인 쿼리문이 참이 된다면 Hello admin이 출력될 것이다. 결과적으로 문제를 해결하고 본 스테이지를 통과하려면 solve함수를 실행해야하므로 정확한pw의 입력이 필요하다. 따라서 쿼리문의 삽입으로 pw를 찾도록 하겠다. 우선 쿼리문을 참으로 만들어 hello admin을 출력시키기 위해 pw 파라미터에 "'%20or%20'1'%3d'1"값을 넣어 요청을 전송해보..
전자금융. 이용자의 거래 입력 수단을 보호하기 위한 금융회사의 대응수단 및 적용범위 등을 점검 평가 예시 : 이용자의 거래정보 입력 보호 범위가 금웅회사가 정한 범위와 달리 적용되어 있거나 또는 일관성 확인. 이용자 거래정보 입력보호에 대응하기 위한 절차 또는 방법 존재 여부 점검. 이용자 입력정보 보호의 대표적 예시로 가상 키패드가 있다. 가상키패드는 마우스 클릭이나 화면 터치등으로 값을 입력하도록 한다. 가상키패드가 사용자 입력을 보호하는 원리는 다음과 같다. 키보드로 데이터를 입력 할 경우 이 입력값이 메모리에 저장되게 된다. 만약 피해자의 기기에 이러한 메모리값을 탈취하는 악성 코드가 심어져 있다고 가정해보자. 그렇다면 키보드로 입력한 값들이 전부 탈취되게 되는 것이다. 가상 키패드의 경우에는 버..
웹 서버는 일반적으로 보안을 위하여 GET, POST, OPTIONS, HEAD 메서드만을 사용하는 경우가 많다. 하지만 웹 서버 설정에 따라 다른 메서드를 허용하는 경우가 있다. - PUT : 리소스를 서버에 업데이트 - DELETE : 리소스를 서버에서 삭제 위 두개의 메서드의 경우 웹 서버의 파일을 삽입, 삭제, 변조가 가능하다. 즉, 웹 서버의 서비스되는 페이지의 변조 뿐만이아니라 웹쉘 등과 같은 치명적인 악성 파일을 업로드 하는 것도 가능하다. 물론 이또한 설정을 통해 메서드는 허용되지만 위와같은 작업은 차단하는 경우도 있다. 다만 PUT과 DELETE 메서드를 허용하는 경우 이에 대한 점검은 해봐야 한다. PUT과 DELETE보다 생소한 메서드인 TRACE에서도 취약점이 존재한다. - TRAC..
금취분평(웹/모바일/Home Trading System) - 금융거래가 있는곳에서는 [전자금융]항목을 확인해야함. 일반페이지에서는 금취분평중 전자금융 항목을 제외 ** 이용자 입력정보 보호 > 비밀번호, otp번호 등의 입력이 탈취당할 수 있다고 생각. -> E2E(End to End)암호화 -> 키보드 입력 순간 암호화. > 전송 버튼 클릭 순간 함수실행 - > ID를 확인. - > 함수 확인 prompt(Real Data, this.data) E2E우회 1. prompt함수 사용해서 전송 전 띄우고 데이터 변조 가능. 2. E2E암호화 off 암호화가 on/off가 가능한경우가 있음 q=aeopjfpamefpasdkjf[asdmlfw[ejfamewljf-efmksjfe &e2e=true 이 경우 fa..
테스트 케이스 구현된 소프트웨어가 실제 사용자의 요구사항을 준수하였는지 확인하기위해 설계된 입력값이나 실행 조건 기대 결과 등으로 구성된 테스트항목의 명세서 테스트의 목표와 방법을 설정 한 뒤에 테스트 케이스 작성이 필요하다. 프로그램의 결함이 존재하더라도 입력에 대한 정상적인 결과를 내는것이 가능하기에 결함을 검사 할 수 있는 테스트 케이스를 찾는 것이 중요하다. 테스트 케이스 통과여부를 판단하기 위한 기준을 오라클이라 한다.
버퍼 오버플로우 / 포멧 스트링 => 나오지 않음 c언어로 이루어진 웹서버에서 발생함 그러나 현제 c언어 기반 웹이 거의 없음 1. 버퍼 오버플로우 CPU - Memory -----------HardDisk 명령 일하기 전 프로그램 프로그램 클릭시 어셈블리어로 작성된 명령어가 메모리로 적제됨 실행 명령어를 올려둠 메모리에 명령이 올라간 상태를 프로세스 프로세스가 존재하는 영역 : stack, heap 스텍에 명령이 잠깐씩 기록됨. 변수마다 크기가 지정되어있음 만약 20글자짜리 변수의 경우 20자 이상의 값이 할당될 경우 다른 영역을 덮어씀 => 프로그램이 꼬임(죽음) = > DOS가 가장 쉬움 코드 중간에 함수가 호출될 경우 함수로 가서 코드를 실행하고 다시 원래 코드로 돌아갈 주소를 스텍에 저장해둠 만..