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

【网警提醒】基础网络攻防之webshell攻击,第1张

什么是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、文件名为indexasp 、indexphp,这类为自动生成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、利用白名单上传文件,不在白名单内的一律禁止上传,上传目录权限遵循最小权限原则。

如果服务器(网站)被入侵了,一般都是服务器或者网站存在漏洞,被黑客利用并提权入侵的,导致服务器中木马,网站被挂黑链,被篡改,被挂马。解决办法:如果程序不是很大,可以自己比对以前程序的备份文件,然后就是修复,或者换个服务器,最好是独立服务器。也可以通过安全公司来解决,国内也就Sinesafe和绿盟等安全公司 比较专业

主要是访问日志:

可以针对ip、攻击方式进行初步判断,分析访问文件以确定web内可能被入侵的入口,并针对不同的攻击方式采取相应的防御策略,如果有较高技术水平还可以试着分析攻击来源采取一定的反制措施。

一、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)破坏硬盘数据,瘫痪全系统。

二、跨站脚本漏洞

跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。

XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。

XSS类型包括:

(1)非持久型跨站:即反射型跨站脚本漏洞,是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。上面章节所举的例子就是这类情况。 (2)持久型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript代码。 (3)DOM跨站(DOM XSS):是一种发生在客户端DOM(Document Object Model文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。

三、弱口令漏洞

弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则:

(1)不使用空口令或系统缺省的口令,这些口令众所周知,为典型的弱口令。

(2)口令长度不小于8个字符。

(3)口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzftzf)。

(4)口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。

(5)口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail地址等等与本人有关的信息,以及字典中的单词。

(6)口令不应该为用数字或符号代替某些字母的单词。

(7)口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。

(8)至少90天内更换一次口令,防止未被发现的入侵者继续使用该口令。

四、HTTP报头追踪漏洞

HTTP/11(RFC2616)规范定义了HTTP TRACE方法,主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息。当Web服务器启用TRACE时,提交的请求头会在服务器响应的内容(Body)中完整的返回,其中HTTP头很可能包括Session Token、Cookies或其它认证信息。

攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE请求可以通过客户浏览器脚本发起(如XMLHttpRequest),并可以通过DOM接口来访问,因此很容易被攻击者利用。

五、Struts2远程命令执行漏洞

ApacheStruts是一款建立Java web应用程序的开放源代码架构。Apache Struts存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java代码。 网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。

六、文件上传漏洞

文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过Web访问的目录上传任意文件,包括网站后门文件( webshell ),进而远程控制网站服务器。因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。

七、私有IP地址泄露漏洞

IP地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping指令, Ping对方在网络中的名称而获得IP;在Internet上使用IP版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP 包头信息,再根据这些信息了解具体的IP。

针对最有效的“数据包分析方法”而言,就可以安装能够自动去掉发送数据包包头IP信息的一些软件。不过使用这些软件有些缺点, 譬如:耗费资源严重,降低计算机性能;访问一些论坛或者网站时会受影响;不适合网吧用户使用等等。

现在的个人用户采用最普及隐藏IP 的方法应该是使用代理,由于使用代理服务器后,“转址服务”会对发送出去的数据包有所修改,致使“数据包分析”的方法失效。一些容易泄漏用户IP 的网络软件(QQ 、MSN 、IE 等)都支持使用代理方式连接Internet ,特别是QQ 使用“ ezProxy ”等代理软件连接后, IP版的QQ都无法显示该IP地址。虽然代理可以有效地隐藏用户IP,但攻击者亦可以绕过代理, 查找到对方的真实IP地址,用户在何种情况下使用何种方法隐藏IP,也要因情况而论。

八、未加密登录请求

由于Web 配置不安全, 登陆请求把诸如用户名和密码等敏感字段未加密进行传输,攻击者可以窃听网络以劫获这些敏感信息。

九、敏感信息泄露漏洞

SQL 注入、XSS、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。

Web应用漏洞原理

Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),向Web服务器发送特殊请求,从中发现Web应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息。

常见的Web攻击分为两类:一是利用Web服务器的漏洞进行攻击,如CGI缓冲区溢出,目录遍历漏洞利用等攻击;二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等。常见的针对Web应用的攻击有:

缓冲区溢出攻击者利用超出缓冲区大小的请求和构造的二进制代码让服务器执行溢出堆栈中的恶意指令

Cookie假冒精心修改cookie数据进行用户假冒

认证逃避攻击者利用不安全的证书和身份管理

非法输入在动态网页的输入中使用各种非法数据,获取服务器敏感数据

强制访问访问未授权的网页

隐藏变量篡改对网页中的隐藏变量进行修改,欺骗服务器程序

拒绝服务攻击构造大量的非法请求,使Web服务器不能相应正常用户的访问

跨站脚本攻击提交非法脚本,其他用户浏览时**用户帐号等信息

SQL注入构造SQL代码让服务器执行,获取敏感数据

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 【网警提醒】基础网络攻防之webshell攻击

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情