본문 바로가기

스크립트5

php DB 인젝션 공격 방어 인젝션 방어를 위한 처리를 하기 위해선 get, post 로 넘어오는 모든 변수중에서 DB에 사용될 변수에 대해 검수를 거친뒤에 DB에서 사용하도록 해야하나 이미 구축된 사이트에 일일이 적용하기엔 힘들 경우 아예 get, post 데이터 전체를 검사하도록 다음과 같이 구현해 봤습니다. //인젝션 공격 막기 넘어오는 변수들 모두 검사 //GET while(list($fildn1,$fildv1) = each($_GET)) { if(eregi("--",$fildv1)) { echo ""; exit; } } //POST while(list($fildn2,$fildv2) = each($_POST)) { if(eregi("--",$fildv2)) { echo ""; exit; } } 일단 인젝션 공격에 대표적인 문.. 2009. 6. 17.
MSSQL 작업스케줄러로 반복 적으로 쿼리 실행하기 최근 스크립트 인젝션 공격으로 인해 DB에 가 삽입 되어 애를 먹은적이 있었다. 다행히 스크립트를 찾아서 지워주는 쿼릴 실행해서 복구는 되었으나 지속적으로 들어와 서비스를 중단하고 소스를 수정해야하는 사항까지 갈것 같았다. 그래서 생각한게 보안처리 될 동안 복구해주는 쿼리가 주기적으로 돌아가 주면 좋겠다는 생각에 MSSQL 에이전트 작업을 이용해보았다. 백업등을 목적으로 주로 이용하지만 이렇게 원하는 쿼리를 주기적으로 동작하게끔도 할수 있다. 1. 먼저 "엔터프라이즈 관리자"를 실행한다. 2. 다음으로 콘솔루트 > Microsoft SQL Servers > (LOCAL) ... > 관리 > 작업 을 선택한다. 3. 마우스 우측 버튼을 눌러 작업 추가를 선택한다. 여기서 이름을 구분할 수 있게 적어두고 범.. 2008. 11. 4.
DB injection script 스크립트 공격 복구 및 보안 DB injection 공격? 구글에서 ''' ); FETCH NEXT FROM Table_Cursor INTO @T, @C; END; CLOSE Table_Cursor; DEALLOCATE Table_Cursor; '스크립트 부분은 삽입된 스크립트를 입력 5. 보안 적용 1 - MSSQL 메모리에서 위험한 sp들을 내린다. 보안상 위협이 될 수 있는 개체들에 대하여 일반 사용자 그룹의 사용권한을 제한한다. 참조: http://blahblah.springnote.com/pages/351077 SP 등록해제는 위험을 감안해야 하므로 메모리에서만 내린다. 단점, 재부팅되거나 DB 재시작시 다시 아래 쿼리 실행 할것! dbcc xp_cmdshell(free) dbcc xp_dirtree(free) dbcc x.. 2008. 11. 1.
mssql 전체 테이블 문자 검색 변경 어느날 갑자기 DB에 "" 와 같은 내용이 삽입 된경우는 스크립트 삽입 공격을 받으신 겁니다. 참고로, 구글(http://www.google.co.kr) 에서 "" 내용을 검색해보세요. 국내 사이트중 어마어마 하게 많이 공격받은걸 확인 하실 수 있을겁니다. MSSQL 을 사용중인 서버들이 공격 대상입니다. 항상 느끼는거지만 윈도우 관련 서버들이 취약점이 많다 보니 이런 문제가 생기는 것 같네요 저도 더 자세히 관련 공격 원인과 방어를 찾아봐야겠지마 끝이 없는듯 ㅡㅡ; 그럼, 테이블 마다 일일이 삽입된 스크립트를 일일이 지우는것도 끝이 없죠 그래서 다음과 같이 쿼리를 실행 해주시면 문제의 스크립트가 있는 테이블, 컬럼을 일일이 자동으로 찾아서 삭제 해줍니다. DECLARE @T varchar(255), @.. 2008. 10. 20.