![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6U6Lm%2Fbtr35voWOSy%2FXkaIjO06ZQniWaKipN1dC1%2Fimg.png)
오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 pathtraversal를 함께 풀어볼 예정이다. pathtraversal 사용자의 정보를 조회하는 API 서버입니다. Path Traversal 취약점을 이용해 /api/flag에 있는 플래그를 획득하세요! Reference Server-side Basic dreamhack.io ## 문제 설명: 문제 정보를 살펴보면 Path Traversal 공격을 활용하여 flag를 획득하면 되는 것으로 보인다. ## 문제 풀이 사이트에 접속해보니 다음과 화면이 보인다. Get User Info 버튼을 클릭하면 다음과 같이 입력값에 따라 데이터를 전송해주는 서비스가 보인다. 버프스위트를 활용하여 패킷을 확인해보면 다음과 같다. userid라는 파라미터가 존재..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXv3L6%2Fbtr4bkmk3j8%2F3sL0uVYuEfTcWdRrbfk3qk%2Fimg.png)
오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Robot Only를 함께 풀어볼 예정이다. Robot Only Description 로봇만 이용할 수 있는 도박장이에요. 로봇임을 인증하고 경기에서 이겨 플래그를 구매하세요! dreamhack.io ## 문제 설명: 문제 정보를 살펴보면 우리가 "로봇"임을 인증하 되는 것으로 보인다. ## 문제 풀이 해당 문제는 nc를 통해서 접속할 수 있다. 접속하면 다음과 같이 robot 인증 화면이 나온다. 아주 긴 숫자를 짧은 시간에 입력하라고 하는데, 자동화를 쓰지 않는 이상 입력할 수 없다. 여기서는 파이썬을 이용해서 풀어보겠다. 우선 로봇임을 인증해보는 코드를 작성해보겠다. ## 공격 코드 from pwn import * p = remote('hos..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnWhC0%2Fbtr3SYkDpWe%2FMxxU6AT71D8FFWg7ZKTqx0%2Fimg.png)
오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 adm1nkyj를 함께 풀어볼 예정이다. [wargame.kr] adm1nkyj Description text SQL injection Challenge! (injection) thx to adm1nkyj dreamhack.io ## 문제 설명: 문제 정보를 살펴보면 SQL Injection 공격을 활용하여 풀면 되는 것으로 보인다. ## 문제 풀이 사이트에 접속해보니 다음과 같은 소스 코드가 보인다.
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1SelG%2Fbtr3THiwG7W%2FWeOUDIjZZGVHsr2Iqb9oJ1%2Fimg.jpg)
이번 포스트에서는 bWAPP의 Heartbleed Vulnerability 문제를 실습해보겠다. ## 실습 bWAPP의 Heartbleed Vulnerability항목을 선택하면 아래와 같은 이미지가 보인다. 8443 포트로 로그인한 다음에 공격 스크립트를 실행하라는 문구가 나와 있다. 우선 8443 포트로 재로그인을 한다. 8443번 포트로 접속한 다음에 공격 스크립트를 확인하면 다음과 같이 임의 길이의 hello 변수가 보인다. Open ssl의 오버플로우 취약점과 해당 변수를 이용하여 서버의 정보를 탈취해보도록하겠다. python을 통해서 스크립트를 실행하면 다음과 같이 평문의 정보가 출력된 것을 확인할 수 있다.
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxLelP%2Fbtr3LG4wdj7%2Fep8NuSzev4vXYKKTpkVBk0%2Fimg.jpg)
이번 포스트에서는 bWAPP의 Unvalidated Redirects & Forwards 문제를 실습해보겠다. ## 실습 bWAPP의 Unvalidated Redirects & Forwards항목을 선택하면 아래와 같은 이미지가 보인다. 화면에 보이는 Beam 버튼을 클릭하면 다음과 같이 Blog 페이지로 리다이렉션 된다. 버프스위트로 요청 패킷을 확인해보면 다음과 같이 url을 호출하는 파라미터가 보인다. 파라미터만을 조작하여 공격할 수 있기 때문에 브라우저에서 다음과 같이 url 파라미터의 내용을 조작한다. 요청을 전송하면 다음과 같이 google.com이 호출된 것을 확인할 수 있다. 해당 공격은 Reflected XSS와 비슷하며, 사용자가 URL의 전체내용을 자세하게 확인하지 않는 점을 이용하여..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsAItN%2Fbtr3vOcjfA9%2FVZAqMOWkKpmtfEX5BYV9uk%2Fimg.jpg)
이번 포스트에서는 bWAPP의 SSRF 문제를 실습해보겠다. ## 실습 bWAPP의 SSRF항목을 선택하면 아래와 같은 이미지가 보인다. 여기서는 2번인 XXE파일을 활용하여 SSRF 공격을 수행해보겠다. 우선 소스 코드를 확인해보겠다. 소스 코드를 확인해보면 위와 같이 robots.txt, heroes.xml 총 2개의 xml 파일을 호출할 수 있는 것으로 보인다. 이제 파일을 삽입해야 하는데, SQL Injection을 통해 xml파일을 삽입해보도록 하겠다. 버프스위트로 패킷을 잡아보니 다음과 같이 xml 파일을 호출할 수 있는 부분이 보인다. 해당 부분을 이전 소스 코드에서 봤던 robots.txt의 xml코드로 덮어씌운 다음에, 태그 사이의 간격을 맞추고 패킷 전송하면 다음과 같이 robots.t..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZ13ug%2Fbtr3kxHuyf0%2Ft3cGpikUpbAQ5rTqYGXzcK%2Fimg.png)
이번 포스트에서는 DVWA의 CSP Bypass 문제를 실습해보겠다. ## 공격 정의 Content Security Policy (CSP)를 우회하여 악성 스크립트를 실행시키는 공격 방법 참고 : CSP는 웹사이트에서 발생할 수 있는 XSS 공격 등의 보안 취약점을 막기 위한 기술 중 하나로, 웹사이트에서 허용하는 리소스들을 명시하여 악성 스크립트 실행을 방지하는 역할을 함 ## 공격 다이어그램 정책에서 허용된 도메인의 이름을 악용하여, 악성 스크립트를 실행시키는 방법 정책에서 허용된 리소스에 취약점이 존재하여, 해당 취약점을 악용하여 악성 스크립트를 실행시키는 방법 CSP 헤더를 무시하도록 브라우저를 조작하여 악성 스크립트를 실행시키는 방법 ## 실습 DVWA의 CSP Bypass항목을 선택하면 아래와..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5AoCW%2Fbtr3CmkFXBR%2FPuU7TQFbSgnIeAkaAXCZDK%2Fimg.png)
이번 포스트에서는 DVWA의 CSRF 문제를 실습해보겠다. ## 공격 정의 Cross-Site Request Forgery (CSRF) 공격은 웹사이트의 사용자가 인증된 상태에서 공격자가 생성한 요청을 실행시켜, 사용자가 의도하지 않은 행동을 하도록 하는 공격 방법 악성 스크립트는 희생자의 쿠키 정보를 포함하여 서버로 요청을 전송하며, 이를 통해 공격자는 희생자의 계정으로부터 권한을 탈취하거나, 비정상적인 작업을 수행하는 등의 악의적인 행위를 수행 ## 공격 다이어그램 희생자는 인터넷 뱅킹 웹사이트에 로그인 이후, 희생자는 악성 웹사이트를 방문 악성 웹사이트는 자동으로 인터넷 뱅킹 웹사이트로 요청을 보내고, 이 때 요청에는 희생자의 쿠키 정보가 포함 인터넷 뱅킹 웹사이트는 쿠키 정보를 기반으로 요청을 검..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPjEsq%2Fbtr20xONCV1%2Fav8xixDYs2jn3fEy9iz87K%2Fimg.png)
이번 포스트에서는 DVWA의 XSS 문제를 실습해보겠다. ## 공격 정의 웹사이트에서 사용자가 입력한 데이터를 출력할 때, 입력된 데이터에 악성 스크립트를 삽입하여, 사용자의 브라우저에서 악의적인 행동을 수행하도록 유도하는 공격 방법 ## 공격 유형 Reflect XSS : 악성 스크립트가 URL 매개변수 등을 통해 전송되어, 해당 페이지를 방문한 특정 사용자에게만 악의적인 행동을 유도하는 공격 Stored XSS : 악성 스크립트가 서버에 저장되어, 해당 페이지를 방문한 모든 사용자에게 악의적인 행동을 유도하는 공격 Dom-Based XSS : 사이트에서 JavaScript를 사용하여 동적으로 생성된 DOM(Document Object Model) 요소에 악성 스크립트를 삽입하여, 해당 웹페이지를 방문..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCpkYo%2Fbtr2ZVPWPM0%2F3ms23Yrlngqluh9MWWPK01%2Fimg.png)
이번 포스트에서는 DVWA의 Blind SQL Injection 문제를 실습해보겠다. ## 공격 정의 질의 결과를 이용자가 화면에서 직접 확인하지 못할 때 참 / 거짓 반환 결과로 데이터를 획득하는 SQL Injection 공격 기법 일반적인 SQL Injection 공격보다 더욱 어려운 공격. 이는, SQL Injection Blind 공격에서는 결과값이 출력되지 않으므로, 공격자가 정보를 수집하기 위해 사용할 수 있는 수단이 제한적이기 때문 SQL Injection Blind 공격은 대상 시스템에서 취약점을 확인할 수 있는 데 있어서 매우 효과적인 공격 방법 중 하나 ## 공격 다이어그램 공격자는 대상 시스템에서 취약점을 찾기 위해, SQL Injection 공격을 수행 대상 시스템에서 SQL 쿼리의..