起因
事情的起因是这样的,之前参加民兵训练的队长给我发来么一个消息:
我寻思着,”大比武” 是什么东西?
原来是县里举办的大比武,应该是为民兵招一些特长类的人才,有一个网络攻防的名额
但是,我也不会网络攻防呀,我只是一名小前端
嗯。。。,有补助,那我可以试试
于是,我就开始了解一些网络安全的东西,先从我较为熟悉的web安全开始,所以就看到了这本书《白帽子讲web安全》,本视频主要是讲下我从这本书中学到的一些攻防技术。
那我们就开始喽。
吴翰清
这本书的作者可了不起,他叫吴翰清,人称道哥,中国年轻一代顶级黑客,阿里云首席安全科学家。
你可能没有听过他的名字,但是你一定知道他所在的公司,那就是阿里巴巴,什么!你不知道阿里巴巴,那你肯定知道马云吧,他的支付宝,淘宝可是有几亿的用户在使用。
传闻吴翰清在面试阿里时仅用3分钟便黑进阿里内网,马云爸爸下令高薪挽留,但是这是传闻,吴翰清在微博公开回应了此事。
白帽子讲web安全
接下来,我们要来学习书中的提到的一些web攻防的知识了,先从xss攻击开始吧。
XSS攻击
新浪遭xss攻击事件
2011年6月28日,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“惊爆!范冰冰艳照真流出了”等等 微博和私信,并自动关注一位名为hellosamy的用户。
这次事件就是被xss攻击了,导致大量带V的认证用户中招转发蠕虫,事后微博也迅速关闭了病毒页面,和hellosamy用户的主页。
是什么?
XSS攻击,又叫跨站脚本式攻击,就像上面新浪遭xss攻击事件的一样,攻击者可以在网站上注入恶意的客户端代码,若受害者运行这些恶意代码,攻击者就可以突破网站的访问限制并冒充受害者。
怎么防御xss
那么怎么防御xss攻击呢,书中主要介绍了以下三种方法:
1.HttpOnly
2.输入输出检查
3.使用安全的编码函数
CSRF攻击
小明的悲惨遭遇
这一天,小明同学百无聊赖地刷着QQ邮件,大部分都是没营养的通知、验证码、聊天记录之类。但有一封邮件引起了小明的注意:
甩卖比特币,一个只要998!!
聪明的小明当然知道这种肯定是骗子,但还是抱着好奇的态度点了进去。果然,这只是一个什么都没有的空白页面,小明失望的关闭了页面。一切似乎什么都没有发生……
这平静的外表之下,黑客的攻击已然得手。小明的qq邮箱中,被偷偷设置了一个过滤规则,这个规则使得所有的邮件都会被自动转发到hacker@qq.com。小明还在继续刷着邮件,殊不知他的邮件正在一封封地,如脱缰的野马一般地,持续不断地向着黑客的邮箱转发而去。
不久之后,小明的域名就被黑客偷偷的转让了,还有一些泄露的邮件等,这些再也无法挽回了。。。
是什么?
上面的小明就遭受了CSRF攻击,又叫跨站请求伪造,攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户,对被攻击的网站执行某项操作的目的。
CSRF攻击是一种单向攻击机制,XSS攻击是双向攻击机制。
怎么防御CSRF
那么怎么防御CSRF攻击呢,书中主要介绍了以下三种方法:
1.验证码
2.Referer Check
3.Anti CSRF Token
点击劫持攻击
Falsh遭点击劫持事件
Adobe公司的Falsh出现过严重的点击劫持事件,攻击者制作了一个Falsh游戏,诱使用户来玩这个游戏,这个游戏就是让用户去 点击按钮,每次点击这个按钮位置都会发生变化,通过这一系列的点击,就打开了用户的摄像头。
是什么?
点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的,不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,在用户不知情的情况下点击了透明的iframe页面。
怎么防御点击劫持
那么怎么防御点击劫持呢,书中主要介绍了以下2种方法:
1.禁止iframe嵌套
2.X-Frame-Options
SQL注入
SQL是一种数据库,注入数据库攻击最为致命,设想你如果可以通过SQL注入一个命令到微信后台的数据库,注册一个超级管理员权限,你在微信上就可以为所欲为了,想要谁的数据就弄谁的数据。
TalkTalk信息泄露事件
[该类型的内容暂不支持下载]
2015年10月份,一名年仅15岁的黑客,通过大名鼎鼎的SQL注入,在TalkTalk上(英国电话和宽带供应商)获取了400万用户的隐私数据。
事后公司代表说道:“这是最简单的黑客技术”,我们来看看一段平白无奇的SQL是怎样的:
SELECT * FORM user
上面这段sql的意思是,获取某个数据库下user的所有数据,当然Talktalk事件的注入的sql没有这么简单。
是什么
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息
sql注入要满足以下两个条件:
1.用户能够控制数据的输入
2.原本要执行的代码,拼接了用户的输入
怎么防御sql注入攻击
那么怎么防御sql注入呢,书中主要介绍了以下4种方法:
1.使用预编译语句
2.避免使用动态的sql语句
3.检查数据类型
4.使用安全函数
最后,我想借用某大佬的话:网络安全与每个人息息相关,没有网络安全就没有国家安全,就没有经济社会稳定运行。
如果你喜欢这个视频的话,务必点赞投币三连转发,这对我们会有非常大的帮助,那么我们下次再见。
评论(0)