聊聊Web安全那些事!

最近安全这块话题炒的很热,袁伟事件的争议很大, 著名的漏洞报告平台乌云也在整顿维护了,个中缘由大家自己去猜测吧。

言归正传, 本人也做过半年不到的安全开发工程师。接下来聊聊我对web安全开发这块的经验,讲讲常用的防护措施。

楼主曾经在公司的安全部负责安全运营平台的开发(soc)。这个平台主要包括威胁情报的收集,主机策略扫描,主机加固,行为监控,代码审计

漏洞扫描等功能。说起来高大上的系统 其实底层一些处理,比如漏洞扫描啊之类的,也是调用360的库去做的。毕竟老大是360出来的。

在做以上系统的过程中接触到各种关于web攻击的名词,如 :xss,csrf等等。当然也知晓一些防护手段。下面讲讲吧:

XSS:

1、反射型跨站脚本攻击

攻击者会通过社会工程学手段,发送一个URL连接给用户打开,在用户打开页面的同时,浏览器会执行页面中嵌入的恶意脚本。

2、存储型跨站脚本攻击

攻击者利用web应用程序提供的录入或修改数据功能,将数据存储到服务器或用户cookie中,当其他用户浏览展示该数据的页面时,浏览器会执行页面中嵌入的恶意脚本。所有浏览者都会受到攻击。

3DOM跨站攻击

由于html页面中,定义了一段JS,根据用户的输入,显示一段html代码,攻击者可以在输入时,插入一段恶意脚本,最终展示时,会执行恶意脚本。

DOM跨站和以上两个跨站攻击的差别是,DOM跨站是纯页面脚本的输出,只有规范使用JAVASCRIPT,才可以防御。

 

恶意攻击者可以利用跨站脚本攻击做到:

1、盗取用户cookie,伪造用户身份登录。

2、控制用户浏览器。

3、结合浏览器及其插件漏洞,下载病毒木马到浏览者的计算机上执行。

4、衍生URL跳转漏洞。

5、让官方网站出现钓鱼页面。

6、蠕虫攻击

 

攻击方式: 比如存储某个值,用户输入<script>alert(1)</script>  如果页面展示未做处理,那么将会弹出1这个窗口。

 

解决方案:  XSS转义。

 

CSRF: 跨站请求伪造攻击。

攻击者在用户浏览网页时,利用页面元素(例如img的src),强迫受害者的浏览器向Web应用程序发送一个改变用户信息的请求。

 

攻击方式: 用户在自己的服务器上搭建了一个网页,把链接发你,这个页面内部做了强制发送请求的处理,但你打开页面时,你的一些信息可能会被修改。

在整个攻击过程中,受害者用户仅仅看到了一个空白页面。

 

解决方案:token认证

 

注入攻击: 注入包括 sql注入,代码注入,xml注入,系统命令注入

攻击范式: 注入类的工具基本就是通过恶意字符串传输,导致系统运行恶意脚本。

解决方案:针对sql注入,可以用预处理的方式,代码注入,可以限制,xml注入可以转义,系统命令注入可以预设命令白名单。

 

web安全攻击这块 基本就以上几个点了,记住一点,永远不要相信用户给的任何对象,举个例子,我们的项目有excel上传的功能,这个

上传可以通过服务器解析xls,生成报表展示在页面上。楼住通过编辑xls的xml文本,引入外部实体,写了个命令回显服务器内部信息。

本来应该显示 "金额"  的<td>金额</td>  最后这块内容 显示的是 服务器内部隐私信息。

 

最后我想说 软件安全这块是很重要的事情。 希望大家多关注网络上曝光的一些bug,及时更新自己的软件。

安全这块处理的方式很多,有好有坏!  欢迎大家交流。   QQ:409527094   验证:来自博客园

 

posted @ 2016-07-26 19:44  金海东  阅读(235)  评论(0编辑  收藏  举报