如何攻击网站服务器_如何攻击web服务器

hacker|
153

【网警提醒】基础网络攻防之webshell攻击

什么是webshell?有什么危害?

webshell 就是一种可以在web服务器上执行的后台脚本或者命令执行环境。

黑客通过入侵网站上传webshell后获得服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。

Webshell攻击的特点有哪些?

1

持续远程访问

入侵者可以利用 webshell 从而达到长期控制网站服务器的目的。若攻击者自行修复了漏洞,以确保没有其他人会利用该漏洞,攻击者可以低调的随时控制服务器。一些流行的 webshell 使用密码验证和其他技术来确保只有上传 webshell 的攻击者才能访问它。

2

权限提升

在服务器没有配置错误的情况下, webshell 将在web服务器的用户权限下运行,该用户权限是有限的。通过使用 webshell ,攻击者可以尝试通过利用系统上的本地漏洞来执行权限提升,常见的有查找敏感配置文件、通过内核漏洞提权、利用低权限用户目录下可被Root权限用户调用的脚本提权、任务计划等。

3

极强的隐蔽性

有些恶意网页脚本可以嵌套在正常网页中运行,且不容易被查杀。webshell还可以穿越服务器防火墙,由于与被控制的服务器或远程主机交互的数据都是通过80端口传递,因此不会被防火墙拦截,在没有记录流量的情况下, webshell 使用post包发送,也不会被记录在系统日志中,只会在web日志中记录一些数据提交的记录。

获取webshell的常见方法

1

直接上传获得webshell

因过滤上传文件不严,导致用户可以直接上传 webshell 到网站任意可写目录中,从而拿到网站的管理员控制权限。

2

添加修改上传类型

现在很多脚本程序上传模块不是只允许上传合法文件类型,大多数的系统是允许添加上传类型。

3

利用后台管理功能写入webshell

进入后台后还可以通过修改相关文件来写入webshell。

4

利用后台数据库备份及恢复获得

主要是利用后台对access数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量没有过滤导致可以把任意文件后缀改为asp,从而得到webshell。

5

php+mysql系统

后台需要有mysql数据查询功能,入侵者就可以利用它执行SELECT ... in TO OUTFILE查询输出php文件,因为所有的数据是存放在mysql里的,所以我们可以通过正常手段把我们的WebShell代码插入mysql在利用SELECT ... in TO OUTFILE语句导出shell。

webshell网站后门的清除方法

后门的文件可以直接删除,找到后门文件,直接删除即可;

不能直接删除后门文件,只能删除文件内容中的木马代码进行清除。

1、文件名为index.asp 、index.php,这类为自动生成SEO类型文件,可以直接删除,如要彻底清除后门,需找生成此文件的源文件。

2、文件内容只有一行,或很少量的代码,此类被称为“一句话后门”。

3、文件内容中存在password或UserPass关键字。

4、另外一些在上传组件目录或上传目录的文件可以直接删除。如eWebEditor、Editor、FCKeditor、webeditor、UploadFiles、uploads等。

1、网站自身文件被插入恶意代码

2、网站配置文件

这类插入网站自身代码中的后门清除方法:

首先备份此文件以备改错可恢复,查找到后门代码的位置,一般通过查找“eval、execute、request、ExecuteGlobal”关键字进行定位。把确定为后门的代码删除后保存文件。访问网站看是否报错,以确认有没有改错。

网站如何防御webshell攻击?

从根本上解决动态网页脚本的安全问题,要做到防注入、防暴库、防COOKIES欺骗、防跨站攻击等等,务必配置好服务器FSO权限。

1、建议用户通过ftp来上传、维护网页,尽量不安装上传程序。

2、对上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。

3、程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。

4、到正规网站下载程序,要对数据库名称和存放路径进行修改,数据库名称要有一定复杂性。

5、尽量保持程序是最新版本。

6、不要在网页上加注后台管理程序登陆页面的链接。

7、为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再上传。

8、时常备份数据库等重要文件。

9、日常多维护,并注意空间中是否有来历不明的asp文件。

10、尽量关闭网站搜索功能,利用外部搜索工具,以防爆出数据。

11、利用白名单上传文件,不在白名单内的一律禁止上传,上传目录权限遵循最小权限原则。

如何保证Web服务器安全?

一、在代码编写时就要进行漏洞测试。

二、对Web服务器进行持续的监控。

三、设置蜜罐,将攻击者引向错误的方向。

四、专人对Web服务器的安全性进行测试。

在Web服务器的攻防战上,这一个原则也适用。笔者建议,如果企业对于Web服务的安全比较高,如网站服务器上有电子商务交易平台,此时最好设置一个专业的团队。他们充当攻击者的角色,对服务器进行安全性的测试。这个专业团队主要执行如下几个任务。 

一是测试Web管理团队对攻击行为的反应速度。如可以采用一些现在比较流行的攻击手段,对自己的Web服务器发动攻击。当然这个时间是随机的。预先Web管理团队并不知道。现在要评估的是,Web管理团队在多少时间之内能够发现这种攻击的行为。这也是考验管理团队全天候跟踪的能力。一般来说,这个时间越短越好。应该将这个时间控制在可控的范围之内。即使攻击最后没有成功,Web管理团队也应该及早的发现攻击的行为。毕竟有没有发现、与最终有没有取得成功,是两个不同的概念。

二是要测试服务器的漏洞是否有补上。毕竟大部分的攻击行为,都是针对服务器现有的漏洞所产生的。现在这个专业团队要做的就是,这些已发现的漏洞是否都已经打上了安全补丁或者采取了对应的安全措施。有时候我们都没有发现的漏洞是无能为力,但是对于这些已经存在的漏洞不能够放过。否则的话,也太便宜那些攻击者了。

服务器的三大攻击是什么?

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。                  1.DDOS攻击:                                                                                                                             (1)这是网络中最普遍的攻击类型,衍生了很多其他的攻击类型,但是,其原理都是通过多台肉鸡发送大量合法的请求占用大量服务资源,以达到瘫痪网络或者服务器死机的目的。其中SYN Flood洪水攻击利用TCP协议的缺陷,发送大量伪造的TCP连接请求,即在第2次握手前断开连接,使服务器端出于等待响应的状态,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。                      (2)TCP全连接攻击则是通过大量的肉机不断地和目标服务器建立大量的TCP连接,由于TCP连接数是有限的,很容易使服务器的内存等资源被耗尽而被拖跨,从而使服务器造成拒绝服务。这种攻击可以绕过一般防火墙,但是需要大量的肉机,并且由于肉机的IP是暴露的,也非常容易被追踪。                      (3)刷Script脚本攻击主要针对ASP、JSP、PHP、CGI等脚本程序。其原理是和服务器建立正常的TCP连接,同时不断向服务器提交查询列表等大量消耗数据库资源的调用指令,从而拖垮服务器。预防的主流办法有三种。一是防火墙,也有网关防火墙和路由型防火墙之分。可以抵御大部分的DDOS攻击。再就是CDN加速,把这些攻击分散到镜像服务器上,从而使这些攻击无法对服务器产生过多的影响。最后就是流量清洗,部署专业的设备和方案,对数据流量实时监控,清洗掉异常的流量。

2.CC攻击:                                                                                                                                (1)攻击者控制肉机不停地发大量数据包给目标服务器,从而造成服务器资源耗尽或网络拥堵。CC可以模拟多个用户不停地进行访问那些需要大量数据操作的页面(数据查询,论坛),造成服务器资源的浪费,由于这些IP都是真实的,数据包也正常,请求都是有效的请求,服务器无法拒绝,从而让CPU长时间处于满载的专题。                                                                                                                    (2)永远都有处理不完的请求排队,直到正常的访问被中止。预防CC攻击的办法有:把网站尽量做成静态页面、限制连接的数量、修改超时时间、以及分析可疑IP。

3.ARP欺骗:这类攻击则主要是以窃取用户账户数据资料为目的,通过伪造IP地址和MAC物理地址实现欺骗,也能够在网络中产生大量的ARP通信量使网络阻塞。主要发生在区域网内,攻击者通过发布错误的ARP广播包,阻断正常的网络通信,而且还将自己的电脑伪装成他人的电脑,原本是要发往他人的数据,被发到了入侵者的电脑上,从而达到窃取用户账户数据资料的目的。预防ARP欺骗的方法有:安装专业的杀毒软件、绑定IP和MAC地址。

WEB服务器常见的攻击方法及危害?

针对Web服务器的常见八种攻击方式

1、SQL注入漏洞的入侵

这种是ASP+ACCESS的网站入侵方式,通过注入点列出数据库里面管理员的帐号和密码信息,然后猜解出网站的后台地址,然后用帐号和密码登录进去找到文件上传的地方,把ASP木马上传上去,获得一个网站的WEBSHELL。

2、ASP上传漏洞的利用

这种技术方式是利用一些网站的ASP上传功能来上传ASP木马的一种入侵方式,不少网站都限制了上传文件的类型,一般来说ASP为后缀的文件都不允许上传,但是这种限制是可以被黑客突破的,黑客可以采取COOKIE欺骗的方式来上传ASP木马,获得网站的WEBSHELL权限。

3、后台数据库备份方式获得WEBSHELL

这个主要是利用网站后台对ACCESS数据库进行数据库备份和恢复的功能,备份数据库路径等变量没有过滤导致可以把任何文件的后缀改成ASP,那么利用网站上传的功能上传一个文件名改成JPG或者GIF后缀的ASP木马,然后用这个恢复库备份和恢复的功能把这个木马恢复成ASP文件,从而达到能够获取网站WEBSHELL控制权限的目的。

4、 网站旁注入侵

这种技术是通过IP绑定域名查询的功能查出服务器上有多少网站,然后通过一些薄弱的网站实施入侵,拿到权限之后转而控制服务器的其它网站。

5、sa注入点利用的入侵技术

这种是ASP+MSSQL网站的入侵方式,找到有SA权限的SQL注入点,然后用SQL数据库的XP_CMDSHELL的存储扩展来运行系统命令建立系统级别的帐号,然后通过3389登录进去,或者在一台肉鸡上用NC开设一个监听端口,然后用VBS一句话木马下载一个NC到服务器里面,接着运行NC的反向连接命令,让服务器反向连接到远程肉鸡上,这样远程肉鸡就有了一个远程的系统管理员级别的控制权限。

6、sa弱密码的入侵技术

这种方式是用扫描器探测SQL的帐号和密码信息的方式拿到SA的密码,然后用SQLEXEC之类的工具通过1433端口连接到远程服务器上,然后开设系统帐号,通过3389登录。然后这种入侵方式还可以配合WEBSHELL来使用,一般的ASP+MSSQL网站通常会把MSSQL的连接密码写到一个配置文件当中,这个可以用WEBSHELL来读取配置文件里面的SA密码,然后可以上传一个SQL木马的方式来获取系统的控制权限。

7、提交一句话木马的入侵方式

这种技术方式是对一些数据库地址被改成asp文件的网站来实施入侵的。黑客通过网站的留言版,论坛系统等功能提交一句话木马到数据库里面,然后在木马客户端里面输入这个网站的数据库地址并提交,就可以把一个ASP木马写入到网站里面,获取网站的WEBSHELL权限。

8、 论坛漏洞利用入侵方式

这种技术是利用一些论坛存在的安全漏洞来上传ASP木马获得WEBSHELL权限,最典型的就是,动网6.0版本,7.0版本都存在安全漏洞,拿7.0版本来说,注册一个正常的用户,然后用抓包工具抓取用户提交一个ASP文件的COOKIE,然后用明小子之类的软件采取COOKIE欺骗的上传方式就可以上传一个ASP木马,获得网站的WEBSHELL。

常见WEB攻击之命令注入

Command

Injection,即命令注入攻击,是指由于嵌入式应用程序或者web应用程序对用户提交的数据过滤不严格,导致黑客可以通过构造特殊命令字符串的方式,将数据提交至应用程序中,并利用该方式执行外部程序或系统命令实施攻击,非法获取数据或者网络资源等。

在命令注入的漏洞中,最为常见的是PHP的命令注入。PHP命令注入攻击存在的主要原因是web应用程序员在应用PHP语言中一些具有命令执行功能的函数时,对用户提交的数据内容没有进行严格的过滤就带入函数中执行而造成的。例如,当黑客提交的数据内容为向网站目录写入PHP文件时,就可以通过该命令注入攻击漏洞写入一个PHP后门文件,进而实施进一步的渗透攻击。

原理:Web应用在调用这些函数执行系统命令的时候,在没有做好过滤用户输入的情况下,如果用户将自己的输入作为系统命令的参数拼接到命令行中,就会造成命令注入的漏洞。

命令注入攻击是如何形成的?

嵌入式应用程序或者web应用程序有时需要调用一些系统命令的函数,如Linux

C中的system(),exec(),shell-exec()等等,当用户能够控制这些函数中的参数时,就可以将恶意参系统命令拼接到正常命令中,从而造成命令注入攻击设备系统。

命令注入的形成需要如下三个条件:

1、使用了内部调用shell的函数:system(),exec()等。

2、将外界传入的参数没有足够的过滤,直接传递给内部调用shell的函数。

3、参数中shell的元字符没有被转义。

危害:继承嵌入式应用程序或者web应用程序的权限去执行系统命令读写执行文件,导致系统有可能会被恶意攻击或者泄露系统用户信息。

网络安全攻击方法分为

1、跨站脚本-XSS

相关研究表明,跨站脚本攻击大约占据了所有攻击的40%,是最为常见的一类网络攻击。但尽管最为常见,大部分跨站脚本攻击却不是特别高端,多为业余网络罪犯使用别人编写的脚本发起的。

跨站脚本针对的是网站的用户,而不是Web应用本身。恶意黑客在有漏洞的网站里注入一段代码,然后网站访客执行这段代码。此类代码可以入侵用户账户,激活木马程序,或者修改网站内容,诱骗用户给出私人信息。

防御方法:设置Web应用防火墙可以保护网站不受跨站脚本攻击危害。WAF就像个过滤器,能够识别并阻止对网站的恶意请求。购买网站托管服务的时候,Web托管公司通常已经为你的网站部署了WAF,但你自己仍然可以再设一个。

2、注入攻击

开放Web应用安全项目新出炉的十大应用安全风险研究中,注入漏洞被列为网站最高风险因素。SQL注入方法是网络罪犯最常见的注入方法。

注入攻击方法直接针对网站和服务器的数据库。执行时,攻击者注入一段能够揭示隐藏数据和用户输入的代码,获得数据修改权限,全面俘获应用。

防御方法:保护网站不受注入攻击危害,主要落实到代码库构建上。比如说:缓解SQL注入风险的首选方法就是始终尽量采用参数化语句。更进一步,可以考虑使用第三方身份验证工作流来外包你的数据库防护。

3、模糊测试

开发人员使用模糊测试来查找软件、操作系统或网络中的编程错误和安全漏洞。然而,攻击者可以使用同样的技术来寻找你网站或服务器上的漏洞。

采用模糊测试方法,攻击者首先向应用输入大量随机数据让应用崩溃。下一步就是用模糊测试工具发现应用的弱点,如果目标应用中存在漏洞,攻击者即可展开进一步漏洞利用。

防御方法:对抗模糊攻击的最佳方法就是保持更新安全设置和其他应用,尤其是在安全补丁发布后不更新就会遭遇恶意黑客利用漏洞的情况下。

4、零日攻击

零日攻击是模糊攻击的扩展,但不要求识别漏洞本身。此类攻击最近的案例是谷歌发现的,在Windows和chrome软件中发现了潜在的零日攻击。

在两种情况下,恶意黑客能够从零日攻击中获利。第一种情况是:如果能够获得关于即将到来的安全更新的信息,攻击者就可以在更新上线前分析出漏洞的位置。第二种情况是:网络罪犯获取补丁信息,然后攻击尚未更新系统的用户。这两种情况,系统安全都会遭到破坏,至于后续影响程度,就取决于黑客的技术了。

防御方法:保护自己和自身网站不受零日攻击影响最简便的方法,就是在新版本发布后及时更新你的软件。

5、路径(目录)遍历

路径遍历攻击针对Web

root文件夹,访问目标文件夹外部的未授权文件或目录。攻击者试图将移动模式注入服务器目录,以便向上爬升。成功的路径遍历攻击能够获得网站访问权,染指配置文件、数据库和同一实体服务器上的其他网站和文件。

防御方法:网站能否抵御路径遍历攻击取决于你的输入净化程度。这意味着保证用户输入安全,并且不能从你的服务器恢复出用户输入内容。最直观的建议就是打造你的代码库,这样用户的任何信息都不会传输到文件系统API。即使这条路走不通,也有其他技术解决方案可用。

6、分布式拒绝服务-DDOS

DDoS攻击本身不能使恶意黑客突破安全措施,但会令网站暂时或永久掉线。相关数据显示:单次DDOS攻击可令小企业平均损失12.3万美元,大型企业的损失水平在230万美元左右。

DDoS旨在用请求洪水压垮目标Web服务器,让其他访客无法访问网站。僵尸网络通常能够利用之前感染的计算机从全球各地协同发送大量请求。而且,DDoS攻击常与其他攻击方法搭配使用;攻击者利用DDOS攻击吸引安全系统火力,从而暗中利用漏洞入侵系统。

防御方法:保护网站免遭DDOS攻击侵害一般要从几个方面着手:首先,需通过内容分发网络、负载均衡器和可扩展资源缓解高峰流量。其次,需部署Web应用防火墙,防止DDOS攻击隐蔽注入攻击或跨站脚本等其他网络攻击方法。

7、中间人攻击

中间人攻击常见于用户与服务器间传输数据不加密的网站。作为用户,只要看看网站的URL是不是以https开头就能发现这一潜在风险了,因为HTTPS中的s指的就是数据是加密的,缺了S就是未加密。

攻击者利用中间人类型的攻击收集信息,通常是敏感信息。数据在双方之间传输时可能遭到恶意黑客拦截,如果数据未加密,攻击者就能轻易读取个人信息、登录信息或其他敏感信息。

防御方法:在网站上安装安全套接字层就能缓解中间人攻击风险。SSL证书加密各方间传输的信息,攻击者即使拦截到了也无法轻易破解。现代托管提供商通常已经在托管服务包中配置了SSL证书。

8、暴力破解攻击

暴力破解攻击是获取Web应用登录信息相当直接的一种方式。但同时也是非常容易缓解的攻击方式之一,尤其是从用户侧加以缓解最为方便。

暴力破解攻击中,攻击者试图猜解用户名和密码对,以便登录用户账户。当然,即使采用多台计算机,除非密码相当简单且明显,否则破解过程可能需耗费几年时间。

防御方法:保护登录信息的最佳办法,是创建强密码,或者使用双因子身份验证。作为网站拥有者,你可以要求用户同时设置强密码和2FA,以便缓解网络罪犯猜出密码的风险。

9、使用未知代码或第三方代码

尽管不是对网站的直接攻击,使用由第三方创建的未经验证代码,也可能导致严重的安全漏洞。

代码或应用的原始创建者可能会在代码中隐藏恶意字符串,或者无意中留下后门。一旦将受感染的代码引入网站,那就会面临恶意字符串执行或后门遭利用的风险。其后果可以从单纯的数据传输直到网站管理权限陷落。

防御方法:想要避免围绕潜在数据泄露的风险,让你的开发人员分析并审计代码的有效性。

10、网络钓鱼

网络钓鱼是另一种没有直接针对网站的攻击方法,但我们不能将它除在名单之外,因为网络钓鱼也会破坏你系统的完整性。

网络钓鱼攻击用到的标准工具就是电子邮件。攻击者通常会伪装成其他人,诱骗受害者给出敏感信息或者执行银行转账。此类攻击可以是古怪的419骗局,或者涉及假冒电子邮件地址、貌似真实的网站和极具说服力用语的高端攻击。

防御方法:缓解网络钓鱼骗局风险最有效的方法,是培训员工和自身,增强对此类欺诈的辨识能力。保持警惕,总是检查发送者电子邮件地址是否合法,邮件内容是否古怪,请求是否不合常理。

0条大神的评论

发表评论