MSSql에서 스토어드 프로시져를 통해 Command Shell 을 실행시킬수 있다.
이걸 이용해 외부에서 디렉토리 접근등 해킹에 이용될수 있기 때문에 xp_cmdshell 의 사용을 중지시켜 해킹에 대비할수 있다. Stored procedure Purpose sp_ActiveDirectory_SCP Add, change, or delete Active Directory directory service objects sp_adddistpublisher Replication sp_adddistributiondb Replication sp_attachsubscription Replication sp_changedistpublisher Replication sp_copysubscription Replication sp_MScopysnapshot Replication sp_MScopyscriptfile Replication install sp_MSget_file_existence Replication install sp_MSremove_userscript Replication install sp_replicationoption Replication sp_vupgrade_replication Replication install sp_MSreplremoveuncdir Replication called from distribution database sp_MSdeletefoldercontents Replication called from distribution database sp_resolve_logins Log shipping Sp_set_local_time MSDB sp_msx_defect MultiServer administration sp_msx_enlist MultiServer administration 위자료는 xp_cmdshell로 실행시킬수 있는 명령어들.. xp_cmdshell 해제법. exec sp_dropextendedproc 'xp_cmdshell' 재등록 exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll' 혹시라도 다른 방식으로 서버가 해킹을 당할수도 있다. 그럴경우 xp_cmdshell 을 재등록 할수 있기 때문에 xplog70.dll 파일을 삭제하는것도 좋은 방법이다. 하지만 xplog70.dll 파일이 없을경우 . Xp_sscanf . Xp_sprintf . Xp_msver . Xp_msver . Xp_enumgroups . Xp_logevent . Xp_loginconfig 이 명령어들이 작동하지 않을수 있으므로 주의가 필요함. xplog70.dll을 삭제하고서 SQL Server Restart하면 더이상 sp_addextendedproc를 사용해서 등록할 수 없다. 쿼리분석기에서 다시 sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'을 실행하면 정상적으로 실행되지만, xp_cmdshell 'dir' 와 같이 실행하면, ODBC: 메시지 0, 수준 16, 상태 1 xplog70.dll DLL 또는 이 DLL이 참조하는 DLL 중 하나를 로드할 수 없습니다. 이유: 126(지정된 모듈을 찾을 수 없습니다.). 라는 메세지를 뿌리면서 실패하게 된다.
|
|||||||||||