티스토리 뷰

웹사이트를 운영하다 보면  악의적으로  자동으로  게시판에 흔적을 남기는 경우가 있다.  해킹이라고 보기는 힘들지만  임의적으로 script를 돌려  해당 디비에 이상한 코드값을 넣는경우가 많다


이런건 웹방화벽인나  게시판  권한 설정으로 해서 나타나는 증상인데 


해당 게시판에 글쓰기나 글수정에 대한 권한 설정이 안한경우임의로 스크립트문에 의해 자동으로 디비에 insert 되거나 update 되는경우이다.



이러한  테이블을 조회할려는 sql경우는 



select * from 테이블명  where 테이블컴럼  like'임의변수'


저같은경우는



select * from 테이블  where  BD_ITEM4 like'<div style="display:none">fiogf49gjkf0d</div>'


<div style="display:none">fiogf49gjkf0d</div> 이런 값들이  해당 테이블에 저장되어서 링크가 잘못거리거나  화면이 이끌어지는 경우가 발생했다.


이러할경우는  첫번째 해당 테이블을 무조건 백업을 받는다





begin tran

update 테이블명

set 필드명 = REPLACE(필드명 ,'<div style="display:none">fiogf49gjkf0d</div>', '')

where 필드명 like '<div style="display:none">fiogf49gjkf0d</div>%'

rollback tran

commit tran


무조건 tran 으로 해서 처리를 해야한다 위의경우는 해당 필드가 varchar일 경우이며



컬럼이 text인 경우


begin tran

update 테이블명@01

set 컬럼명 = REPLACE(cast(컬럼명 as varchar(max)),'<div style="display:none">fiogf49gjkf0d</div>', '')

where 컬럼명 like '<div style="display:none">fiogf49gjkf0d</div>%'

rollback tran

commit tran



이렇게 하면 깔끔하게   udpate 된다.

이러면 덜 삽질할수 있지 않을까 싶다









'ASP및MS-SQL' 카테고리의 다른 글

MSSQL에서 ERROR로그 삭제방버  (0) 2016.12.01
MSSQL2012 서버메모리 작업  (0) 2016.02.22
MS-SQL SA 비밀번호 변경  (0) 2016.02.19
ASP 튜닝하기  (0) 2016.02.15
MS-SQL2008 R2 자동백업받기 - 유지관리계획  (0) 2016.02.04
댓글