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

그누보드에서 인자값에 \ 자동으로 붙이는 코드가 어디있나요? 채택완료

이하성 7년 전 조회 2,236

안녕하세요.

그누보드 시스템에선 특정 특수문자를 인자값을 전달 시 특수문자 앞에 \ 가 붙는 것을 확인하였습니다.

ex)

' > \' 
\ > \\ 

 

아마도 SQL 인젝션과 같은 보안상의 이유로 그누보드 시스템 자체적으로 어디선가 이를 정의한거 같은데, 위의 내용을 수행하는 코드가 어떤 파일에 있나요? 알려주신다면 감사하겠습니다.

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

답변 3개

채택된 답변
+20 포인트
그누위즈

www/common.php 파일에서

해당 부분을 수정하셔야합니다.

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

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

플래토
7년 전

설명이 조금 복잡하긴한데요

 

common.php가 기본적으로 인클루드되고

"쌍따옴표, ' 따옴표 등의 문자에 대해서

 

array_map_deep 함수를 통해서

G5_ESCAPE_FUNCTION에 해당되는 내용이 호출되고

해당 내용은

sql_escape_string에 매핑되서

php함수인

addslashes

를 작동시킵니다.

 

그래서, 위의 질문과 같은 형태로 만들어진 값이 넘겨받게 됩니다.

이런게 싫으시면

 

//include_once('./_common.php');

와 같이  주석으로 막아보세요

글러면 원하시는 따옴표로 받을수있을겁니다만

보안은 책임질수 없겠죠

 

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

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

플래토
7년 전

/lib/common.lib.php

 

 

funciton bad_tag_convert ($code) {

.........

 

이걸 찾으시는건가요?

 


// 검색어 특수문자 제거
function get_search_string($stx)

 

 


// XSS 관련 태그 제거
function clean_xss_tags($str)

 

 


// unescape nl 얻기
function conv_unescape_nl($str)

 

 


// 파일명에서 특수문자 제거
function get_safe_filename($name)

 


// QUERY STRING 에 포함된 XSS 태그 제거
function clean_query_string($query, $amp=true)

 

 

이중에서 필요핫니걸 찾으시면되지 않을까 싶네요

 

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

답변에 대한 댓글 1개

이하성
7년 전
말씀해 주신 함수들 모두 찾아서 함수를 삭제하거나 return 값을 함수인자값 그대로 반환하는걸로 바꾸어 보아도 결과값은 동일합니다ㅜㅜ

/bbs/login.php?test='grd'

위와 같이 인자값에 '(작은따움표)가 있을 때, echo $_GET['grd'] 를 하게 되면 \'grd\' 로 출력이 됩니다.. 님께서 써주신 함수 중에 쿼리스트링에서 XSS 태그를 제외하는 함수가 가장 근접해 보였으나 해당 함수를 아무리 조작해 봐도 결과값은 동일합니다ㅜ 그누보드+아미나 빌더를 사용하고 있는데 어째서 이런 결과값이 나오는 것일까요ㅜ

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

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

로그인