g5_table의 vi_referer 안전한가요?
본문
안녕하세요.
질문드립니다.
질문1.
가.
관리자 페이지에서 접속자집계 데이타가 들어가 있는g5_visit 테이블 이외에도 g5_visit2 역시 기본 테이블인가요?
나.
그리고 g5_visit_old 이라는 테이블 또한 기본 테이블인가요?
다.
혹시 g5_visit에 데이타가 많이 쌓이면,
g5_visit를 g5_visit_old 로 rename 하고
속이 텅빈 새로운 g5_visit 생성하도록 코딩이 되어있는지요?
그렇게 코딩이 되어있다면 어느 파일에 있는지요?
질문2.
가.
g5_visit 테이블에 데이타가 쌓이는 것은,
접속자의 의사와 관계 없이 싸이트에 접속하면 자동으로
데이타가 형성되는 것으로 이해하고 있는데, 혹시 g5_visit 의 칼럼
vi-referer 에 접속자가 자기가 원하는 임의의 데이타를 넣을 수 있는지요?
만약에 접속자가 자기가 원하는 임의의 데이타를 입력하려면, 어찌하면 되는지요?
g5_visit 에 아래와 같은 데이터가 들어와 있습니다.
(1823522, '61.162.216.161', '2020-03-21', '07:38:48', 'https://MyWebsite.com/?s=index/\\think\\template\\driver\\file/write&cacheFile=robots1.php&content=xbshell<?php @eval($_POST[admin]);?>', 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)', '', '', '')
나.
s=index/\\think\\template\\driver\\file/write&cacheFile=robots1.php&content=xbshell
뜻은 무엇일까요?
다.
<?php @eval($_POST[admin]);?> 또한 접속자가 의도적으로 끼어 넣은 것으로 보이는데,
이렇게 끼어 넣은후 이를 어찌 사용하는지 구체적으로 Step by Step 설명을 해주시면
너무나 감사하겠습니다.
라.
/bbs/visit_insert.inc.php 를 열어보면
// $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
$remote_addr = escape_trim($_SERVER['REMOTE_ADDR']);
$referer = "";
if (isset($_SERVER['HTTP_REFERER']))
$referer = escape_trim(clean_xss_tags($_SERVER['HTTP_REFERER']));
이라고 되어있는데, 아래 두줄을 추가하는 것으로 해결이 될까요?
if (preg_match('php', $referer))
str_replace('php', 'p*p', $referer);
답변 부탁드립니다.