아래의 url로 기사가 나와서 직접 test를 하려고 했다.
http://www.boannews.com/media/view.asp?page=1&gpage=1&idx=25904&search=&find=&kind=0# [1]
이미 매뉴얼을 보거나 누군가의 지적에 의해 구현된 사항이었다.
그러나, root 권한으로 /tmp, /etc, /var/tmp 는 접근이 되는데, 그 외의 디렉터리 /var/www 등은 접근이 안 된다.
load_file하면, null 이 나온다.
my.cnf 를 수정하여,
secure-file-priv 를 고치게 되면, 해당 디렉터리만 접근하게 되는 건 맞다.
이를 적용함으로써 /etc 폴더를 보호할 수 있다.
그런데, 기본값이어도, web관련 폴더에 접근하지 못한다면, [1]의 결과는 무용지물 일 것이다.
현재 기본값으로 secure-file-priv 변수가 설정되지 않았는데, null 로 찍힌다. 즉 접근할 수 없다는 것이다.
[1] 은 windows 환경에서 apm을 설치해서 test 한 것인데, 나는 ubuntu에서 했기 때문에, wamp에서도 해봐야 할 듯 하다.
mysql> select load_file('/var/test/test.txt');
+---------------------------------+
| load_file('/var/test/test.txt') |
+---------------------------------+
| NULL |
+---------------------------------+
1 row in set (0.00 sec)
mysql> select load_file('/var/tmp/test.txt');
+--------------------------------+
| load_file('/var/tmp/test.txt') |
+--------------------------------+
| slkjf
|
+--------------------------------+
1 row in set (0.00 sec)
mysql> select load_file('/var/test.txt');
+----------------------------+
| load_file('/var/test.txt') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set (0.00 sec)
mysql> select load_file('/tmp/test.txt');
+----------------------------+
| load_file('/tmp/test.txt') |
+----------------------------+
| slkjf
|
+----------------------------+
1 row in set (0.00 sec)
댓글 달기