js|安全|過程|破解
某日在網上偶然開啟一個網站,是有PLMM與你視訊交談的,但是要手機註冊收費。就想找找有沒有漏洞可以不花錢就與MM聊天。首先找找有沒有SQL的空子可鑽,開啟一個帶有參數的頁面,http://www.xxx.yyy/abc.jsp?agentid=111116,把後面的參數改一下試試看http://www.xxx.yyy/abc.jsp?agentid=111116'結果:
500 Servlet Exception
java.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,這個網站的損失會有多大?我以前寫代碼的時候都沒有注意到此類的細節,經過這次,我想以後一定要注意這些問題了。