Old-48

2023. 8. 18. 11:38· 보안/Webhacking
목차
  1. 지금 까지 알아낸것
  2. delete를 수행하면 서버에서는 반드시 삭제 명령어를 수행하게 되어있음
  3. 커맨드 인젝션 (command injection)
반응형

Untitled.png

Memo의 input태그에 내용을 채우고 파일을 선택하고 업로드시 해당하는 POST 요청의 패킷값

Untitled.png

파일 Delete 시 패킷

Untitled.png

  • SQL 인젝션이나 XSS공격은 통하지 않음

Untitled.png

  • php문을 업로드하고 실행하면 실행이 될까 싶어서 업로드 후 접근해보았으나

Untitled.pngUntitled.png

위의 사진대로 text로만 나오고 서버 사이드 스크립트가 실행이 되지가 않는다.

  • 파일을 업로드하고 Delete를 누르면 파일과 메모가 같이 삭제되는것을 확인할수있음.

Untitled.png

지금 까지 알아낸것

  • Send 버튼을 누르면 Memo와 파일이 함께 업로드된다
    • 파일 업로드 대상 폴더 /upload/파일명
  • 업로드 파일 확인 시 GET 요청으로 /upload/파일명으로 접근할수 있다
  • 파일 삭제 시 GET요청으로 ?mode=del&time=timestamp 값 으로 삭제가 된다.
  • php문을 업로드해도 서버 사이드 스크립트가 작동하지 않음
  • 문제의 코드들과 작동방식을 봤을때 크게 취약점이 없는것 같음
    • 그리고 문제의 의도를 아직 파악하지 못하였지만 Memo를 통한것은 아닌거 같음
    • upload file을 보는 쪽과 업로드 파일, delete 쪽으로 다시 한번 생각을 해보았음

delete를 수행하면 서버에서는 반드시 삭제 명령어를 수행하게 되어있음

  1. 1.png 라는 파일을 업로드하면 /upload/ 경로에 1.png 라는 파일로 저장이 됨
  2. 주소에 GET요청으로 /upload/1.png 라는 URL로 접속이 가능한것을 보면 php는 관여하지 않고 아파치단에서 바로 파일을 처리해주는거 같음
  3. 하지만 delete 명령어 실행 시 무조건 서버단에서 쉘의 rm 명령어나 php의 unlink 등의 파일 삭제 함수를 사용한다.
  4. 파일 업로드 시 파일명이 난수화가 되지 않기 때문에 우리가 그대로 업로드한 이름 그대로 업로드가 됨
  5. delete 를 클릭할 때 서버에서 삭제 명령어가 실행될 때 내가 삽입하고 싶은 명령어를 같이 실행(다중명령어) 하려면 파이프라인(|) , ; 를 사용할수있음

BurpSuite로 업로드 하는 파일명을 바꿔서 서버에 보내봄

Untitled.png

그리고 Delete 실행 시

Untitled.png

Delete의 명령어가 실행되면서 ls 명령어도 같이 실행된것을 확인 할 수 있음

Untitled.png

위와 같은 해킹기법을

커맨드 인젝션 (command injection)

:명령어를 삽입한다

웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송, 웹 서버에서 해당 명령어를 실행하도록 하는 공격

(웹을 통해서 시스템 명령어(command)를 실행하는 공격)

반응형
  1. 지금 까지 알아낸것
  2. delete를 수행하면 서버에서는 반드시 삭제 명령어를 수행하게 되어있음
  3. 커맨드 인젝션 (command injection)
'보안/Webhacking' 카테고리의 다른 글
  • Old-18
  • Old-14
  • Old-32
  • Old-15
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)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

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

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
Old-48
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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