euc-kr 서버에서 그누보드5 사용하기 채택완료
gilynh
11년 전
조회 9,613
euc-kr 로 세팅 되어 있는 계정에 그누보드 5 utf-8로 되어 있는 소스를 그대로 올려서 사용하고 있습니다.
다른 기능은 전부 정상적으로 출력되고 작동을 하는데, 문제는 escape_trim 함수가 제대로 작동을 하지 않습니다.
결론은 mysql_real_escape_string 함수가 제대로 동작을 하지 않는 다는 점인데요.
bo_table 변수에 sql인젝션을 먹여서 공격하면 바로 sql 에러문을 출력시켜버리네요.
xss 공격에도 무력화 되는 모습입니다.
동일한 공격을 utf-8서버에 설치된 그누보드 5에 하면 전혀 먹히지 않는 단순한 공격입니다.
stripslashes 함수로도 막히지 않고 뚫리는 모습입니다.
SunOS webbuild1 5.10 Generic_148888-03 sun4u
Apache 2.0
PHP Version 5.3.8
mysql Client API version 5.1.48
서버 환경입니다.
그누보드 5를 안쓰고 4 euc-kr을 쓰면 해결 될 일이긴 한데, 그누보드5를 꼭 쓰고 싶습니다.
전 소스를 euc-kr로 컨버팅해서 사용해보면 해결 될까요?
xss공격이나 sql인젝션 공격 방어나 혹은 다른 해결 법을 아시는 분 도움을 바랍니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
답변에 대한 댓글 4개
g
gilynh
11년 전
g
gilynh
11년 전
[code]
//common.php :: 364
if ($bo_table) {
$bo_table = escape_trim($bo_table);
$sql = " select * from {$g5['board_table']} where bo_table = '$bo_table' ";
$board = sql_fetch($sql);
[/code]
다행이 이 방식으로 bo_table 공격은 막았습니다. 그런데 xss등은 답이 안나오네요. ㅜ_ㅜ
//common.php :: 364
if ($bo_table) {
$bo_table = escape_trim($bo_table);
$sql = " select * from {$g5['board_table']} where bo_table = '$bo_table' ";
$board = sql_fetch($sql);
[/code]
다행이 이 방식으로 bo_table 공격은 막았습니다. 그런데 xss등은 답이 안나오네요. ㅜ_ㅜ
�
편리
11년 전
http://kr1.php.net/manual/en/function.mysql-real-escape-string.php#101248
위 내용대로 함수를 만들어서 사용하시는 건 어떨까 싶습니다.
위 내용대로 함수를 만들어서 사용하시는 건 어떨까 싶습니다.
g
gilynh
11년 전
편리님 감사합니다! ㅎㅎㅎ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
board.php?bo_table=04_noticeWFXSSProbe%27"%29%2F>
입니다.
addslashes도 안먹히고 sql에러문을 출력하네요.