그누보드에서 룰셋에 의해 게시판 수정이 차단될때 처리방법
작성일자 : 2010년 3월 5일
작성자 : neosky (nple.com / seroot.com / neosky@smileserv.com)
1) 테스트 환경
OS : CentOS
Apache : 1.3.x
mod_security : 1.9
2) 룰셋에 의해 차단된 상태
그누보드 관리자페이지 -> 게시판관리 -> 각 게시판 수정 양식에서
다음과 같이 상단(하단)파일 경로에 상위 경로로 설정한 경우
설정 완료후 [확인] 버튼를 누르면 아래와 같이 403 에러 페이지를 만날 수 있습니다.
mod_security 룰셋에 의해 \.\ 이 들어간 구문은 공격으로 간주 차단하고 있기 때문입니다.
3) 룰셋을 우회하는 정책 설정
mod_security.conf 설정파일에 아래와 같이 차단 룰셋 전에 적어줍니다.
아파치를 재시작하고 다시 확인해보면 정상적으로 처리되는 것을 확인할 수 있습니다.
정상처리 되지만 security 로그에는 그대로 남습니다.
==51912f4a==============================
Request: test.co.kr 220.x.x.x - - [05/Mar/2010:13:30:53 +0900] 'POST /adm/board_form_update.php HTTP/1.1' 200 141 'http://nple.com/adm/board_form.php?w=u&bo_table=FREEBOARD&&sst=&sod=&sfl=&stx=&page=0' 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)' - '-'
----------------------------------------
POST /adm/board_form_update.php HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, */*
Accept-Encoding: gzip, deflate
Accept-Language: ko
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 7638
Content-Type: multipart/form-data; boundary=---------------------------7da2be31105c8
Cookie: f33d2ed86bd82d4c22123c9da444d8ab=MTI2Nzc1MjUxNQ%3D%3D; 2a0d2363701f23f8a75028924a3af643=MjIwLjkwLjIxNS40; PHPSESSID=5adb9538e91a2017efd6aefeeac704f6; 96b28b766b7e0699aa91c9ff3d890663=aHR0cDovL3Rlc3QuZ29nb2F1ZGlvLmNvLmtyLw%3D%3D
Host: nple.com
Referer: http://nple.com/adm/board_form.php?w=u&bo_table=FREEBOARD&&sst=&sod=&sfl=&stx=&page=0
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
mod_security-message: Access allowed. Pattern match 'bo_include_head=(http:|https:|\\.\\.)' at POST_PAYLOAD [severity 'EMERGENCY'] <== 허용한 룰임을 밝히고 있음.
* SEROOT.COM 블로그는 맑은고딕체가 설치된 PC에서 잘 보입니다. :)
작성일자 : 2010년 3월 5일
작성자 : neosky (nple.com / seroot.com / neosky@smileserv.com)
1) 테스트 환경
OS : CentOS
Apache : 1.3.x
mod_security : 1.9
2) 룰셋에 의해 차단된 상태
그누보드 관리자페이지 -> 게시판관리 -> 각 게시판 수정 양식에서
다음과 같이 상단(하단)파일 경로에 상위 경로로 설정한 경우
3) 룰셋을 우회하는 정책 설정
mod_security.conf 설정파일에 아래와 같이 차단 룰셋 전에 적어줍니다.
# (2010-03-05) 그누보드 관리자페이지에서 게시판 정보 수정시
# 상단 파일 경료, 하단 파일 경로에 '..' 상위경로 탐색 문구 삽입시 룰에 의해 차단되었던 것을
# 차단하지 않도록 설정하였음
SecFilterSelective ARGS|REQUEST_URI 'bo_include_head=(http:|https:|\.\.)' allow
SecFilterSelective ARGS|REQUEST_URI 'bo_include_tail=(http:|https:|\.\.)' allow
# 상단 파일 경료, 하단 파일 경로에 '..' 상위경로 탐색 문구 삽입시 룰에 의해 차단되었던 것을
# 차단하지 않도록 설정하였음
SecFilterSelective ARGS|REQUEST_URI 'bo_include_head=(http:|https:|\.\.)' allow
SecFilterSelective ARGS|REQUEST_URI 'bo_include_tail=(http:|https:|\.\.)' allow
아파치를 재시작하고 다시 확인해보면 정상적으로 처리되는 것을 확인할 수 있습니다.
정상처리 되지만 security 로그에는 그대로 남습니다.
==51912f4a==============================
Request: test.co.kr 220.x.x.x - - [05/Mar/2010:13:30:53 +0900] 'POST /adm/board_form_update.php HTTP/1.1' 200 141 'http://nple.com/adm/board_form.php?w=u&bo_table=FREEBOARD&&sst=&sod=&sfl=&stx=&page=0' 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)' - '-'
----------------------------------------
POST /adm/board_form_update.php HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, */*
Accept-Encoding: gzip, deflate
Accept-Language: ko
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 7638
Content-Type: multipart/form-data; boundary=---------------------------7da2be31105c8
Cookie: f33d2ed86bd82d4c22123c9da444d8ab=MTI2Nzc1MjUxNQ%3D%3D; 2a0d2363701f23f8a75028924a3af643=MjIwLjkwLjIxNS40; PHPSESSID=5adb9538e91a2017efd6aefeeac704f6; 96b28b766b7e0699aa91c9ff3d890663=aHR0cDovL3Rlc3QuZ29nb2F1ZGlvLmNvLmtyLw%3D%3D
Host: nple.com
Referer: http://nple.com/adm/board_form.php?w=u&bo_table=FREEBOARD&&sst=&sod=&sfl=&stx=&page=0
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
mod_security-message: Access allowed. Pattern match 'bo_include_head=(http:|https:|\\.\\.)' at POST_PAYLOAD [severity 'EMERGENCY'] <== 허용한 룰임을 밝히고 있음.
* SEROOT.COM 블로그는 맑은고딕체가 설치된 PC에서 잘 보입니다. :)


당신의 의견을 작성해 주세요.