网站安全不可忽视--一个收费网站的破解过程

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

某日在网上偶然打开一个网站,是有PLMM与你视频聊天的,但是要手机注册收费。

就想找找有没有漏洞可以不花钱就与MM聊天。

首先找找有没有SQL的空子可钻

打开一个带有参数的页面,http://www.xxx.yyy/abc.jsp?agentid=111116

把后面的参数改一下试试看

http://www.xxx.yyy/abc.jsp?agentid=111116'

结果

500 Servlet Exceptionjava.lang.NumberFormatException: For input string: "111116'"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

at java.lang.Integer.parseInt(Integer.java:477)

at java.lang.Integer.parseInt(Integer.java:518)

at _agentdetail__jsp._jspService(D:\timework\timeweb\udate\agentdetail.jsp:12)

at com.caucho.jsp.JavaPage.service(JavaPage.java:75)

at com.caucho.jsp.Page.subservice(Page.java:506)

at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)

at com.caucho.server.http.Invocation.service(Invocation.java:315)

at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)

at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)

at com.caucho.server.TcpConnection.run(TcpConnection.java:139)

at java.lang.Thread.run(Thread.java:534)

看来是把字符串转换成数字再处理的,这里好像没戏

再继续找找看,注册和登录都试过了,没用

后来偶然发现一个地方可以上传照片,可以研究一下

结果幸运,传了一个jsp文件上去,居然没有提示错误!

后来顺利的由图片的路径找到了传上去的JSP文件的路径

结果试着访问,一切正常

OK,天助我也!

随便写了一个访问硬盘上的目录和文件的jsp文件,传了上去

于是通过jsp文件得到了网站的物理路径

又写了一个查看文件内容的jsp,传上去

这下硬盘上的东西都可以看得一清二楚了

要想不用钱就可以登录,还得找到数据库才行

看看里面的jsp代码,看不出什么明堂,都是用的javabean写的

估计是把数据库的操作都封装了,看来从jsp文件下手是没希望了

看看WEB-INF下边有什么,WEB.xml看了看,没什么用

在看看classes里面,有一个名字叫做campus.properties的文件

打开看看,梦寐以求的服务器IP,端口,sa的密码都在里面

#campus.properties -- Thu Jul 01 18:23:20 CST 2004

#Thu Jul 01 18:23:20 CST 2004

DbConnectionDefaultPool.minConnections=1000

mail.domain=localhost

DbConnectionDefaultPool.server=jdbc\:jtds\:sqlserver\://192.168.1.3\:1433/xxx;charset\=gb2312

mail.encoding=GB2312

infor.TypeMorePath=TypeMoreList.jsp

infor.TiTime=yy-M-d

infor.TiLiStr=<font size\=2>&\#8226;</font>

sxhCrypt1=426CE28D53728257

infor.MsgMoreLink=

infor.TiPattern=T[M-d]

DbSearchIndexer.lastIndexed=993035225847

documentOption2=false

infor.Css=a3

DbConnectionDefaultPool.logPath=D\:\\work\\web\\xxx\\WEB-INF\\CampusDbLog.log

infor.TypeViewPath=TypeView.jsp

DbConnectionDefaultPool.username=sa

infor.MsgMorePath=MsgMoreList.jsp

path=D\:\\work\\web\\udate\\WEB-INF\\classes\\campus.properties

setup=true

DbConnectionDefaultPool.connectionTimeout=0.002

mail.smtpport=25

mail.tempdir=D\:\\myProject\\XerInfor\\defaultroot\\files\\MailTmp

campusHome=D\:\\work\\web\\udate

DbConnectionDefaultPool.maxConnections=3000

infor.TiImgStr=

mail.smtphost=localhost

DbConnectionDefaultPool.driver=net.sourceforge.jtds.jdbc.Driver

infor.ImgPath=MsgList.jsp

infor.MsgViewPath=MsgView.jsp

DbConnectionDefaultPool.password=xxxxxxxxxxx

(以上关键的地方有所改动)

有了这些,哈哈,一切都解决了吧!

马上写个jsp查询一下数据库里面都有什么表

有个_User表,估计就是用户表

取几条数据试试,果然。。。。

接下来就好办了

为了不引怀疑还有让无辜的人为我出钱

所以还得注册一个帐户,但不续费

然后把自己的手机号码用Update更新成别的不存在的号码

再找到点数那个字段

更新成1000000点

哈哈,一切都搞定!

登录一下试试,自己变成有钱人啦!!!

由于不想跟网站造成不必要的麻烦,还是不打算公布这个网站出来了,兄弟姐妹们见谅!

由此可见,网站的安全性非常重要,尤其是收费的网站

如果不注意,轻则让别人免费参观,重则所有数据都OVER

想象一下如果执行一条Delete From _User,这个网站的损失会有多大?

我以前写代码的时候都没有注意到此类的细节

经过这次,我想以后一定要注意这些问题了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航