hacking/pwnable74 [Dream hack] Logical Bug: Command Injection 들어가며서론우리가 프로그램을 개발할떄, 코드를 작성하는 것보다이미 설치된 소프트웨어를 사용하는 것이 더 쉬울 때가 있따. 뭐, 파일 내용출력하는 셸프로그랢을 작성에서 파일 출력 코드를 직점 작성하느게 아니라,시스템에 있는 cat을 활용하는 예가 있다. 이러한 이유로 c/c++ 프로그래밍에선 system 함수를 사용한다.system 함수는 전달된 인자를 셸프로그렘애 보내서 실행한다. (system("cat flag") == 쉘에서 cat flag ) 하지만 함수의 인자를 셸에 명령어로 전달 하는 것에서 취약점으로 이어지기도 한다.Command InjectionCommand Injection인젝션(Injection): 악의적인 데이터를 입력해서 시스템 명령어, 코드, 데이터 베이스 쿼리(DB 조작) 등으로.. 2024. 9. 6. [Dream hack] sint (p32) 보호되어 있는 글 입니다. 2024. 9. 5. [Dream hack] cmd_center https://dreamhack.io/wargame/challenges/117 cmd_centerDescription IP를 확인할 필요가 없습니다! 혹시 다른 명령어는 못쓰나요? 다른 명령어를 사용했다면 플래그를 획득하세요! References https://dreamhack.io/learn/2/1#3 https://dreamhack.io/learn/2/14#3dreamhack.io답먼저 문제 코드를 본다.일단 init 부분은 크게 중요하지 않으니 넘어간다.(입출력 속도 관련된것 같은데 핵심기능은 아닌것 같다.) 그리고 먼저 실행을 해본다.뭘 입력해도 특별한 행동이 없다.코드를 봐보면 center_name에 입력받는데 그걸가지고 실제 돌아가는 코드는 없다.(와우 이럴거면 왜 만들었는지 모르겠다. 하지만.. 2024. 9. 4. [Dream hack] Logical Bug: Path Traversal 들어가며서론리눅스는 파일 시스템에 접근해서 파일의 데이터를 읽거나, 쓸 수 있다.cat으로 출력하면, cat은 파일을 열고, 일고 stdout에 데이터를 출력한다.로컬에서 접근하는걸 외부에 공개할때 접근에 제한을 두어야 한다..예를 들어, 사용자에게 각자 디렉토리를 주고, 자유롭게 활용할 수 있게 한다면,개발자는 사용자의 디렉토리만 접근하게 해야한다. 나쁜 놈들이 다름 파일을 훔치거나, 조작하여 서버를 장악할 수 있기 때문이다. Path Traversal: 위와 같은 서비스에서 사용자가 허용되지 않은 경로에 접근할 수 있는 취약점을 말한다. 사용자가 접근하는 경로에 검사가 나빠서, 임의 파일 읽기 쓰기의 수단으로 활용될 수 있다.리눅스 경로절대 경로와 상대 경로리눅스에는 파일의 경로를 지정하는데 2가지 .. 2024. 9. 1. [Dream hack] Tool: pwntools 보호되어 있는 글 입니다. 2024. 8. 7. [Dream hack] Quiz: Static Link vs. Dynamic Link-4 답더보기정적 링크에선 모든 함수 코드가 이미 실행 파일에 포함되어 있어,프로그램 실행 시 함수 주소가 정해져 있다. 그래서 runtime resolve는 필요 없다. runtime resolve는 동적 링크에서만 발생한다. 참고https://iloveprogramming.tistory.com/218 [Dream hack] Background: Library - Static Link vs. Dynamic Link iloveprogramming.tistory.com 끝 2024. 8. 2. 이전 1 2 3 4 5 6 7 ··· 13 다음