渗透测试常见漏洞概述及修复方法

发表于:2021-6-21 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ABhusky    来源:博客园

  一、敏感信息泄露
  风险等级
  低危–高危
  敏感信息泄露描述
  由于网站运维人员疏忽,存放敏感信息的文件被泄露或由于网站运行出差导致敏感信息泄露(后台地址,配置文件,数据库备份文件,网站备份文件,phpinfo,svn/github,用户信息泄露)。
  敏感信息泄露的危害
  1.攻击者可直接下载用户的相关信息,包括网站的绝对路径,用户的登录名、密码、真实姓名、身份证号、电话号码、邮箱、QQ号等。
  2.攻击者通过构造特殊URL地址,触发系统WEB应用程序报错,在回显内容中,获取网站敏感信息。
  3.攻击者利用泄露的敏感信息,获取网站服务器的WEB路径,为进一步攻击提供帮助。
  敏感信息泄露修复方式
  1.对网站错误信息进行统计返回,模糊化处理。
  2.对存放敏感信息的文件进行加密并妥善储存,避免泄露敏感信息。
  二、SQL注入
  风险等级
  高危
  SQL注入漏洞描述
  SQL注入漏洞产生的原因是网站应用程序在编写时未对用户提交至服务器的数据进行合法性校验,即没有进行有效地特殊字符过滤,导致网站服务器存在安全风险,这就是SQL Injection,即SQL注入漏洞。
  SQL注入漏洞危害
  1.机密数据被窃取。
  2.核心业务数据被篡改。
  3.网页被篡改。
  4.数据库存在服务器被攻击从而变为傀儡主机,导致局域网(内网)被入侵。
  SQL注入分类
  提交类型:1.GET 2.POST 3.HTTP头 4.COOKIE
  两大类:1.显错注入(union) 2.盲注(1.基于布尔的盲注 2.基于报错的注入 3.基于延时的注入)
  SQL注入工具
  1.SQLMAP 2.Pangolin 3.Safe3WVS企业扫描版 4.超级SQL注入工具
  SQL注入相关书籍
  SQL语法:《深入浅出SQL(中文版)》,《SQL入门经典(第5版)》
  SQL注入:《SQL注入与防御 第2版》
  SQLMAP注入神器:《SQLMAP从入门到精通》
  SQL注入漏洞修复方式
  1.在网页代码中对用户输入的数据进行严格过滤.(代码层)
  2.部署Web应用防火墙.(设备层)
  3.对数据库操作进行监控.(数据库层)
  代码层最佳修复方式:PDO预编译
  其他防御方式:正则过滤(正则语法都一样)
  三、XSS跨站脚本
  风险等级
  高危
  XSS跨站脚本描述
  XSS跨站脚本漏洞产生的原因是网站应用程序在编写时未对用户提交至服务器的数据进行合法性校验,即没有进行有效地特殊字符过滤,导致网站服务器存在安全风险,这就是XSS跨站脚本。
  XSS跨站脚本攻击漏洞危害
  1.网络钓鱼,盗取管理员或者用户账号和隐私信息。
  2.劫持合法用户会话,利用管理员身份进行恶意操作,篡改页面内容。
  3.网页挂马,传播跨站脚本蠕虫等。
  4.控制受害者机器向其他系统发起攻击。
  XSS跨站脚本攻击分类
  1.反射型XSS 2.存储型XSS 3.DOM型XSS
  XSS跨站脚本的相关书籍
  《XSS跨站脚本攻击剖析与防御》
  XSS跨站脚本检测工具
  XSSer
  XSS跨站脚本修复方式
  1.前后端过滤特殊字符。
  2.编码转义(html编码,url编码,16进制编码,JavaScript编码)。
  3.严格限制URL参数输入值的格式,不能包含不必要的特殊字符(%0d,%0a,%0D,%0A等)。
  四、CSRF伪造客户端请求
  风险等级
  中危
  CSRF跨站请求伪造描述
  跨站请求伪造,即CSRF,攻击者通过伪造来受信任用户的请求,达到增加,输出,篡改网站内容的目的。
  CSRF跨站请求伪造的危害
  1.攻击者冒充用户/管理员,伪造请求,进行篡改、转账、改密码、发邮件等非法操作。
  CSRF跨站请求伪造的修复方式
  1.过滤用户输入,不允许发布含有站内操作URL的链接。
  2.改良站内API的设计,关键操作使用验证码,GET请求应该只浏览而不改变服务端资源。
  3.对于web站点,将此就会的授权方法(例如cookie或者HTTP授权)切换为瞬时的授权方法(在每个form中提供隐藏field)。
  4.在浏览其它站点前等处站点或者在浏览器会话结束后清理浏览器COOKIE。
  5.在服务端设置用户每一次请求分配TOKEN随机生成密钥,有效期一次性(代码层)。
  五、SSRF伪造服务端请求
  风险等级
  中危
  SSRF伪造服务端请求描述
  SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。
  SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
  SSRF伪造服务端请求危害
  1、可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息。
  2、攻击运行在内网或本地的应用程序(比如溢出)。
  3、对内网Web应用进行指纹识别,通过访问默认文件实现。
  4、攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等)。
  5、利用file协议读取文件。
  SSRF伪造服务端请求修复方式
  1.禁止跳转。
  2.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
  3.禁用不需要的协议,仅仅允许http和https请求。可以防止类似于file://, gopher://, ftp:// 等引起的问题。
  4.设置URL白名单或者限制内网IP(使用gethostbyname()判断是否为内网IP)。
  5.限制请求的端口为http常用的端口,比如 80、443、8080、8090。
  6.统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
  六、XXE外部实体框架引入
  风险等级
  高危
  XXE漏洞描述
  XXE漏洞全称XML External Entity Injection即XML外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、×××内网网站、发起dos×××等危害。xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。
  XXE漏洞危害
  XXE漏洞主要针对web服务危险的引用的外部实体并且未对外部实体进行敏感字符的过滤,从而可以造成命令执行,目录遍历等。
  XXE漏洞修复方式
  1.使用语言中推荐的禁用外部实体的方法。
  2.手动黑名单过滤(不推荐)。
  七、文件上传漏洞
  风险等级
  高危
  文件上传漏洞描述
  网站存在任意文件上传漏洞,文件上传功能没有进行格式限制,容易被黑客利用上传恶意脚本文件。
  文件上传漏洞的危害
  1.攻击者可通过此漏洞上传恶意脚本文件,对服务器的正常运行造成安全威胁影响等。
  2.攻击者可上传可执行的Webshell(php,jsp,asp,aspx等类型脚本木马),获取利用目录跳转上传html,gif,config覆盖系统原有的文件,达到获取系统权限的目的。
  文件上传漏洞的修复方式
  1.对上传文件格式进行严格校验及安全扫描,防止上传恶意脚本文件。
  2.设置权限限制,禁止上传目录的执行权限。
  3.严格限制可上传的文件类型。
  4.严格限制可上传的文件路径。
  5.文件扩展名服务端白名单校验。
  6.文件内容服务端校验。
  7.上传文件重命名。
  8.隐藏上传文件路径。
  八、弱口令漏洞
  风险等级
  高危
  弱口令漏洞描述
  弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。有后台管理员弱口令,用户弱口令,主机系统弱口令(linux,win),路由器弱口令,交换机弱口令等等。
  弱口令危害
  1.攻击者可以通过相关权限的弱口令进行相关操作,例如后台弱口令可以任意删除文章,增加文章等造成负面影响。
  2.攻击者可通过该弱口令进一步获取相关权限,例如服务器权限,导致局域网(内网)被入侵。
  弱口令修复方式
  · 增加口令强度
  九、业务逻辑漏洞
  风险等级
  低危–高危
  业务逻辑漏洞的描述
  在业务上出现逻辑问题导致的漏洞,通常不是程序员设计上出错的问题,漏洞危害体现,被一些羊毛党拿来利用。(业务漏洞)
  逻辑漏洞,是因为代码之后是人的逻辑,人更容易犯错,是编写完程序后随着人的思维逻辑产生的不足。sql注入、xss等漏洞可以通过安全框架等避免,这种攻击流量非法,对原始程序进行了破坏,防火墙可以检测,而逻辑漏洞是通过合法合理的方式达到破坏,比如密码找回由于程序设计不足,会产生很多问题,破坏方式并非向程序添加破坏内容,而是利用固有不足。这样并不影响程序运行,在逻辑上是顺利执行的。这种漏洞一般的防护手段或设备无法阻止,因为走的都是合法流量。也没有防护标准。
  业务逻辑漏洞的危害
  1.会话劫持,0元购,越权查看订单信息,越权查看用户信息,任意密码重置…
  业务逻辑漏洞的修复方式
  · 针对实际情况以正确逻辑编写代码或者梳理业务功能。
  十、代码执行漏洞
  风险等级
  高危
  代码执行漏洞描述
  远程代码执行漏洞,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致服务器端程序执行一个恶意构造的代码。
  代码执行漏洞的危害
  · 执行恶意代码,向网站写WEBSHELL,可以控制网站,甚至可以控制整个服务器。
  代码执行漏洞的修复方式
  1.严格过滤用户输入参数(正则过滤)
  2.尽量避免使用代码执行函数
  十一、命令执行漏洞
  风险等级
  高危
  命令执行漏洞描述
  命令执行漏洞是指代码未对用户可控参数做过滤,导致直接带入执行命令的代码中,对恶意构造的语句,可被用来执行任意命令。
  命令执行漏洞的危害
  黑客可在服务器上执行任意命令,写入后门,从而入侵服务器,获取服务器的管理员权限,危害巨大。
  命令执行漏洞的修复方式
  1.严格过滤用户输入的数据,禁止执行系统命令。
  2.以可替代的函数替换命令执行函数。
  十二、URL重定向漏洞
  风险等级
  中危–高危
  URL重定向漏洞描述
  URL重定向漏洞,通过URL修改为指定恶意站点,攻击者可以成功发起网络钓鱼诈骗并窃取用户凭证。
  URL重定向漏洞危害
  1.WEB应用程序执行指向外部站点的重定向
  2.攻击者可能会使用WEB服务器攻击其他站点,这将增加匿名性。
  URL重定向漏洞修复方式
  1.在网页代码中需要对用户输入的数据进行严格过滤。
  2.部署WEB应用防火墙。
  十三、文件包含
  风险等级
  高危
  文件包含漏洞描述
  文件包含漏洞多数情况出现在PHP中,当然JSP中也存在,文件包含分为本地包含与远程包含。
  文件包含漏洞危害
  1.绕过WAF上转木马文件
  2.加载有害的远程内容,影响程序运行。
  文件包含漏洞修复方式
  1.关闭allow_url_fopen
  2.避免使用include参数
  3.使用web检测文件内容
  十四、目录遍历
  风险等级
  中危
  目录遍历漏洞描述
  通过该漏洞可以获取系统文件及服务器的配置文件。利用服务器API,文件标准权限进行攻击。
  目录遍历漏洞危害
  黑客可获得服务器上的文件目录结构,从而下载敏感文件。
  目录遍历漏洞修复方式
  1.通过修改配置文件,去除中间件(IIS,APACHE,TOMCAT)的文件目录索引功能。
  2.设置目录权限
  3.在每个目录下创建一个index.html

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号