테스트 사이트 - 개발 중인 베타 버전입니다

g5_table의 vi_referer 안전한가요? 채택완료

박승우 4년 전 조회 1,685

안녕하세요.

질문드립니다. 

질문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);

답변 부탁드립니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
4년 전

원본 기준으로 g5_visit2, g5_visit_old 테이블은 없고

가, 나, 다 전부 관련된 부분이 없습니다. 별도로 추가된 것 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

박승우
4년 전
작은별님,

질문1.에 대한
답변감사드립니다.


그런데 혹시 시간이 되시면,
질문 2.에 대한 답변도 주실수 있겠는지
부탁드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인