软件介绍:
Shell of the Future 是一个反向Web Shell处理工具(Reverse Web Shell handler)。利用跨站脚本攻击或浏览器地址栏注入javascript以后,Shell of the Future可进行劫持会话。 它利用了HTML5支持的Cross Origin Requests,可以绕过一些反会话劫持的方法,如HTTP-Only限制的cookie,帮定IP地址的会话ID。
原理:
CORS-CrossOrigin Resources Sharing,也即跨源资源共享,它定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。它是一个妥协,有大的灵活性,但比起简单地允许所有这些的要求来说更加安全。简言之,CORS就是为了让AJAX可以实现可控的跨域访问而生的。
CORS背后的基本思想是使用自定义的HTTP头部允许浏览器和服务器相互了解对方,从而决定请求或响应成功与否。CORS 并不是为了解决服务端安全问题,而是为了解决如何跨域调用资源。至于如何设计出 安全的开放API,却是另一个问题了。
CORS带来的风险
1、HTTP头只能说明请求来自一个特定的域,但是并不能保证这个事实。因为HTTP头可以被伪造。所以未经身份验证的跨域请求应该永远不会被信任。如果一些重要的功能需要暴露或者返回敏感信息,应该需要验证Session ID;
2、第三方有可能被入侵;
3、恶意跨域请求;
4、内部信息泄漏;
假定一个内部站点开启了CORS,如果内部网络的用户访问了恶意网站,恶意网站可以通过COR(跨域请求)来获取到内部站点的内容;
5、针对用户的攻击。
防御之道
1、不信任未经身份验证的跨域请求,应该首先验证Session ID或者Cookie。
2、对于请求方来说验证接收的数据有效性,服务方仅暴露最少最必须的功能。
3、通过多种条件屏蔽掉非法的请求,例如HTTP头、参数等。
软件界面:
点击start之后,在浏览器设置代码,设置ip和端口为:127.0.0.1:1337
之后打开浏览器,访问:http://127.0.0.1/sotf.console
打开我们要劫持的网页,在url上输入我们的劫持代码,并回车,页面不会发生变化。
这时打开我们的http://127.0.0.1/soft.console 就会出现我们刚才浏览的网页的信息,打开旁边的Hijack Session就可以看到我们劫持到的网页信息!