服务内容
安全性漏洞挖掘
找出应用中存在的安全漏洞。安全检测是对传统安全弱点的串联并形成路径,最终通过路径式的利用而达到模拟入侵的效果。发掘应用中影响业务正常运行、导致敏感信息泄露、造成现金和信誉损失的等的漏洞。
漏洞修复方案
渗透测试目的是防御,故发现漏洞后,修复是关键。安全专家针对漏洞产生的原因进行分析,提出修复建议,以防御恶意攻击者的攻击。
回归测试
漏洞修复后,对修复方案和结果进行有效性评估,分析修复方案的有损打击和误打击风险,验证漏洞修复结果。汇总漏洞修复方案评估结果,标注漏洞修复结果,更新并发送测试报告。
服务流程
测试内容
  • SQL注入攻击
  • 文件上传
  • 权限漏洞
  • 暴力破解
  • 敏感信息泄露
  • 业务逻辑漏洞
  • 安全配置缺陷
  • 跨站脚本攻击 (XSS)
  • 跨站点请求伪造 (CSRF)
SQL注入攻击

SQL 注入攻击(SQL Injection),简称注入攻击、SQL 注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。由于在设计程序时,忽略了对输入字符串中夹带的 SQL 指令的检查,被数据库误认为是正常的 SQL 指令而运行,进而使数据库受到攻击,可能导致数据被窃取、更改、删除,甚至执行系统命令等,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。


· 常见发生位置

URL 参数提交,主要为 GET 请求参数

表单提交,主要是 POST 请求、也包括 GET 请求

Cookie 参数提交

HTTP 请求头部的一些可修改的值,比如 Referer、User_Agent 等

一些边缘的输入点,比如 mp3 文件、图片文件的一些文件信息等


· 防御措施

使用预编译语句: 一般来说,防御 SQL 注入的最佳方式,就是使用预编译语句,绑定变量,对现有代码的改动量较大。

使用存储过程: 使用安全的存储过程可在一定程度上对抗 SQL 注入,但要注意采用此种方法无法保证 100% 安全。

严格检查用户数据:对用户传入的数据类型及内容进行严格的检查。对数据类型检查,如利用 ID 查询时判断是否为整型,输入邮箱时判断邮箱格式,输入时间、日期等必须严格按照时间、时期格式等;对数据内容进行检查,如严格检测用户提交数据中是否包含敏感字符或字符串,是否匹配某种注入规则,严格转义特殊字符等。此种方法虽然便于实施,但容易产生误报和漏报,且容易被绕过。


其他: 使用安全的编码函数、统一各数据层编码格式(如统一使用 UTF-8 格式等)、严格限制数据库用户权限、定期进行代码黑盒白盒扫描、避免将错误信息显示到页面等。

文件上传

文件上传漏洞是指由于程序代码未对用户提交的文件进行严格的分析和检查,导致攻击者可以上传可执行的代码文件,从而获取 Web 应用的控制权限(Getshell)。


· 常见发生位置

所有使用到上传功能的位置

用户可自定义的头像、背景图片等

富文本编辑器中的文件上传功能


· 防御措施

将上传目录设置为不可执行。

严格判断文件类型,使用白名单而不是黑名单(注意大小写问题)。需要注意一些与 Web Server 相关的漏洞所造成的问题,如 Apache、IIS、Nginx 等 Web 服务器的文件解析漏洞。

使用随机数改写上传后的文件名和文件路径。

单独设置文件服务器及域名。

权限漏洞

访问控制是指用户对系统所有访问的权限控制,通常包括水平权限和垂直权限。访问控制问题是所有业务系统都可能产生的逻辑类漏洞,很难通过日常的安全工具扫描或防护,通常会造成大量用户数据泄露事件。

水平越权: 同一权限(角色)级别的用户之间所产生的问题,如 A 用户可以未授权访问 B 用户的数据等。

垂直越权: 不同权限(角色)级别的用户之间所产生的问题,如普通用户可未授权进行管理操作,未登录用户可以访问需授权应用等。


· 常见发生位置

所有涉及到与用户相关数据的位置,如用户资料、地址、订单等

所有涉及到登录及权限控制的位置,如后台登录、当前用户权限校验等


· 防御措施

对于所有涉及到用户数据的操作,严格判断当前用户的身份。

对于所有需要权限控制的位置,严格校验用户权限级别。

暴力破解

暴力破解是指攻击者通过遍历或字典的方式,向目标发起大量请求,通过判断返回数据包的特征来找出正确的验证信息,从而绕过验证机制。随着互联网众多网站的数据库被泄露,攻击者选择的样本可以更具针对性,暴力破解的成功率也在不断上升。


· 常见发生位置

用户登录处的账号密码暴力破解

人机验证机制容易绕过,如使用较易识别的验证码

找回密码或二次身份验证等可能用到的手机短信验证码


· 防御措施

强制使用强密码,并定期修改。

限制密码错误尝试次数。

使用强人机验证机制。

限制一定时间内的高频访问次数。

敏感信息泄露

敏感信息泄露是指包括用户信息、企业员工信息、内部资料等不应当被外部访问到的数据通过网站、接口、外部存储等途径被未授权泄露到外部的漏洞。信息泄露漏洞会导致大量用户或企业信息被恶意利用,进行诈骗、账户窃取等,给用户和企业带来严重的不良影响。并且信息一旦信息被泄露,影响会很难消除。


· 常见发生位置

获取用户、企业信息等数据的网站或客户端接口

企业可访问到的外部存储,如网盘、邮箱等

其他一切可能泄露数据的途径


· 防御措施

对数据接口进行严格的权限检查和访问限制。划分企业安全边界,限制内部数据外流,如禁止访问外部存储应用等。提高员工数据安全意识。

业务逻辑漏洞

业务逻辑漏洞是指由于业务在设计时考虑不全所产生的流程或逻辑上的漏洞。如用户找回密码缺陷,攻击者可重置任意用户密码;如短信炸弹漏洞,攻击者可无限制利用接口发送短信,恶意消耗企业短信资费,骚扰用户等。由于业务逻辑漏洞跟业务问题贴合紧密,常规的安全设备无法有效检测出,多数需要人工根据业务场景及特点进行分析检测。


· 常见发生位置

所有涉及到用户交互的位置


· 防御措施

针对业务场景进行全面的检测。


安全配置缺陷

安全配置缺陷包括文件遍历、源码泄露、配置文件泄露等。


· 常见发生位置

文件遍历:可以浏览服务器Web目录下的文件列表,可能会泄露重要文件。

源码泄露:可以查到的 Web 程序的源代码。

配置文件泄露:Web服务器及程度代码的配置文件泄露等。


· 防御措施

检查所有可能存在安全配置问题的点,在满足业务需求的情况下,最大化安全配置。

跨站脚本攻击 (XSS)

跨站脚本攻击(XSS, Cross Site Script)通常指黑客通过“HTML注入”方式篡改了网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击行为。XSS 漏洞可被用于用户身份窃取(特别是管理员)、行为劫持、挂马、蠕虫、钓鱼等。跨站脚本攻击是目前客户端 Web 安全中最重要的漏洞。

跨站脚本攻击按效果的不同可以分为三种:

反射 XSS: 页面仅把用户输入直接回显在页面或源码中,需要诱使用户点击才能成功。

存储 XSS: XSS 攻击代码会被存储在服务器中,由于用户可能会主动浏览被攻击页面,此种方法危害较大。

DOM XSS: 通过修改页面的 DOM 节点形成 XSS。


· 常见发生位置

所有涉及到用户可控的输入输出点,如个人信息、文章、留言等。


· 防御措施

对重要的 Cookie 字段使用 HTTPOnly 参数。

检查所有用户可控输入。对所有的输入点进行严格的检查,过滤或拦截所有不符合当前语境的输入。由于一般无法预期所有可能的输出点语境,此种方法效果较差。

检查所有用户输入的输出点。由于 XSS 攻击最终是发生在输出点,因此需要分析出用户输入数据的所有输出点的环境,是输入在 HTML 标签中,还是 HTML 属性、script 标签、事件、CSS 位置中,针对不同的输出位置,制定不同的转义或过滤规则。

处理富文本。在文章、论坛等需要用到富文本的地方,需要特别注意富文本与 XSS 的区分,严格禁止所有的危险标签及“事件”,原则上应当使用白名单过滤标签、事件及属性。

跨站点请求伪造 (CSRF)

跨站点请求伪造(CSRF, Cross Site Request Forgery)。由于重要操作的所有参数都是可以被攻击者猜到,攻击者即可伪造请求,利用用户身份完成攻击操作,如发布文章、购买商品、转账、修改资料甚至密码等。


· 常见发生位置

所有由用户(包括管理员)发起的操作处


· 防御措施

使用验证码。验证码是对抗 CSRF 攻击最简洁有效的方法,但会影响用户的使用体验,并且不是所有的操作都可以添加验证码防护。因此,验证码只能作为辅助验证方法。

添加足够随机的 csrf_token 并每次更新,以防止参数被猜解到。使用 CSRF_token 是目前通用的防护方法。

验证 HTTP Referer,拒绝不安全的来源。但服务器并非在任何情况下都能获取到 Referer 值。

主要的测试内容见下表
测试单元 测试内容

息收集

真实IP

开放端口

协议识别

whois信息

证书信息

SSL加密方式

错误信息

HTTP访问方式

HTTP头参数

操作系统

中间件

框架信息

脚本语言

数据库

CMS信息

插件信息

编辑器信息

内网IP

绝对路径

目录扫描

目录遍历

IIS短文件名

.git源代码泄露

.svn源代码泄露

ds_store源代码泄露

测试页面

备份文件

配置文件

默认路径

数据库文件

访问限制绕过

报错页面

接口页面

管理页面

后台路径

身份认证测试

登录信息加密

加密方式逆向

注册限制绕过

短信轰炸

图形验证码有效性

短信验证码有效性

滑块/拼图等新型验证绕过

用户名判断

用户名枚举

口令枚举

认证绕过

弱口令

SSH弱口令

RDP弱口令

SMB弱口令

MySQL弱口令

SQLServer弱口令

Oracle弱口令

FTP弱口令

MongoDB弱口令

Memcached弱口令

PostgreSQL弱口令

Telnet弱口令

SMTP弱口令

VNC弱口令

Redis弱口令

默认口令

未授权访问

Zookeeper未授权访问

Redis未授权访问

JMX未授权访问

Druid未授权访问

通达OA未授权访问

MongoDB未授权访问

Hadoop未授权访问

致远OA未授权访问

Apache Spark未授权访问

Apache Flink Dashboard未授权访问

rsync未授权访问

匿名登录

找回密码绕过

宝塔 Phpmyadmin 未授权访问漏洞

会话测试

身份认证参数判定

参数加密还原

Cookie欺骗

Cookie伪造

HttpOnly属性

HTTP头参数分析

CSRF漏洞

逻辑测试

水平越权

垂直越权

支付漏洞

口令修改

业务逻辑

参数有效性测试

SQL注入-盲注

SQL注入-显错型

SQL注入-错误型

SQL注入-时间型

SQL注入-简单WAF绕过

XPath注入

XSS-反射型

XSS-存储型

XSS-DOM型

FlashXSS

XSS-简单WAF绕过

X-Forwarded-For伪造

框架注入

命令执行

ThinkPHP远程命令执行

Spring远程命令执行

Struts2远程命令执行

ElasticSearch远程命令执行

rConfig远程命令执行

代码执行

HTTP HOST头攻击

文件上传

FCKeditor编辑器文件上传

Ueditor编辑器文件上传

文件上传-参数限制绕过

文件上传-文件类型绕过

文件上传-简单WAF绕过

任意文件读取

vCenter任意文件读取

IBM Integrated Solutions Console任意文件读取

任意文件删除

文件包含

SSRF

反序列化

Shiro反序列化

WebLogic反序列化

Websphere反序列化

Jenkins反序列化

JBoss反序列化

Fastjson反序列化

XXE

泛微OA E-cology远程代码执行漏洞

泛微OA管理系统RCE漏洞

禅道 11.6 sql注入漏洞

禅道 11.6 任意文件读取

禅道 11.6 远程命令执行漏洞

禅道8.2-9.2.1 注入GetShell

其它测试

慢速DOS攻击

短信轰炸

邮件轰炸

条件竞争

历史漏洞(仅例举部分)

中间件解析漏洞

MS17-010

MS15-034

CVE-2019-0708

CVE-2018-15919

CVE-2020-13933

CNVD-C-2019-48814

CNNVD-201906-596

CVE-2020-14882

CVE-2018-6389

CVE-2020-1938

CVE-2019-11043

CVE-2017-17562

CVE-2017-12629

CVE-2019-0192

CVE-2019-0193

CVE-2019-12409

CVE-2019-17558

点击展开更多
服务收益

信息系统安全渗透测试是从第三方角度对系统安全性进行检查,可帮助用户发现其信息业务系统的安全薄弱环节,以协助用户有效地了解当前降低风险的初始任务;

1

信息系统渗透测试报告有助于用户方管理者以案例形式说明当前业务系统的安全现状,凸显出系统风险中最严重安全问题,从而增强用户信息安全的认知程度;

2
信息系统渗透测试有助于用户所有成员意识到自己的岗位同样可能提高或降低风险,利于内部安全的提升。
3