Szóval a T-Mobile-lal jobb lenne a világ? Komolyan nem tudjuk. De leírhatatlan minőséget sejtet az, amikor a kényes ügyféladatok kezelésére belőtt on-line felület ahelyett, hogy a kapcsolódó szerződés adatait mutatná, bejelenti a böngészőablakban, hogy bizony nem sikerült a szervernek a megfelelő végrehajtási szálakat meghívni, majd szemet gyönyörködtető részletességgel küldi a kliensnek, hogy milyen JavaServletek milyen osztályait hívta volna be, azok milyen fájlokhoz fértek volna hozzá (a szerveren lévő abszolút útvonal jelzésével!).
Márpedig ha egy szerver kifecsegi, hogy mit hogyan csinált (pontosabban csinált volna), az nem menő. Nagyon nem. Jobb helyeken külön gondot fordítanak arra, hogy a szerver belső működéséből a kliens minél kevésbé tudhasson meg, nem még hogy specifikus hibaüzenetek jelenjenek meg a böngészőben. Triviális példaként: itt azonnal kiderül, hogy a kérések feldolgozásában egy MS Internet Information Services-t futtató szerver is részt vesz, így aki a webkiszolgálót felhasználva szeretne támadni, már nem kell strapálnia magát annak a kiderítésével, hogy mely fájlokkal dolgozik a rendszer a szerveren.
A törésteszteket végző szoftverfejlesztők és megrendelésre dolgozó hackerek külön módszereket használnak arra, hogy hogyan csaljanak ki minél több és minél részletesebb hibaüzenetet egy-egy rendszer esetén, hogy abból kikövetkeztessék annak működését, így potenciális sebezhetőségeit. Ehhez képest itt elég volt az Aktuelle Verbindungen menüpontra kattintani mindenféle bűvésztrükk nélkül. Be kell látni, hogy ez azért teljesítmény, tudnak valamit a sógorék.
A sikertelen nekifutás csúfos nyomai, amiből még repeta is volt szerveroldalon:
ROOT CAUSE:
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)
at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3182)
at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:2931)
at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2767)
at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:2559)
at HTTPClient.HTTPConnection.Get(HTTPConnection.java:916)
at coldfusion.tagext.net.HttpTag.createConnection(HttpTag.java:1652)
at coldfusion.tagext.net.HttpTag.connHelper(HttpTag.java:771)
at coldfusion.tagext.net.HttpTag.doEndTag(HttpTag.java:1062)
at cfact_sso_login2ecfm1282141854.runPage(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\act_sso_login.cfm:64)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
at cfapp_locals2ecfm1980943243.runPage(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\app_locals.cfm:10)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
at cfindex2ecfm1921031832._factor26(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\index.cfm:2)
at cfindex2ecfm1921031832.runPage(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\index.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:279)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.CfmServlet.service(CfmServlet.java:175)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:284)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
javax.servlet.ServletException: ROOT CAUSE:
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)
at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3182)
at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:2931)
at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2767)
at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:2559)
at HTTPClient.HTTPConnection.Get(HTTPConnection.java:916)
at coldfusion.tagext.net.HttpTag.createConnection(HttpTag.java:1652)
at coldfusion.tagext.net.HttpTag.connHelper(HttpTag.java:771)
at coldfusion.tagext.net.HttpTag.doEndTag(HttpTag.java:1062)
at cfact_sso_login2ecfm1282141854.runPage(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\act_sso_login.cfm:64)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
at cfapp_locals2ecfm1980943243.runPage(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\app_locals.cfm:10)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
at cfindex2ecfm1921031832._factor26(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\index.cfm:2)
at cfindex2ecfm1921031832.runPage(D:\Inetpub\wwwroot\web\eBill\ibp\realtime\index.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:279)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.CfmServlet.service(CfmServlet.java:175)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:284)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:70)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:284)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
UTOLSÓ OKOSSÁGOK