新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → 结合XML做一个简单的BBS 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 12268 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 结合XML做一个简单的BBS 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     miklyway 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:85
      门派:XML.ORG.CN
      注册:2008/1/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给miklyway发送一个短消息 把miklyway加入好友 查看miklyway的个人资料 搜索miklyway在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看miklyway的博客楼主
    发贴心情 结合XML做一个简单的BBS


    现在要做毕业设计了!资料好少呀!
    谁知道!!结合XML做一个简单的BBS呀!!!??

    有资料可以联系我呀!!
    谢谢了 !!!
    联系:73shenjun@163.com


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/16 17:05:00
     
     enyaxp 帅哥哟,离线,有人找我吗?巨蟹座1984-7-4
      
      
      威望:2
      等级:计算机学士学位(版主)
      文章:350
      积分:2433
      门派:XML.ORG.CN
      注册:2007/12/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给enyaxp发送一个短消息 把enyaxp加入好友 查看enyaxp的个人资料 搜索enyaxp在『 XML源码及示例(仅原创和转载) 』的所有贴子 点击这里发送电邮给enyaxp  引用回复这个贴子 回复这个贴子 查看enyaxp的博客2
    发贴心情 
    说说你的设计思路吧,你想在什么地方应用XML?
    是用户资料的存储?数据提交?还是论坛主数据库?

    ----------------------------------------------

    I'M BACK, NEVER GO AWAY.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/16 19:07:00
     
     linguoheng1234 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:23
      积分:138
      门派:XML.ORG.CN
      注册:2008/1/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给linguoheng1234发送一个短消息 把linguoheng1234加入好友 查看linguoheng1234的个人资料 搜索linguoheng1234在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看linguoheng1234的博客3
    发贴心情 
    为什么还不可以上传文件啊?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/22 15:27:00
     
     linguoheng1234 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:23
      积分:138
      门派:XML.ORG.CN
      注册:2008/1/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给linguoheng1234发送一个短消息 把linguoheng1234加入好友 查看linguoheng1234的个人资料 搜索linguoheng1234在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看linguoheng1234的博客4
    发贴心情 
    我也要做毕业设计哦.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/22 18:12:00
     
     miklyway 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:85
      门派:XML.ORG.CN
      注册:2008/1/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给miklyway发送一个短消息 把miklyway加入好友 查看miklyway的个人资料 搜索miklyway在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看miklyway的博客5
    发贴心情 [原创]
    归档!!
    就是把存在XML里的数据存到数据库中!
    而且还要可以显示出来·!!
    这要这么连接文件呀!!!》??
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/23 14:52:00
     
     josn20 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:84
      门派:XML.ORG.CN
      注册:2008/4/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给josn20发送一个短消息 把josn20加入好友 查看josn20的个人资料 搜索josn20在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看josn20的博客6
    发贴心情 
    记得还是去年,刚到据说是高手云集的威威公司上班的时候,一个新到的同事给我讲他花了半天的时间写,并做了很长时间的实践,写了个关于攻击.jsp页面的程序。下面我把具体的实现过程和大家分享一下。测试平台是Tomcat,当然,版本有点低,他的目的只是想证实一下他的某些想法。首先,他在Tomcat的WEB目录下建立了一个Hello.jsp文件,内容是:

    <%out.print(hello);%>

    通过IE的正常请求地址为:http://localhost:8080/examples/jsp/hello.jsp,显示结果为:hello。然后开始具体的攻击测试。测试时,发出的请求地址为:http://localhost:8080/examples/jsp/////////hello.jsp ,浏览器上显示编译错误,错误的原因是500 java.lang.NullPointerException。这个应该是比较常见的错误了。现在,恢复正常的请求http://localhost:8080/examples/jsp/hello.jsp,问题就出现了,即出错,而且所报的错误和刚才造成它错误的请求是一样的:“500 java.lang.NullPointerException”。难道是缓存在浏览器里了吗?换台机器访问http://192.168.10.188/examples/jsp/hello.jsp。问题依然如故,哎!可怜的Hello.jsp呀!

      虽然这个问题有些弱智,不过,他的目的也达到了,即找出“.jsp”流程中存在的一些问题。所以,JSP程序同ASP一样,还是存在着很多安全上的问题的。因此,对于一心研究论坛或者其他安全信息的朋友来说,要想发现JSP的BUG,了解一些JSP的工作原理是十分重要的。

      需要指出的是,虽然是一门网络编程语言,JSP和PHP、ASP的工作机制还存在很大的区别,首次调用JSP文件时,JSP页面在执行时是编译式,而不是解释式的。首次调用JSP文件其实是执行一个编译为Servlet的过程。当浏览器向服务器请求这一个JSP文件的时候,服务器将检查自上次编译后JSP文件是否有改变,如果没有改变,就直接执行Servlet,而不用再重新编译,这样,工作效率得到了明显提高。这也是目前JSP论坛开始逐渐风靡的一个重要原因。

      小提示:Servlet是用Java编写的Server端程序,它与协议和平台无关;Servlet运行于Java-enabled WEB Server中;Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供WEB服务;最早支持Servlet技术的是JavaSoft的Java WEB Server;Servlet的主要功能在于交互式地浏览和修改数据,生成动态WEB内容。

      说到这里,我们自然就会关心一些JSP的安全问题。一般来说,常见的JSP安全问题有源代码暴露(包括程序源代码以明文的方式返回给访问者,如添加特殊后缀引起jsp源代码暴露;插入特殊字符串引起Jsp源代码暴露;路径权限引起的文件Jsp源代码暴露;文件不存在引起的绝对路径暴露问题等)、远程程序执行类、数据库如SQL Server、Oracle 、DB2等的漏洞,操作系统漏洞等。不过,为了突出Jsp的安全问题,本文将结合目前的一些比较流行的Jsp论坛分类阐述和提出解决的建议。为了讲解方便,本文还采用一些公开了原代码的论坛实例代码,至于安装软件版本、操作系统等,可以查看安装提示。

      论坛用户管理缺陷

      为了加强实战效果,我们可以到http://down.chinaz.com/S/5819.asp这个地址下载一个典型的论坛代码,根据提示,数据源名称为yyForum,用户名为xyworker,密码:999。到baidu、Google等网站搜索一下,我们可以看到,安装这个代码的论坛不少。仔细分析后,可以发现,用户管理的页面是user_manager.jsp文件。首先,我们看看这个系统是如何加强它的代码安全性的。其中,在代码的开始部分有一个if限制条件,代码的第三行到第十行具体如下:

    <%
    if ((session.getValue(UserName)==null)||(session.getValue(UserClass)==null)||(!session.getValue(UserClass).equals(系统管理员)))

    %>

      其中,Session.getValue表示检索出Session的值;sendRedirect()执行后,地址栏链接会改变,相当于客户端又重新发了一个get请求,要服务器传输另一个文件过来。

      下面,我们再来看看修改用户信息的文件modifyuser_manager.jsp。典型代码如下:

    <%@page contentType=text/html; charset=gb2312 language=java import=java.sql.*,java.util.*  %>
    <jsp:useBean id=yy scope=page class=yy.jdbc/>
    <%!String User_Name,User_Password,sql, User_Sign;%>
    <%
    User_Name=request.getParameter(name);

    //out.println(User_Name);
    User_Password=request.getParameter(password);
    User_Password=yy.ex_chinese(User_Password);
    ……
    User_Sign=request.getParameter(sign);
    User_Sign=yy.ex_chinese(User_Sign);

    Connection con=yy.getConn();
    Statement  stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    sql=update 用户表 set 用户密码='+User_Password+',用户性别='+User_Sex+',用户邮箱='+User_Email+',居住地址='+User_Address+',手机号码='+User_Mobile+',Oicq='+User_Oicq+',出生日期='+User_Birthay+',用户等级='+User_Class+',签名='+User_Sign+' where 用户名='+User_Name+';
    //out.println(sql);
    stmt.executeUpdate(sql);
    out.println(<font size=2 color=blue>正在处理你的用户信息,请稍后...</font><meta http-equiv='refresh' content='2;url=user_manager.jsp'>);
    %>
    <jsp:include page=inc/online.jsp flush=true/>

      看看这个文件,我们就好像看到了一个简单的教学文件。现在,假设管理员提交如下地址,即http://www.51dz.net/bbs/modifyuser_manager.jsp?modifyid=51,需要查看、修改ID为51的用户的资料(管理员默认的用户ID为51)。问题就出来了。同样的,我们可以通过搜索引擎得到如下地址

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/4/13 16:08:00
     
     josn20 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:84
      门派:XML.ORG.CN
      注册:2008/4/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给josn20发送一个短消息 把josn20加入好友 查看josn20的个人资料 搜索josn20在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看josn20的博客7
    发贴心情 
    很明显,这个用户管理文件缺乏认证,即使是普通的用户,甚至包括我们这些搭不上边的“游客”,也可以直接提交上述请求,从而将其资料一览无余,更让人动心的是,密码也是明文存储的。
      
      http://www.51dz.net/bbs/modifyuser_manager.jsp同样是大开山门,直到恶意用户把数据更新的操作执行完毕,重定向到user_manager.jsp的时候,管理员才会看见那个显示错误的页面,但这个时候为时已晚,更谈不上“亡羊补牢”了。类似的错误存在于很多JSP的站点上,面对这样的论坛,我们能够放心的说“安全”吗?解决之道有很多,不过,最基本的要求是为每个需要加身份认证的地方加上身份认证,如果借用别人的代码,一定要对涉及到用户管理、密码认证等重要文件修改一下,照搬虽然省事,但代码毫无安全性可言。

      再就是SQL注入的问题。比如,这个典型的问题:“昨天公司的数据库被人SQL注入,9万条记录都被update了,同事写了个JSP程序来把他改回来,可是这JSP没有一点信息返回,看不到进度,在运行些什么都不知道。”不过,这和JSP程序没有什么必然的联系,根据国情,国内的网站用ASP+Access或SQLServer的占70%以上,PHP+MySQL占20%,其它的不足10%。因此,ASP的SQL注入比较常见也不足为怪。不过,SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,即使是JSP程序也不能幸免。归根结底,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。看看这个教材式的JSP程序就可以窥见一般:

    Statement stmt = conn.createStatement();
    String checkUser = select * from login where username = ' + userName + ' and userpassword = ' + userPassword + ';
    ResultSet rs = stmt.executeQuery(checkUser);
    if(rs.next())
     response.sendRedirect(SuccessLogin.jsp);
    else
     response.sendRedirect(FailureLogin.jsp);

      针对这种情况,如果数据库里存在一个名叫“Tom”的用户,那么在不知道密码的情况下至少有下面几种方法可以登录:
    用户名:Tom            密码:' or 'a'='a
    用户名:Tom            密码:' or 1=1/*
    用户名:Tom' or 1=1/*     密码:(任意)

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/4/13 16:08:00
     
     wangchy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:63
      门派:XML.ORG.CN
      注册:2008/5/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangchy发送一个短消息 把wangchy加入好友 查看wangchy的个人资料 搜索wangchy在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangchy的博客8
    发贴心情 
    good!!!1
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/5/22 16:28:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/25 2:59:42

    本主题贴数8,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    90.820ms