반응형
파일 업로드 우회 방법
NULL Byte Bypass
webshell.php%00.jpg
webshell.php%00.jpg 와 같이 중간에 NULL Byte를 넣어주게 되면,
NULL Byte는 문자열의 끝을 의미하므로 처리되는 파일명은 webshell.php가 되게된다.
HTML Encoding
잘 안되는 경우가 많은데 간단한 방법으로 webshell.ph%70 와 같이 HTML Encoding을
이용하는 방법이 있다.
PHP의 숨겨진 확장자명
PHP5는 안되고 PHP7에만 해당되는 내용이다.
PHP7에는 .php 이외에 추가로 인식하는 확장자가 여러개있다.
.php .php3 .php4 .php5 .php7 .pht .phtml .htm .html
JSP의 숨겨진 확장자명
.war
확장자 뒤에 .를 추가
업로드된 파일은 기본적으로 확장자 뒤의 .과 같은 기호를 무시한다. 하지만 업로드할때 체크하는 코드는 확장자만 인식할떄 사용할수 있다.
.php.. .php...
Content-type 을 수정해서 우회하는 방법.
파일을 처리할 때 HTTP는 파일의 종류에 따라 다른 Content-type을 사용한다.
jpg 는 image/jpg
png는 image/png
txt는 text/plain
php는 text/html 등
서버단에서 Content-type을 통해서 필터링할 경우 (text/html 차단)
프록시툴로 이 Content-type만 다른 것으로 수정해주는 것만으로도 우회가 가능하다.
Content-Disposition: form-data; name="file"; filename="webshell.php"
Content-Type: image/jpeg
반응형
'old > Cyber Security' 카테고리의 다른 글
사이버 보안: 인증과 인가 취약점이란? (0) | 2023.08.25 |
---|---|
사이버 보안: 동적분석과 정적분석이란? (0) | 2023.08.24 |
사이버 보안: File Upload 파일 업로드란 (0) | 2023.08.21 |
사이버 보안: 웹셀(Web Shell) 이란 (0) | 2023.08.21 |
웹 해킹 예제: 세션 고정 공격 (0) | 2023.08.17 |