Webhacking32 dreamhack Wargame: image-storage image-storage 문제 문제 풀이 파일을 업로드할 때 어떠한 검사도 하지 않는 웹 셸 업로드 공격에 취약한 점을 이용한다. 먼저, flag.txt 파일의 내용을 보여주는 명령어인 cat을 사용한 php 파일을 생성한다. upload 페이지에서 생성한 php 파일을 업로드해 준다. 파일이 업로드 되면 저장되었다는 페이지가 뜬다. List 페이지로 이동하면 저장된 flag.php 파일이 보인다. flag.php 파일을 클릭하면 flag가 저장되어 있는 /flag.txt 파일의 내용을 보여주는 명령어가 실행된다. 2022. 2. 13. dreamhack Wargame: command-injection-1 command-injection-1 문제 문제 풀이 Ping 페이지에서 Host에 ip값인 127.0.0.1을 입력하면 Ping Result 화면이 뜬다. 플래그는 flag.py 에 있으므로 host에서 요청을 보내 flag를 얻으면 된다. 입력받는 부분에 형식이 정해져 있으므로 개발자 페이지에서 pattern을 삭제해준다. 다음으로 app.py 파일을 보면 host 안에 입력 값이 들어가는데 ("") 안에 아무것도 들어가지 않아야 Command Injection을 수행할 수 있으므로 입력 값 앞뒤로 (")를 붙여주어 (")를 상쇄시켜준다. 그리고 ip값과 함께 다음 명령어가 실행될 수 있도록 (;)를 붙여주고 flag가 있는 flag.py를 보여주는 cat 명령어를 입력해준다. 위의 내용을 입력한 결과.. 2022. 2. 11. dreamhack Wargame: Mango Mango 문제 문제 풀이 . 을 이용하여 filter 우회가 가능하여 admin으로 로그인 가능 이제 Exploit Code를 작성한다. 정규표현식을 통해 한 글자씩 알아낸다. 따라서 여러 번 쿼리를 전달한다. 익스플로잇 코드 import requests import string url = "http://host1.dreamhack.games:19965/login" s = string.digits + string.ascii_uppercase + string.ascii_lowercase + "{}" result = "" // 플래그 값을 저장할 문자열 for i in range(32): for key, value in enumerate(s): // payload = "?uid[$gt]=adm&uid[$n.. 2022. 2. 6. dreamhack Wargame: simple_sqli 문제 simple_sqli 문제 풀이 - userid 검색 조건만 처리, 뒤의 내용은 주석 처리 admin"-- - userid 검색 조건 뒤에 or 조건을 추가하여 뒤의 내용 무시되고 admin이 반환됨 admin" or "1 - userid 검색 조건에 admin 입력 후, or 조건을 추가하여 userid를 admin으로 반환 admin" or userid="admin 비밀번호는 아무거나 적어주면 된다. 2022. 2. 6. dreamhack Wargame: csrf-2 csrf-2 문제 문제 풀이 app.js 코드의 /change_password 부분을 주목한다. admin의 쿠키 값의 획득과 함께 password도 변경할 수 있다. 따라서 http://host1.dreamhack.games:18905/flag 페이지에서 를 작성해주면 pw가 원하는 pw로 바뀌게 된다. 2022. 1. 30. dreamhack Wargame: csrf-1 csrf-1 문제 개념 CSRF(Cross Site Request Forgery) 공격 : 웹 애플리케이션 취약점 중 하나로 인터넷 사용자(희생자)가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 만드는 공격 - XSS : 악성코드가 클라이언트에서 발생 - CSRF : 악성코드가 서버에서 발생 (2008년도의 옥션 해킹 사고도 CSRF 공격) 문제 풀이 /admin/notice_flag 페이지를 방문해야 해서 userid 파라미터가 admin임을 확인해야 하기 때문에 flag 페이지에서 입력! 전송이 완료되면 로컬호스트에서 http://127.0.0.1:8000/vuln?param=에 접속 완료하면 flag 획득 가능하다. 2022. 1. 30. 이전 1 2 3 4 5 6 다음