Web****漏洞分类
WEB漏洞通常是指网站程序上的漏洞,可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞
ØSQL注入
XSS跨站脚本攻
CSRF跨站请求伪造攻击
网络传输漏洞
上传漏洞
其他漏洞
暴力破解漏洞
命令执行漏洞
SQL****注入漏洞:
网站程序忽略了对输入字符串中包含的SQL语句的检查,使得包含的SQL语句被数据库误认为是合法的SQL指令而运行,导致数据库中各种敏感数据被盗取、更改或删除。XSS跨站脚本漏洞:网站程序忽略了对输入字符串中特殊字符与字符串(如<>'"<script><iframe>onload)的检查,使得攻击者可以欺骗用户访问包含恶意JavaScript代码的页面,使得恶意代码在用户浏览器中执行,从而导致目标用户权限被盗取或数据被篡改。页面存在源代码泄露:页面存在源代码泄露,可能导致网站服务的关键逻辑、配置的账号密码泄露,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
SQL注入漏洞的危害不仅体现在数据库层面,还有可能危及承载数据库的操作系统;如果SQL注入被用来挂马,还可能用来传播恶意软件等,
这些危害包括但不限于:
• 数据库信息泄漏:数据库中存储的用户隐私信息泄露。
• 网页篡改:通过操作数据库对特定网页进行篡改。
• 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
• 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。
• 服务器被远程控制,被安装后门:经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
• 破坏硬盘数据,瘫痪全系统。XSS跨站脚本漏洞的危害包括但不限于:
• 钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼JavaScript以监控目标网站的表单输入,甚至发起基于DHTML更高级的钓鱼攻击方式。• 网站挂马:跨站后利用IFrame嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。
• 身份盗用:Cookie是用户对于特定网站的身份验证标志,XSS可以盗取用户的Cookie,从而利用该Cookie获取用户对该网站的操作权限。如果一个网站管理员用户Cookie被窃取,将会对网站引发巨大的危害。
• 盗取网站用户信息:当能够窃取到用户Cookie从而获取到用户身份时,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。
• 垃圾信息发送:比如在SNS社区中,利用XSS漏洞借用被攻击者的身份发送大量的垃圾信息给特定的目标群体。
• 劫持用户Web行为:一些高级的XSS攻击甚至可以劫持用户的Web行为,监视用户的浏览历史,发送与接收的数据等等。
• XSS蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施DDoS攻击等。信息泄露漏洞的危害CGI漏洞大多分为以下几种类型:信息泄露、命令执行和溢出,因此危害的严重程度不一。信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵;命令执行会对服务器的安全造成直接的影响,如执行任意系统命令;溢出往往能够让攻击者直接控制目标服务器,危害重大。内容泄露漏洞:会被攻击者利用导致其它类型的攻击,危害包括但不局限于:
• 内网ip泄露:可能会使攻击者渗透进入内网产生更大危害。
• 数据库信息泄露:让攻击者知道数据库类型,会降低攻击难度。
• 网站调试信息泄露:可能让攻击者知道网站使用的编程语言,使用的框架等,降低攻击难度。
• 网站目录结构泄露:攻击者容易发现敏感文件。
• 绝对路径泄露:某些攻击手段依赖网站的绝对路径,比如用SQL注入写webshell。
• 电子邮件泄露:邮件泄露可能会被垃圾邮件骚扰,还可能被攻击者利用社会工程学手段获取更多信息,扩大危害。文件泄露漏洞:可能会导致重要信息的泄露,进而扩大安全威胁,这些危害包括但不局限于:
• 帐号密码泄漏:可能导致攻击者直接操作网站后台或数据库,进行一些可能有危害的操作。
• 源码泄露:可能会让攻击者从源码中分析出更多其它的漏洞,如SQL注入,文件上传,代码执行等。
• 系统用户泄露:可能会方便暴力破解系统密码。
上传漏洞
- 原理
文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器,服务器未经任何检验或过滤,从而造成文件的执行。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。
漏洞解决方案SQL注入漏洞解决方案:
1.解决SQL注入漏洞的关键是对所有来自用户输入的数据进行严格检查、对数据库配置使用最小权限原则
2.所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。
3.对进入数据库的特殊字符('"<>&*;等)进行转义处理,或编码转换。
4.确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。5.数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
6.网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
7.严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
8.避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
9.在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。
暴力破解漏洞
介绍:
暴力破解产生原因是由于服务器没有限制,导致攻击者可以通过暴力的手段破解所需信息,用户名、密码、验证码等。
暴力破解需要一个庞大的字典。
命令执行漏洞
介绍:
应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system、exec、shell_exec、passthru、popen、
proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,
从而造成命令执行攻击,这就是命令执行漏洞。
CRLF攻击
漏洞描述
HTTP响应拆分漏洞,也叫CRLF注入攻击。CR、LF分别对应回车、换行字符。
HTTP头由很多被CRLF组合分离的行构成,每行的结构都是“键:值”。
如果用户输入的值部分注入了CRLF字符,它有可能改变的HTTP报头结构。
版权归原作者 骨灰级收藏家 所有, 如有侵权,请联系我们删除。