web安全培训

来源:互联网 发布:club monaco淘宝 编辑:程序博客网 时间:2024/04/29 05:08
WEB安全培训

网络已经全面融入到我们的工作和生活中,
带来的巨大的变革,但同时也是一把双刃剑,
在带给我们便利的同时也存在巨大的威胁。

WEB系统面临各方面的风险
  1、WEB应用软件,如apache,tomcat,linux,windows系统本身拥有的一些系统缺陷或者所存在的其他问题等。




  2、应用层面, 所写的WEB程序,本身拥有的漏洞
     如:sql注入攻击
         跨站脚本
         表单漏洞
         文件上传漏洞
         恶意代码
         所使用的框架漏洞等。
  3、网络层面:    arp,dos,ddos攻击,协议缺陷等




  4、业务层面,业务实现,或者工具本身拥有的逻辑让别人进行攻击等。
 
 



简单介绍各种攻击:
   arp:内网中攻击,无法再外网攻击。
   arp协议:把Ip地址转换成mac地址。
   通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞
   导致网速越来越慢甚至断网,盗取账号密码等。
 DOS攻击:不断的请求目标主机,利用大量的数据量让目标主机无法为其他用户提供正常的服务,甚至让目标主机瘫痪。
        防范比较简单:攻击者比较少,把这类用户屏蔽掉即可
        程序可以做到,也可以够买相应功能的硬件,或者安装相应功能的软件。
 DDOS攻击:利用世界各地的被黑客虏获的电脑对目标进行发起攻击,使目标主机无法正常提供服务。
 


 
 SQL脚本注入:
    一般情况下都发生在服务器端,为什么这样讲?
    把注入串通过表单提交或者参数,或者程序的方式提交,执行相应的sql操作。
    设计良好的程序当然不会存在这种问题,它只会把用户提交的数据当成相应的字符来处理
    而设计不好的程序就可能把用户提交的拼装成sql之后进行执行。
    数据库连接中使用了权限过大的账号。
    
    危害:修改数据,删除数据表,查询数据,执行其他相应数据库带有的功能等。
 文件木马:
    绕过检验,提交木马的文件
    对上传文件的目录去除可执行权限的设置



 跨站式脚本攻击xss
    没有校验内容,或者没有对内容的显示做处理,导致cookie被盗用等问题。
    内容弹窗等各种方式让用户泄露信息等。HttpOnly(通知浏览器js无法读取此cookie)
        js可以在很多地方执行,因此也扩大了xss问题的发生范围,防不胜防有时候。
        js是xss跨站攻击的灵魂,只要出现了xss漏洞,通过Js能模拟任何用户想做的操作。
        document.cookie即可读取网站的cookie。


跨站请求伪造:SCRF
    请求了恶意站点,恶心站点帮用户发起了非想发起的请求,但目标站点认为用户已经登录,是用户在进行的操作,所以会执行。
XSS,SCRF区别在于, XSS是目标站点有注入代码, 而SCRF是用户访问了恶意网站有恶意代码。




(XSIO) :跨站图像叠加
    类似XSS也是执行恶心HTML代码,重置网页元素位置,设置相应链接功能等,让用户点击(因为用户以为这是他想访问的东西),类似钓鱼。
    


解决:不信任浏览器,但和用户交互就非常困难,最好解决方法是尽量避免会发生这些漏洞,做好安全测试。

安全期望做到的目标。
1、能够对密码试探工具进行防范;
2、能够防范对cookie攻击等常用攻击手段;
3、敏感数据保证不用明文传输;
4、能防范通过文件名猜测和查看HTML文件内容获取重要信息;
5、能保证在网站受到攻击后在给定时间内恢复。




常用的安全意识
定期备份和检查相关访问和应用日志,数据库等;
及时对计算机操作系统和应用程序“打补丁”;
安装防火墙和杀毒软件,并及时更新特征库;
关闭不必要的端口和服务
设置复杂的用户密码
文件目录权限最小化,一般规则:有写入权限的目录,不能有执行权限,有执行权限的目录,不能有写入权限



其他口令口接,木马,监听程序等,无一不存在安全方面的问题。



iframe:通常黑客也可以在攻入网站之后,嵌入相应的带问题的网页,引导用户点击,实施钓鱼。
对于网页,如果iframe页面和父页是同域名的,那么它们之间就可以通过Js相互操作,如果是不同的
就只有Iframe页面可以对父页面的location进行写,不能读,读的话就会泄露数据,能写的话就能使
网页进行重定向。


ajax的跨域访问,对于ajax有一种机制是可以跨域访问比的域名的, 至于访问后能不能正常交流,那得看
目标域名的返回,如目标域名回应的Header里这样设置:header("Access-Control-Allow-Origin: 源域名");
表示允许源域名进行访问,这样的攻击,目标域名可以获取源域名的隐私信息等,即便是不那样设置,源
渔民发起了请求,目标域名还是能获取请求里的信息。各种场景各自想象。即是目标域名能获取源域名信息,又
是目标域名可以返回信息给源域名做一些事情等。



cookie:服务端能设置,客户端也能设置, 这通常是黑客感兴趣的一个点,盗取了cookie能做很多有意思的事情。
cookie的domain域名机制允许设置父域名可以访问,但是不可以设置下一级子域。这机制可以实现多个字域名共享
想共享的cookie了。

cookie path:指定path下的js才可以读取下面的cookie,其他path的js无法读取,当然父是可以读取子的,当然
即便其它path下的js无法读取,但还是可以通过iframe的方式访问其它页面来读取其它页面的Js,所有path无法
防止目标路径下的cookie被盗取。

httponly有时候因为服务端的问题也会暴露有Httponly的cookie,比如apache2.2.X版本报400错误就会暴露这样的
cookie,解决方式可以升级apache,也可以设置相应的返回数据。

要知道设置了secure的cookie只是在传输中是加密了而已,在本地js还是能修改这些cookie.

很多钓鱼类的网站除了Js也得css的配合,美化,让用户根本觉察不出。

XSF:跨站flash,攻击者可以利用这个功能访问恶意flash,形成攻击。


*在后台重要计算的数据切记不能放在前台计算传输运算。