dreamhack 웹 해킹 Stage7
- Command Injection-1 혼자 실습
*Brute Suite
특정 사이트인 네이버, 구글에서 새로 고침(F5)를 누르거나 어떤 버튼을 클릭하여 이동할 때에 우리(사용자, Client)가 브라우저에 보낸 요청(Request)가 브라우저에 보낸 요청(Request)가 발생하며, 그 요청에 의해 네이버 또는 구글의 서버에서(Server) 응답(Responses)를 보내준다.
값을 변경하여 서버로 보낼 경우, 응답이 어떻게 오는지에 따라 값을 변경하여 시도할 수 있다.
버프를 사용하지 않을 경우, 브라우저에서의 사용자 요청 -> 서버 응답으로 바로 이루어진다.
버프를 사용할 경우, 브라우저에서 사용자 요청 -> 버프 -> 서버 응답으로 이루어진다
버프에서 사용자가 관련 요청을 읽어보고 수정하여 서버로 보낼 수 있으므로 취약점을 분석할 수도 있으나 보안이 취약한 홈페이지에 대하여 악용할 소지도 있다.
8.8.8.8은 구글 DNS 주소로 ping 테스트를 할 때 많이 사용한다.
8.8.8.8을 입력하면 아래와 같은 화면이 나온다.
확인을 위해서 ;(한 줄에 여러 명령어를 사용하고 싶을 때 명령어의 구분을 위해서 사용)로 구분하여 다중명령을 전달하려고 했지만 형식에 맞지 않는다는 문구가 뜬다.
코드를 보니 pattern으로 형식을 지정하고 있었다.
*Brute Suite로 패킷을 인터셉트하면 host 파라미터에 8.8.8.8이 저장된다. 해당 파라미터에 값을 수정하여 문제를 해결할 것이다.
파라미터 값 뒤에 ;ls 를 붙이고 Forward를 통해서 ls 명령어를 실행했다.
파라미터를 둘러싸고 있는 "때문에 오류가 발생하고 있다. 해당 형식에 맞춰서 다시 수정한다.
ping -c 3 "8.8.8.8";ls "." 라는 명령어를 실행했다.
현재 디렉터리에 파일들이 출력됐다. 파일 중에 flag.py라는 파일을 출력하면 플래그를 알 수 있을 것이라고 생각했다.
cat명령어를 사용해서 flag.py 파일을 출력했다.
해당 명령어를 전송하니 플래그가 보였다.
FLAG = 'DH{pingpingppppppppping!!}'
'Dreamhack > Web Hacking' 카테고리의 다른 글
Stage8 image-storage (0) | 2022.08.26 |
---|---|
Stage6 (0) | 2022.08.07 |
Stage5 (0) | 2022.07.31 |
웹 해킹 Stage4 (0) | 2022.07.25 |
SOP(Same Origin Policy) (0) | 2022.07.21 |