no image
Exploit Tech: Return to Shellcode
01 분석1. 보호기법 탐지 checksec : 보호기법을 파악할 때 주로 사용하는 툴pwntools를 설치할 때 같이 설치되어 ~/.local/bin/checksec에 위치// Name: r2s.c// Compile: gcc -o r2s r2s.c -zexecstack#include #include int main() { char buf[0x50]; printf("Address of the buf: %p\n", buf); printf("Distance between buf and $rbp: %ld\n", (char*)__builtin_frame_address(0) - buf); printf("[1] Leak the canary\n"); printf("Input: "); fflu..
2024.05.14
no image
유니티 3D 기초 - Navigation Mesh
01 Navigation MeshNavMeshAgent : 네비게이션 메시 정보를 바탕으로 이동하는 오브젝트OffMeshLink : 연결이 끊어져 있는 절벽, 낭떠러지, 사다리 등을 이동 가능하게 설정Navigation Mesh : 게임월드에 이동 가능, 이동 불가능 등의 경로를 데이터로 저장NavMeshObstacle : 이동하는 장애물의 네비게이션 메시 정보를 실시간으로 설정 https://velog.io/@cjb0325/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EB%84%A4%EB%B9%84%EA%B2%8C%EC%9D%B4%EC%85%98-%EC%8B%9C%EC%8A%A4%ED%85%9C-NavMesh-2023.09.26> Package Manager >> Unity Registry >>..
2024.05.13
no image
[JuiceShop] Visual Geo Stalking
Photo Wall를 통해 Emma의 보안 질문 답을 찾고 비밀번호를 재설정하는 문제 adminstraion 페이지에서 emma의 아이디를 확인하고  Forgot Password에서 아이디를 입력하면 보안 질문을 확인할 수 있다.emma의 성인이 된 후 처음 입사한 회사를 찾으면 된다. Photo Wall에 업로드된 사진 중 하나이다. 이미지를 확대해서 보면 ITsec이라는 글씨가 창문에 보인다. 다시 돌아와서 ITsec을 보안 질문에 입력하면 비밀번호 재설정이 가능하다.
2024.05.12
no image
[JuiceShop] Payback Time
당신을 부자로 만드는 주문을 하세요.. Juice Shop 홈페이지에서는 위와 같이 물건을 살 수 있게 만들어져 있다.물건을 담고 주문하는 과정에서 어떤 메시지들이 전송되는지 확인했다. 장바구니에 물건을 넣고 +버튼을 눌렀을 때 보내지는 메시지를 확인했다.Burp Suite을 통해 확인하면 quantity 값이 2로 보내지는 것을 확인할 수 있다. 부자가 되기 위해서는 홈페이지에서 물건을 사는 것이 아니라 돈을 받아야 한다.따라서 quantity 값을 음수로 변경하여 전송한다. 수량이 -20개로 변경되었다. 이대로 결제를 진행하면 가격이 음수로 측정되어 결제가 된다.
2024.05.12
no image
SQL 기본 3
05 GROUP BY, HAVING 절1. GROUP BY말 그대로 데이터를 그룹별로 묶을 수 있도록 해주는 절이다. 2. 집계 함수데이터를 그룹별로 나누면 그룹별로 집계 데이터를 도출하는 것이 가능해진다.ex. 유튜브 이용자 수를 국가별로 그룹핑한다고 했을 때 나라별로 얼마만큼의 이용자가 있는지 COUNT 해볼 수 있다. 3. HAVINGGROUP BY 절을 사용할 때 WHERE 절처럼 사용하는 조건절주로 데이터를 그룹핑한 후 특정 그룹을 골라낼 때 사용한다.HAVING 절은 논리적으로 GROUP BY 절 이후에 수행되기 때문에 그룹핑 후에 가능한 집계 함수로 조건을 부여할 수 있다.HAVING 절은 논리적으로 SELECT 절 전에 수행되기 때문에 SELECT 절에 명시되지 않은 집계 함수로도 조건을 ..
2024.05.09
no image
Mitigation: Stack Canary
Stack Canary스택 카나리는 함수의 프롤로그에서 스택 버퍼와 반환 주소 사이에 임의의 값을 삽입하고, 함수의 에필로그에서 해당 값의 변조를 확인하는 보호 기법이다.카나리 값의 변조가 확인되면 프로세스는 강제로 종료된다. 스택 버퍼 오버플로우로 반환 주소를 덮으려면 반드시 카나리를 먼저 덮어야 하므로 카나리 값을 모르는 공격자는 반환 주소를 덮을 때 카나리 값을 변조하게 된다. 01 카나리의 작동 원리1. 카나리 정적 분석#include int main() { char buf[8]; read(0, buf, 32); return 0;}스택 버퍼 오버플로우 취약점이 존재하는 코드를 작성한다. 카나리 비활성화gcc -o no_canary canary.c -fno-stack-protector컴파일 옵션으로..
2024.05.07
no image
basic_exploitation_001
#include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30);}void read_flag() { system("cat /flag");}int main(int argc, char *argv[]) { char buf[0x80]; initialize(); gets(buf); return 0;}buf라는 크기가 0x80(16진..
2024.05.07
no image
function 3 - View 와 Pure
view와 pure는 접근제한자 앞 뒤에 위치할 수 있다. view : function 밖의 변수들을 읽을 수 있으나 변경 불가능pure : function 밖의 변수들을 읽지 못하고 변경도 불가능둘 다 명시를 안 할 경우 : function 밖의 변수들을 읽어서, 변경을 해야 함  viewviewExample라는 함수는 public 함수이며, view가 있어서 상태를 변경하지는 않고 a+2를 반환한다.배포된 결과를 보면 viewExample에서는 3이 반환되고 a는 변경되지 않고 여전히 1인 것을 알 수 있다.  pure pureExample 값은 7이 반환되었다. function 밖에 변수를 읽지 않고 function 내에 변수들로만 사용된다는 것을 볼 수 있다.  명시를 안 할 경우view와 pur..
2024.05.07
no image
function 2 - public,private,internal, external
public : 모든 곳에서 접근 가능external : public 처럼 모든 곳에서 접근 가능하나, exteranal 이 정의된 자기 자신의 스마트컨트랙 접근 불가private: 오직 private이 정의된 자기자신의 스마트컨트랙에서만 가능( private이 정의된 현재 이 컨트랙을 상속받은 자식 컨트랙도 접근불가)interal : private 처럼 오직 internal이 정의된 자기 자신의 스마트컨트랙에서도 가능( internal이 정의된 현재 이 컨트랙을 상속받은 자식 컨트랙도 접근가능)public privatea는 외부에서 조회할 수 있으므로 배포했을 때 a가 나타나는 것을 확인할 수 있고, a2는 private이기 때문에 외부에서 조회할 수 없어 값을 읽을 수 없다. public이기 때문에 ..
2024.05.07
no image
[JuiceShop] CAPTCHA Bypass
20초 이내에 10개 이상의 고객 피드백을 제출하는 문제 피드백을 제출할 수 있는 화면이다.피드백 폼에는 스크립트를 통한 남용을 방지하기 위한 CAPTCHA가 포함되어 있다.CAPTCHA는 인간과 컴퓨터를 구별할 수 있는 프로그램이다. 무차별 대입 공격을 포함한 모든 종류의 자동화된 남용을 막는 데 특히 효과적이다. 문제는 10개의 피드백을 빠르게 제출하는 것이기 때문에 10개의 브라우저 탭을 준비하고 피드백을 작성할 수 있을 것이다. 하지만 만약 10개가 아닌 100개라면 이 방법은 불가능할 것이다.따라서 CAPTCHA 매커니즘이 어떻게 작동하는지 알고 우회 방법이나 동적으로 해결하는 자동화된 방법을 찾아야 한다. 일단 Burp Suite를 사용해서 어떤 메시지를 요청하는지 살펴본다. captchaId..
2024.05.07
no image
[JuiceShop] Forged Feedback
다른 사용자의 이름으로 피드백을 게시하는 문제Juice Shop에서는 사용자가 일반적인 피드백을 제공할 수 있다.로그인하면 피드백이 현재 사용자와 연결되며 로그인하지 않으면 피드백이 익명으로 게시된다.이 문제는 다른 사용자의 이름으로 피드백을 께시하여 다른 사용자를 비방하려는 목적이다. 문제해결 과정HTML form 분석으로 잠재적인 취약점이나 악의적인 코드를 삽입할 수 있는 영역을 찾는다.백엔드와의 통신을 가로채서(Proxy) 데이터 전송을 확인한다.일반적을 발생하는 취약점 중 하나는 XSS이다.공격자는 악의적인 스크립트를 다른 사용자가 볼 수 있는 웹페이지에 삽입하며, 주로 악성 자바스크립트 코드가 삽입된다.간단한 자바스크립트 경고 스크립트(alert)를 피드백 텍스트 영역에 삽입하고 폼을 제출한다...
2024.05.07
no image
유니티 3D 기초 - CharacterController 기반의 오브젝트 이동
01 CharacterController 컴포넌트3차원 게임에서 사람 형태의 캐릭터 움직임과 관련된 제어를 위해 사용캡슐(Capsule) 형태의 충돌 범위가 포함되어 있다따로 Collider 컴포넌트를 추가하지 않아도 됨Slope Limit : 올라갈 수 있는 경사 한계 각Step Offset : 설정 값보다 낮은 높이의 계단(그 외 오브젝트)을 오를 수 있다Center : Capsule 충돌 범위의 중심점Radius : Capsule 충돌 범위의 반지름 (x, z)Height : Capsule 충돌 범위의 높이 (y)02 게임 월드 구성, 플레이어 캐릭터 제작GameWorld 프리팹을 사용했고 한눈에 들어오도록 Main Camera의 위치를 조정했다. 플레이어 캐릭터 오브젝트 생성 플레이어 캐릭터 오브..
2024.05.07
Prev 1 ··· 4 5 6 7 8 9 10 ··· 15 Next
반응형