*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。
本课程是HackerOne出品的Web安全免费在线课程(Hacker101),以“LEARN HOW TO HACK”为主旨,包含了相关的视频、资源和动手实验,目的在于教授Hacking思维和知识,入门Bug Bounty Hunter(漏洞赏金猎人)。课程内容涵盖了XSS、SQL、会话劫持、文件包含等当前流行漏洞的分析,另外还涉及漏洞报告、加密解密、BurpSuite使用和移动端APP测试分析等版块。总体来说,Hacker101是安全初学者入门提高的理想选择,无论你是对漏洞众测(Bug Bounty)感兴趣的程序员,还是经验丰富的安全专家,都会在Hacker101课程中有所收获。
本节课程,我们一起来简单讨论会话固定(Session Fixation)、点击劫持(ClickJacking)和文件包含(File Inclusion)三种攻击形式的成因、检测和缓解措施。
Session Fixation:会话固定攻击,是利用服务端的session会话信息固定机制,借他人之手获得认证和授权,然后冒充他人。 会话固定攻击的简要流程如下:
1、Bob先打开一个网站http://abc.com/,然后服务器会回复他一个session id,比如SID=ssswioq,Bob把这个id记下;
2、Bob给Alice发送一个电子邮件,迷惑Alice点击链接:http://abc.com/?SID=ssswioq,SID后面是Bob自己的session id;
3、Alice上当点击了http://abc.com/?SID=ssswioq,如平时一样输入了自己的帐号和口令从而登录到网站abc.com;
4、由于服务端的session id固定,现在Bob点击http://abc.com/?SID=ssswioq后,他就进入了Alice的账户,拥有了Alice的身份,就可以为所欲为了。
ClickJacking:点击劫持,是一种视觉欺骗攻击手段,在web端就是iframe嵌套一个透明不可见的页面,让用户在不知情(被欺骗)的情况下,点击攻击者想要欺骗用户点击的位置,它通常使用一个ifream覆盖掉当前页面,欺骗用户点击iframe中的恶意内容。点击劫持可实现以下攻击:
通过Flash开启受害者的摄像头或麦克风;
诱使受害者在不知情情况下成为某人粉丝(国外Facebook的刷粉等);
控制受害者去传播分享广告链接间接实现宣传目的;
诱使用户点击恶意链接。
File Inclusion:文件包含,是指当服务端开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致在服务端实现任意文件读取或者任意命令执行。文件包含攻击/漏洞分为本地文件包含(LFI)和远程文件包含(RFI),远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项,选项开启之后,服务端允许在其中包含一个远程文件,间接让服务端来请求该文件。
*本文视频编辑willhuang,由clouds 编译,FreeBuf视频组荣誉出品,转载须注明来自FreeBuf.COM