当前位置:首页 > 黑客安全 > 正文内容

溢出入侵网站(泄露和溢出)

hacker2年前 (2022-07-02)黑客安全92

文章大纲:

怎么从代码中入侵网站

首先,如果是开源模板做的网站,可以从源代码中找漏洞,比如动网的论坛就有漏洞,当然不是所有网站都用开源的模板做

最简单的就是SQL注入,利SQL语句修改和盗取数据库的资料,这个百度一搜就有N个,你可以去下载个 DoMain 试用一下注入和跨站攻击

其次就是FSO,这个功能是有权限更改文件的,也就是说你可以利用他修改服务器上的网页,这个漏洞主要出现在有上传功能的地方

还有就是IIS的溢出漏洞,利用IIS的系统文件使自已拥有管理员的权限,这个就比较难了

去买本黑客攻防全攻略吧,看书比较全面

入侵网站需要什么步骤

嗯....不知道你要干什么,希望你不要干坏事。

之一步:情报收集与分析

用扫面器或者人工的对服务器的状态进行探知,获得以下信息: 服务器类型(大致分为windows服务器和linux服务器)、服务器版本、服务器的 *** 布局(自己与网站服务器的相对 *** 位置,是否有防火墙,不过现在的服务器一般都在防火墙后面)、服务器上开启的端口号、服务器上运行的服务及其版本、网站的网页脚本类型、脚本版本等等。最后根据以上信息判断该服务器可能存在的漏洞,这将是下一步的基础。

第二步:攻击开始

根据上一步收集到的漏洞信息开始对网站服务器发动攻击。一般是登陆服务器上开启的服务并猜测该服务的密码(弱口令攻击,现在基本失效)如果猜对便可以根据服务获得相应的服务器操作权限,如果运气好,这里就可以直接拿下服务器。或者根据服务器上运行的服务所存在的溢出漏洞进行溢出攻击(不过,溢出漏洞并不好找)。或者跟据网页脚本上的漏洞进行网页渗透。

第二步的主要目的就是为了获得一个可以在目标服务器上执行一定命令的权限,这也是最难的一步。

第三步:权限提升

如果只是为了从服务器上拿些东西,或者修改服务器上的一些文件,利用第二步获得权限可能已经足够,但是如果遇到细心的管理员进行了严格的权限管理,或者想完全控制服务器还需要提权操作。也就是利用第二步获得的权限获得跟高的服务器使用权限的操纵。其实现 *** 根据不同的入侵路径,会很多。这里只提一下大概思路,windows服务器:获得服务器系统盘的读写权(有时可以跳过)、获得system权限、建立自己的隐藏管理员用户、留下后门或木马。linux:获得root权限、留下后门。

最后就是清理自己的脚步,删除或者修改服务器上的日志文件,不然管理员会很容易察觉到被入侵。

网站入侵的形式其实很多,上面只是较为常用的形式而已。其他的还有 中间人攻击 社会工程学攻击等等。

以上只是个人的见解,希望能帮到你......

为了解决服务器溢出攻击应该采取什么安全策略

在频频恶意攻击用户、系统漏洞层出不穷的今天,作为 *** 治理员、系统治理员虽然在服务器的安全上都下了不少功夫,诸如及时打上系统安全补丁、进行一些常规的安全配置,但有时仍不安全。因此必须恶意用户入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外,下面就将最简单、最有效的防(Overflow)溢出、本地提供权限攻击类的解决办法给大家分享。

一、如何防止溢出类攻击

1、尽更大的可能性将系统的漏洞补丁都打完,更好是比如Microsoft Windows Server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。假如您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用Microsoft WSUS服务在内网进行升级。

2、停掉一切不需要的系统服务以及应用程序,更大限能的降底服务器的被攻击系数。比如前阵子的MSDTC溢出,就导致很多服务器挂掉了。其实假如WEB类服务器根本没有用到MSDTC服务时,您大可以把MSDTC服务停掉,这样MSDTC溢出就对您的服务器不构成任何威胁了。

3、启动TCP/IP端口的过滤,仅打开常用的TCP如21、80、25、110、3389等端口;假如安全要求级别高一点可以将UDP端口关闭,当然假如这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中"只答应"TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可;其它无用均不开放。

4、启用IPSec策略:为服务器的连接进行安全认证,给服务器加上双保险。如③所说,可以在这里封掉一些危险的端品诸如:135 145 139 445 以及UDP对外连接之类、以及对通读进行加密与只与有信任关系的IP或者 *** 进行通讯等等。(注:其实防反弹类木马用IPSec简单的禁止UDP或者不常用TCP端口的对外访问就成了,关于IPSec的如何应用这里就不再敖续,可以到服安讨论Search "IPSec",就 会有N多关于IPSec的应用资料..)

5、删除、移动、更名或者用访问控制表列Access Control Lists (ACLs)控制要害系统文件、命令及文件夹

缓冲区溢出攻击,的基本原理是什么?

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统当机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。缓冲区溢出攻击有多种英文名称:buffer overflow,buffer overrun, *** ash the stack,trash the stack,scribble the stack, mangle the stack, memory leak,overrun screw;它们指的都是同一种攻击手段。之一个缓冲区溢出攻击--Morris蠕虫,发生在十年前,它曾造成了全世界6000多台 *** 服务器瘫痪。

1.概念

缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是 程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间想匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区 又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出 。

2.危害

在当前 *** 与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。

3.缓冲区攻击

一. 缓冲区溢出的原理

通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。例如下面程序:

void function(char *str) {

char buffer[16];

strcpy(buffer,str);

}

上面的strcpy()将直接吧str中的内容copy到buffer中。这样只要str的长度大于16,就会造成buffer的溢出,使程序运行出错。存在象strcpy这样的问题的标准函数还有strcat(),sprintf(),vsprintf(),gets(),scanf()等。

当然,随便往缓冲区中填东西造成它溢出一般只会出现“分段错误”(Segmentation fault),而不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序属于root且有suid权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。

缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。

在1998年Lincoln实验室用来评估入侵检测的的5种远程攻击中,有2种是缓冲区溢出。而在1998年CERT的13份建议中,有9份是是与缓冲区溢出有关的,在1999年,至少有半数的建议是和缓冲区溢出有关的。在Bugtraq的调查中,有2/3的被调查者认为缓冲区溢出漏洞是一个很严重的安全问题。

缓冲区溢出漏洞和攻击有很多种形式,会在第二节对他们进行描述和分类。相应地防卫手段也随者攻击 *** 的不同而不同,将在第四节描述,它的内容包括针对每种攻击类型的有效的防卫手段。

二、缓冲区溢出的漏洞和攻击

缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root权限的shell。为了达到这个目的,攻击者必须达到如下的两个目标:

1. 在程序的地址空间里安排适当的代码。

2. 通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。

根据这两个目标来对缓冲区溢出攻击进行分类。在二.1节,将描述攻击代码是如何放入被攻击程序的地址空间的。在二.2节,将介绍攻击者如何使一个程序的缓冲区溢出,并且执行转移到攻击代码(这个就是“溢出”的由来)。在二.3节,将综合前两节所讨论的代码安排和控制程序执行流程的技术。

二.1 在程序的地址空间里安排适当的代码的 ***

有两种在被攻击程序地址空间里安排攻击代码的 *** :

1、植入法:

攻击者向被攻击的程序输入一个字符串,程序会把这个字符串放到缓冲区里。这个字符串包含的资料是可以在这个被攻击的硬件平台上运行的指令序列。在这里,攻击者用被攻击程序的缓冲区来存放攻击代码。缓冲区可以设在任何地方:堆栈(stack,自动变量)、堆(heap,动态分配的内存区)和静态资料区。

2、利用已经存在的代码:

有时,攻击者想要的代码已经在被攻击的程序中了,攻击者所要做的只是对代码传递一些参数。比如,攻击代码要求执行“exec (“/bin/sh”)”,而在libc库中的代码执行“exec (arg)”,其中arg使一个指向一个字符串的指针参数,那么攻击者只要把传入的参数指针改向指向”/bin/sh”。

二.2 控制程序转移到攻击代码的 ***

所有的这些 *** 都是在寻求改变程序的执行流程,使之跳转到攻击代码。最基本的就是溢出一个没有边界检查或者其它弱点的缓冲区,这样就扰乱了程序的正常的执行顺序。通过溢出一个缓冲区,攻击者可以用暴力的 *** 改写相邻的程序空间而直接跳过了系统的检查。

分类的基准是攻击者所寻求的缓冲区溢出的程序空间类型。原则上是可以任意的空间。实际上,许多的缓冲区溢出是用暴力的 *** 来寻求改变程序指针的。这类程序的不同之处就是程序空间的突破和内存空间的定位不同。主要有以下三种: 1、活动纪录(Activation Records):

每当一个函数调用发生时,调用者会在堆栈中留下一个活动纪录,它包含了函数结束时返回的地址。攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码。通过改变程序的返回地址,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack),是目前最常用的缓冲区溢出攻击方式。

2、函数指针(Function Pointers):

函数指针可以用来定位任何地址空间。例如:“void (* foo)()”声明了一个返回值为void的函数指针变量foo。所以攻击者只需在任何空间内的函数指针附近找到一个能够溢出的缓冲区,然后溢出这个缓冲区来改变函数指针。在某一时刻,当程序通过函数指针调用函数时,程序的流程就按攻击者的意图实现了。它的一个攻击范例就是在Linux系统下的superprobe程序。

3、长跳转缓冲区(Longjmp buffers):

在C语言中包含了一个简单的检验/恢复系统,称为setjmp/longjmp。意思是在检验点设定“setjmp(buffer)”,用“longjmp(buffer)”来恢复检验点。然而,如果攻击者能够进入缓冲区的空间,那么“longjmp(buffer)”实际上是跳转到攻击者的代码。象函数指针一样,longjmp缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。一个典型的例子就是Perl 5.003的缓冲区溢出漏洞;攻击者首先进入用来恢复缓冲区溢出的的longjmp缓冲区,然后诱导进入恢复模式,这样就使Perl的解释器跳转到攻击代码上了。

二.3代码植入和流程控制技术的综合分析

最简单和常见的缓冲区溢出攻击类型就是在一个字符串里综合了代码植入和活动纪录技术。攻击者定位一个可供溢出的自动变量,然后向程序传递一个很大的字符串,在引发缓冲区溢出,改变活动纪录的同时植入了代码。这个是由Levy指出的攻击的模板。因为C在习惯上只为用户和参数开辟很小的缓冲区,因此这种漏洞攻击的实例十分常见。

代码植入和缓冲区溢出不一定要在在一次动作内完成。攻击者可以在一个缓冲区内放置代码,这是不能溢出的缓冲区。然后,攻击者通过溢出另外一个缓冲区来转移程序的指针。这种 *** 一般用来解决可供溢出的缓冲区不够大(不能放下全部的代码)的情况。

如果攻击者试图使用已经常驻的代码而不是从外部植入代码,他们通常必须把代码作为参数调用。举例来说,在libc(几乎所有的C程序都要它来连接)中的部分代码段会执行“exec(something)”,其中somthing就是参数。攻击者然后使用缓冲区溢出改变程序的参数,然后利用另一个缓冲区溢出使程序指针指向libc中的特定的代码段。

三、 缓冲区溢出攻击的实验分析

2000年1月,Cerberus 安全小组发布了微软的IIS 4/5存在的一个缓冲区溢出漏洞。攻击该漏洞,可以使Web服务器崩溃,甚至获取超级权限执行任意的代码。目前,微软的IIS 4/5 是一种主流的Web服务器程序;因而,该缓冲区溢出漏洞对于网站的安全构成了极大的威胁;它的描述如下:

浏览器向IIS提出一个HTTP请求,在域名(或IP地址)后,加上一个文件名,该文件名以“.htr”做后缀。于是IIS认为客户端正在请求一个“.htr”文件,“.htr”扩展文件被映像成ISAPI(Internet Service API)应用程序,IIS会复位向所有针对“.htr”资源的请求到 I *** .DLL程序 ,I *** .DLL 打开这个文件并执行之。

浏览器提交的请求中包含的文件名存储在局部变量缓冲区中,若它很长,超过600个字符时,会导致局部变量缓冲区溢出,覆盖返回地址空间,使IIS崩溃。更进一步,在如图1所示的2K缓冲区中植入一段精心设计的代码,可以使之以系统超级权限运行。

四、缓冲区溢出攻击的防范 ***

缓冲区溢出攻击占了远程 *** 攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权。如果能有效地消除缓冲区溢出的漏洞,则很大一部分的安全威胁可以得到缓解。

目前有四种基本的 *** 保护缓冲区免受缓冲区溢出的攻击和影响。在四.1中介绍了通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码。在四.2中介绍了强制写正确的代码的 *** 。在四.3中介绍了利用编译器的边界检查来实现缓冲区的保护。这个 *** 使得缓冲区溢出不可能出现,从而完全消除了缓冲区溢出的威胁,但是相对而言代价比较大。在四.4中介绍一种间接的 *** ,这个 *** 在程序指针失效前进行完整性检查。虽然这种 *** 不能使得所有的缓冲区溢出失效,但它能阻止绝大多数的缓冲区溢出攻击。然后在四.5,分析这种保护 *** 的兼容性和性能优势。

四.1 非执行的缓冲区

通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行被植入被攻击程序输入缓冲区的代码,这种技术被称为非执行的缓冲区技术。在早期的Unix系统设计中,只允许程序代码在代码段中执行。但是近来的Unix和MS Windows系统由于要实现更好的性能和功能,往往在数据段中动态地放入可执行的代码,这也是缓冲区溢出的根源。为了保持程序的兼容性,不可能使得所有程序的数据段不可执行。

但是可以设定堆栈数据段不可执行,这样就可以保证程序的兼容性。Linux和Solaris都发布了有关这方面的内核补丁。因为几乎没有任何合法的程序会在堆栈中存放代码,这种做法几乎不产生任何兼容性问题,除了在Linux中的两个特例,这时可执行的代码必须被放入堆栈中:

(1)信号传递:

Linux通过向进程堆栈释放代码然后引发中断来执行在堆栈中的代码来实现向进程发送Unix信号。非执行缓冲区的补丁在发送信号的时候是允许缓冲区可执行的。

(2)GCC的在线重用:

研究发现gcc在堆栈区里放置了可执行的代码作为在线重用之用。然而,关闭这个功能并不产生任何问题,只有部分功能似乎不能使用。

非执行堆栈的保护可以有效地对付把代码植入自动变量的缓冲区溢出攻击,而对于其它形式的攻击则没有效果。通过引用一个驻留的程序的指针,就可以跳过这种保护措施。其它的攻击可以采用把代码植入堆或者静态数据段中来跳过保护。

四.2 编写正确的代码

编写正确的代码是一件非常有意义的工作,特别象编写C语言那种风格自由而容易出错的程序,这种风格是由于追求性能而忽视正确性的传统引起的。尽管花了很长的时间使得人们知道了如何编写安全的程序,具有安全漏洞的程序依旧出现。因此人们开发了一些工具和技术来帮助经验不足的程序员编写安全正确的程序。

最简单的 *** 就是用grep来搜索源代码中容易产生漏洞的库的调用,比如对strcpy和sprintf的调用,这两个函数都没有检查输入参数的长度。事实上,各个版本C的标准库均有这样的问题存在。

此外,人们还开发了一些高级的查错工具,如fault injection等。这些工具的目的在于通过人为随机地产生一些缓冲区溢出来寻找代码的安全漏洞。还有一些静态分析工具用于侦测缓冲区溢出的存在。

虽然这些工具帮助程序员开发更安全的程序,但是由于C语言的特点,这些工具不可能找出所有的缓冲区溢出漏洞。所以,侦错技术只能用来减少缓冲区溢出的可能,并不能完全地消除它的存在。

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时接单的网站发布,如需转载请注明出处。

本文链接:https://szlqgy.com/19005.html

“溢出入侵网站(泄露和溢出)” 的相关文章

穿越之争做宠妃(贵妃的开挂人生)

废材逆天四小姐无赖皇上爆笑宠妃邪王请自重,太子重生,昏君助我去宫斗,系统之宠妃,夺位后定年号昭武。 她的梦想是吃饱喝足不被卖掉。有趣的是。求大神,她的梦想是平安出宫开点心铺,重生之荣妃后宫宠妃养成系统攻心之兮离传做宠妃的日子重生之后宫开挂人生庶女宠妃后宫上位记重生之宠妃一梦大清重生之漪兰小筑清穿之我...

大富翁4完整版(大富翁4超时空之旅手机版)

可是,因为换了台电脑.就看到大富翁4正版光盘镜像下载了,以前找了好几个都下不下来.。 要安完就能玩的。游民星空的无毒绿色。 谁教教我哪里下,不要压缩版的,怎么下行么,大富翁4超时空之旅加强版游戏名称大富翁4超时空之旅中文版游戏类型大富翁类操作系统Windows9。 我下游戏一般都游民和这个牛游戏。...

耻骨是哪个部位(外阴骨头疼是怎么回事)

就是一救阴毛就会疼,你好,外阴骨头痛,耻骨是要逐渐分离的,很正常的啊。倒是耻骨疼,你说的这个部位应该是阴阜区,这种情况首、就是一救阴毛,我很纳闷。 80的原因是尿路感染剩下的20在女性孕妇中出现,谁知道能告诉我吗。但也不外乎血瘀。 耻骨疼是怎么回事、有没有这。需要关注一下。也不知道是为什么,你好,到...

电信网上营业厅(电信卡免费申请自己选号码)

楼主你好。登录中国电信网上营业厅、详情请登录中国电信网上营业厅官网进行了解。身份证号码。直接在本地的中国电信官方网站就可以选号了,然后登录到本省的电信网上营业厅网站。 在电信营业厅页面框选的位置输入电信大王卡”,电信网上营业厅办理电信手机卡方法如下打开中国电信网上营业厅,输入中国电信营业厅”。 中国...

匡威帆布鞋尺码(匡威帆布鞋码数怎么选择)

平常穿3买36码会不会小了,貌似听说匡威的帆。 我35的脚穿他家所谓35的鞋子其实就跟穿36一样。 所以匡威35码对应的中国尺码应该是38码.鉴于。 给你个参考吧我一般穿39的鞋匡威的话35稍宽松37长度正好但略挤,正版匡威鞋码偏大。匡威的鞋码一般比国内的鞋码大半码。 40的,是41码,鞋偏窄,如果...

天津医科大学(天津医科大学考研难度)

本人16届考研生,我认为是三博士考研辅导班。 泌尿外科,之后找工作很多不如意,高分也可能被淘汰,一般以东北和华北考生较多。 朕来告诉你河北医科大学研究生院好考,目前很多高校护理研究生招生人数都比较少,基本,特别是面试。平均在300,中西医结合另外内分泌和影象也还不错,既然选择考研,面试表现好,这次肯...

评论列表

访客
2年前 (2022-07-03)

中来跳过保护。四.2 编写正确的代码 编写正确的代码是一件非常有意义的工作,特别象编写C语言那种风格自由而容易出错的程序,这种风格是由于追求性能而忽视正确性的传统引起的。尽管花了很长的时

访客
2年前 (2022-07-02)

攻击程序的缓冲区来存放攻击代码。缓冲区可以设在任何地方:堆栈(stack,自动变量)、堆(heap,动态分配的内存区)和静态资料区。 2、利用已经存在的代码: 有时,攻击者想要的代码已

访客
2年前 (2022-07-02)

缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中"只答应"TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可;其它无用均不开放。 4、启用

访客
2年前 (2022-07-02)

是IIS的溢出漏洞,利用IIS的系统文件使自已拥有管理员的权限,这个就比较难了去买本黑客攻防全攻略吧,看书比较全面入侵网站需要什么步骤嗯....不知道你要干什么,希望你不要干坏

访客
2年前 (2022-07-02)

地址。这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack),是目前最常用的缓冲区溢出攻击方式。 2、函数指针(Function Pointers): 函数指针可以用来

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。