kcaptcha 부분의 주민번호처럼 13자리수 오인탐지 보안관련 문의드립니다.

kcaptcha 부분의 주민번호처럼 13자리수 오인탐지 보안관련 문의드립니다.

QA

kcaptcha 부분의 주민번호처럼 13자리수 오인탐지 보안관련 문의드립니다.

본문

아래와 같은 보안조취사항을 전달받았습니다.

보드는 그누보드5 최신버전을 사용하고 있습니다.

 

아래와 같이 타임 스탬프 데이터가 주민번호로 오인탐지 되고 있어 확인 및 조치

탐지유형 : 개인정보유입탐지
탐지근거 : 주민등록번호 : 171223#######
위험도 : 보통
조치 : 탐지
URL : https://도메인/plugin/kcaptcha/kcaptcha_images.php


GET /plugin/kcaptcha/kcaptcha_images.php?t=1712233387317 HTTP/1.1


위와 같은 조취 권고사항을 받았습니다.

kcaptcha_images.php 의 t 변수 자릿수가 주민번호와 동일한 숫자 13자리여서 주민번호로 오인탐지 보안 오류가 생긴것 같습니다.

위 t 변수 자리수를 주민번호와 동일한 13자리가 아닌 10자리나 그이상 자릿수로 수정하려면 어느 부분을 수정해야 하는지 문의드립니다.

감사합니다.

이 질문에 댓글 쓰기 :

답변 3

plugin\kcaptcha\kcaptcha.js

 

파일 열어서 

 


var mp3_url = ""; 
요기에 추가 
let random_number = Math.floor(Math.random() * 1000);
 
캡차 getTime() 뒤에 + random_number 추가 해주세요
$('#captcha_img').attr('src', g5_captcha_url+'/kcaptcha_image.php?t=' + (new Date).getTime() + random_number);

 

풀코드입니다.


$(function(){
    var mp3_url = "";
    let random_number = Math.floor(Math.random() * 1000);
 
    $(document).on( "click", "#captcha_reload", function(){
        $.ajax({
            type: 'POST',
            url: g5_captcha_url+'/kcaptcha_session.php',
            cache: false,
            async: false,
            success: function(text) {
                $('#captcha_img').attr('src', g5_captcha_url+'/kcaptcha_image.php?t=' + (new Date).getTime() + random_number);
            }
        });
 
        $.ajax({
            type: 'POST',
            url: g5_captcha_url+'/kcaptcha_mp3.php',
            cache: false,
            async: false,
            success: function(url) {
                if (url) {
                    mp3_url = url + "?t="+new Date().getTime() + random_number;
                    $("#captcha_audio").attr("src", mp3_url);
                }
            }
        });
    });
 
    $(document).on( "click", "#captcha_mp3", function(){
        $("body").css("cursor", "wait");
 
        $.ajax({
            type: 'POST',
            url: g5_captcha_url+'/kcaptcha_mp3.php',
            cache: false,
            async: false,
            success: function(url) {
                if (url) {
                    mp3_url = url + "?t="+new Date().getTime() + random_number;
                }
            }
        });
 
        var html5use = false;
        var html5audio = document.createElement("audio");
        if (html5audio.canPlayType && html5audio.canPlayType("audio/mpeg")) {
            var wav = new Audio(mp3_url);
            wav.id = "mp3_audio";
            wav.autoplay = true;
            wav.controls = false;
            wav.autobuffer = false;
            wav.loop = false;
 
            if ($("#mp3_audio").length) $("#mp3_audio").remove();
            $("#captcha_mp3").after(wav);
 
            html5use = true;
        }
 
        if (!html5use) {
            var object = '<object id="mp3_object" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" height="0" width="0" style="width:0; height:0;">';
            object += '<param name="AutoStart" value="1" />';
            object += '<param name="Volume" value="0" />';
            object += '<param name="PlayCount" value="1" />';
            object += '<param name="FileName" value="' + mp3_url + '" />';
            object += '<embed id="mp3_embed" src="' + mp3_url + '" autoplay="true" hidden="true" volume="100" type="audio/x-wav" style="display:inline;" />';
            object += '</object>';
            if ($("#mp3_object").length)
                $("#mp3_object").remove();
            $("#captcha_mp3").after(object);
        }
 
        $("body").css("cursor", "default");
        return false;
 
    }).css('cursor', 'pointer');
 
    $("#captcha_reload").trigger("click");
});
 
// 출력된 캡챠이미지의 키값과 입력한 키값이 같은지 비교한다.
function chk_captcha()
{
    var captcha_result = false;
    var captcha_key = document.getElementById('captcha_key');
    $.ajax({
        type: 'POST',
        url: g5_captcha_url+'/kcaptcha_result.php',
        data: {
            'captcha_key': captcha_key.value
        },
        cache: false,
        async: false,
        success: function(text) {
            captcha_result = text;
        }
    });
 
    if (!captcha_result) {
        alert('자동등록방지 입력 글자가 틀렸거나 입력 횟수가 넘었습니다.\n\n새로고침을 클릭하여 다시 입력해 주십시오.');
        captcha_key.select();
        captcha_key.focus();
        return false;
    }
 
    return true;
}

 

이렇게 변경하시면 랜덤값이 추가로 붙어서 원하시는데로 됩니다.

 

회원가입도 잘되는거 방금 테스트 했습니다.

 

978180634_1712558797.7068.png

 

978180634_1712558779.2413.png

답변을 작성하시기 전에 로그인 해주세요.
전체 123,912 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT