command-injection-1

2023. 8. 30. 13:32· 보안/Dreamhack
반응형

Untitled.png

  • Page

Untitled.png

  • 문제 소스코드

Untitled.png

FLAG는 flag.py 에 있다고 힌트가 있었음

/ping 에 들어가면

Untitled.png

해당하는 Host로 Ping 테스트를 할수 있는 기능이 있음

Ping! 버튼을 눌러보면

Untitled.png

리눅스의 셸에서 실행된 결과값이 사이트상에 렌더링되어 출력된다.

다시 한번 코드를 살며보면

host = request.form.get('host')         cmd = f'ping -c 3 "{host}"' 

이 쪽부분에서 host는 ping값을 보낼 host를 form태그상에서 불러오고 cmd는 미리 짜여진 명령어안에 host의 ip만 대입하여 실행시키는것을 확인할 수 있다.

POST 요청의 패킷을 한번 살펴보면

Untitled.png

host=8.8.8.8 와 같은 요청으로 서버에 보내지는것을 확인

리눅스의 셸에서 다중 명령어를 사용할때는 ; (세미클론) 을 사용하여 앞과 뒤에 오는 명령어를 모두 실행시키는 의미를 담고있다.

ping 명령어를 실행 시킬때 ls 명령어도 같이 실행시켜서 사이트상에 렌더링되게

host=8.8.8.8; ls

라는 요청을 보내보았다.

Untitled.png

위와 같은 오류가 발생하는것으로 확인

여기에서 오류가 발생한 원인은 쌍따옴표로 감싸져있어서 발생한것 쌍따옴표를 사용하여 ping 의 명령어에서 탈출하고 세미클론으로 다음에 올 명령어를 작성하여줬다.

host=8.8.8.8";”ls

Untitled.png

ping 명령어 후에 ls 명령어 까지 실행된것을 확인 FLAG.py 가 /(루트) 상에 존재하는것을 확인

cat 명령어로 flag.py의 내용을 살펴보자.

Untitled.png

실행오류가 발생하는것으로 확인된다

→ 자세히 알지는 못하지만 추측상 띄어쓰기나 제일 끝에 쌍따옴표때문인걸로 추측됨

제일 끝에 쌍따옴표로 닫히는 부분을 주석처리해 쌍따옴표를 없애보자

";cat flag.py #

→ 명령어 상 ping -c 3 “”; cat flag.py

Untitled.png

";cat flag.py"

→ 명령어 상 ping -c 3 “”; cat flag.py ””

Untitled.png

반응형
'보안/Dreamhack' 카테고리의 다른 글
  • PHPreg
  • amocafe_2
  • baby-linux
Future0_
Future0_
rm -rf /
Future0_
Luna Developer Blog
Future0_
전체
오늘
어제
  • 분류 전체보기 (112)
    • 프로그래밍 (4)
      • 알고리즘 (4)
    • 보안 (14)
      • Dreamhack (4)
      • Hackthebox (1)
      • Webhacking (9)
    • 프로젝트 (4)
    • 공부 (80)
      • Database (2)
      • Python (11)
      • System (4)
      • Java (13)
      • JSP (13)
      • Spring (11)
      • Kotlin (16)
      • 자료구조 (10)
      • 기계학습 (0)
    • Docker (4)
    • Github (2)
    • Tip (1)
    • 잡담 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • webhacking
  • 자바빈즈
  • Kotlin
  • jsp
  • cs
  • 상속
  • 컴퓨터
  • api 통신
  • Android Studio
  • Java
  • spring
  • 코틀린기본문법
  • 자료구조
  • React
  • 키 해시
  • Database
  • ViewModel
  • 보안
  • Python
  • android studio 삭제
  • shared preference
  • dreamhack
  • Computer science
  • 알고리즘
  • 디버깅키해시
  • native app
  • 프로그래밍
  • SpringBoot
  • docker
  • 1.9.22

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
command-injection-1
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.