BOBO网店商城购物系统漏洞浅析

发表于:2009-4-24 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:flaw0r    来源:51Testing博客

  版本:BOBOShop V1.0 Style1

  系统:ASP+ACCESS

  BOBO购物管理系统是国内最先进的购物系统,采用asp+fso技术;傻瓜式的程序安装和调试;用户无需考虑系统的安装维护;美观、友好的展示铺面;设计中应用了多种网络安全技术;顾客可以方便的查询并订购商品;用户可以方便的定义各种商品信息;系统选用强大的数据库保存各类信息;系统支持多种浏览器;功能模块清晰实用强大;系统有着良好的扩充性和升级性;强大的在线支付系统和订单系统;

  全面的安全性处理:数据库防下载处理、CONN防止暴库处理、防止跨站脚本攻击、SQL注入式攻击防范、禁止脱机浏览工具浏览、后台登陆采用验证码验证、会员密码采用MD5方式加密、防范未知IP访问及软件攻击、管理员密码采用MD5方式加密、过滤sql注入代码及HTML代码防护、进行数据来源安全性监测,跨站脚本防范、管理员登陆日至记录,非法操作代码日至记录

  漏洞一:留言跨站

  网站留言页面为gbook.asp,下面看一下有问题的代码:

  function HTMLEncode2(fString)

  fString = Replace(fString, CHR(13), "")

  fString = Replace(fString, CHR(10) & CHR(10), "</P>< [点击图片可在新窗口打开] >")

  fString = Replace(fString, CHR(10), "<BR>")

  HTMLEncode2 = fString

  end function

  set rs=server.CreateObject("adodb.recordset")

  rs.open "select * from shop_fk",conn,1,3

  rs.addnew

  rs("fksubject")=trim(request("fksubject"))

  rs("fkleixing")=request("fkleixing")

  rs("fkcontent")=htmlencode2(trim(request("fkcontent")))

  rs("fkusername")=trim(request("fkusername"))

  rs("fkemail")=trim(request("fkemail"))

  rs("fktel")=trim(request("fktel"))

  rs("fklaizi")=trim(request("fklaizi"))

  rs("fkdate")=now

  rs("fkip")=Request.ServerVariables("remote_addr")

  rs.update

  rs.close

  set rs=nothing

  作者首先定义了一个HTML的过滤函数,HTMLEncode2,但这个函数并没有过滤<和>,至于跨站能不能成功,还要看后台查看留言的文件有没有做进一步的过滤,因为留言是直接发给管理员的。那么我们来看一下后台查看留言的文件viewfk.asp,有问题代码如下:

  <table width="80%" border="0" cellspacing="1" cellpadding="0">

  <tr>

  <td align="center">

  <b><%=trim(rs("fksubject"))%></b>

  </td>

  </tr>

  <tr>

  <td>

  <%=trim(rs("fkcontent"))%><br>

  <%="发表时间:"&rs("fkdate")%>

  </td>

  </tr>

  </table>

  大家可以很清楚的看到fksubject和fkcontent仅仅过滤了左右空格,导致我们可以跨站成功。

  利用如图所示,我们在留言内容处写入跨站测试代码<script>alert(/xss/)</script>

  当管理员查看我们的留言时就会成功执行我们的跨站测试代码,效果如下图:

  至于跨站的高级应用,就看大家的发挥了。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号