当前位置:首页 > 黑客业务 > 正文内容

Java Web 工程源代码安全审计实战,第 3 部分: 文件途径操作

访客3年前 (2021-04-15)黑客业务859

前语

本文是 JavaWeb 工程源代码安全审计实战的第 3 部分,根据 WebGoat 工程,解说四种高危缝隙:文件途径操作、体系日志诈骗、线程安全和资源未开释问题。要点评论的是源码审计思路和攻防演练实战。

 

Web 运用要挟之文件途径操作

技能原理

当进犯者能够指定文件名、文件途径等文件操作的参数,就有或许越权拜访正常情况下无法抵达的体系资源。

问题剖析 PathBasedAccessControl.java129

源代码审计发现 PathBasedAccessControl.java 第 129 行 File() 办法。进犯者有或许操控文件途径越权拜访或许修正被维护的其他文件。该文件内容被作为页面元素显现。

图 1. 问题代码段

在已布置的 WebGoat 工程,发动出产环境。模仿进犯者登录,在左边导航目录下点选“Access Control Flaws - Bypass a Path Based Access Control Scheme”, 任选一个 combox 中的 xx.html 文件,点击“View Profile”提交。

进犯场景

图 2. 文件途径操作进犯场景

处理方案

快速修正

处理 WebGoat 工程的示例的文件途径操作问题,能够在 PathBasedAccessControl.java 第 97 行办法,增加对文件途径的校验。代码片段如下:

图 3. 整改文件途径操作的代码

布置整改后的代码,从头运转进犯场景,不行再现进犯。

触类旁通

一般的,为避免文件途径操作问题,开发者首先要运用正确的体系函数,其次能够自定义根据需求对文件操作参数进行过滤, 还能够运用服务器安全拜访结构。供给以下五种思路:

1. 运用标准途径 getCanonicalPath()

进犯者能够用包括 ../序列的参数来指定坐落特定目录之外的文件,然后违背程序安全战略,引发途径遍历缝隙,进犯者或许向恣意目录上传文件。

Java 言语对途径的操作有 getAbsolutePath() 获取肯定途径和 getCannonicalPath() 获取标准途径。getCannonicalPath() 首先将途径名转换成肯定途径名,这与调用 getAbsolutePath() 办法的作用相同。然后用与体系相关的方法将它映射到其专一途径名。这一般涉及到从途径名中移除剩余的称号(比方 "." 和 "..")、剖析符号衔接(关于 UNIX 渠道),以及将驱动器名转换成标准大小写方法(关于 Microsoft Windows 渠道)。所以应该尽量运用标准途径,躲避进犯者或许运用的剩余的剖析符号。

2. 开发者为运用到的文件操作参数进行输入验证,过滤字符(如“.”和“..”)

3. 针对运用场景,约束文件类型。比方运用的图片文件只能是后缀.png, .jpg 而不或许是.bat, .sh。 主张加强对文件的判别,要经过文件头而不仅仅是文件后缀来判别。

4.Java 安全管理器 permission Java.io.FilePermission

5. 服务器安全装备战略文件。能将所能读取的文件限定在特定的目录下。怎么装备安全战略文件,和详细运用的服务器类型相关

 

回页首

Web 运用要挟之体系日志 (Log) 诈骗和隐私走漏

当进犯者有或许写 Log 信息的时分,就有或许结构虚伪信息,利诱 Log 读者,利诱体系运维调试人员调试体系故障。Log 诈骗能够帮忙进犯者展开大型可继续进犯 (APT)。

源代码审计发现 HammerHead.java 第 271 行记载未经校验的 message,代码片段如下:

图 4. 问题代码段

在已布置的 WebGoat 工程,发动出产环境。

模仿进犯者登录,在左边导航目录下点选“Injection Flaws - Log Spoofing”, 在文本框输入“Smith%0d%0aLogin Succeeded for username: admin”, 提交后假定服务器 Log 这段文本,将会在 Log 文件中新的一行中写入虚伪信息“Succeeded for username: admin”。进犯的小窍门在换行符号n,也便是转码后的 %0d%0a, 换行使 Log 中的诈骗信息看起来更实在。

WebGoat 的这个示例项目仅仅描述性展现,没有真实代码履行写服务器日志。

处理方案

1. 换行符”n”。Log 诈骗最要害的元素便是换行符,假如 Log 信息用黑名单过滤,”n”必定要出现在黑名单中。假如 Log 信息用白名单过滤,”n”必定不能出现在白名单中

2. 开发完结,在出产环境上线之前,要悉数删去 System.out()

3. 分级 Log 开关。软件开发版别和发布版别,翻开不同等级的 Log 开关,明晰记载的一起将损害降到最小规模

4. 操控 Log 内容。不以任何方法记载用户的灵敏信息,哪怕是加密过的

5. 不记载隐私信息。当用户隐私信息被写到 Log 中时,就造成了隐私走漏。尤其是暗码信息,即使是加密之后的暗码信息,也不该该被存储到 Log 中。因为任何加密算法都有被破解的或许

WebGoat 工程演示了几十个 Web 问题事例,比方上传并履行歹意文件等等。本文篇幅有限,不一一列举其他事例。

以上议论了 Web 高危缝隙的审计。下面叙述几个因为 Java 言语特性,简单引导开发者犯下的编程过错。这些代码缺点使得工程不强健,需求定点审计排查、整改。

 

回页首

[1] [2]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/106718.html

分享给朋友:

“Java Web 工程源代码安全审计实战,第 3 部分: 文件途径操作” 的相关文章

蚯蚓的市场价格 - 2020年蚯蚓收购价格

今年2020年这个价格还算是比较合理,市场价格较为平稳,当地蚯蚓批发价250元/万条,今日浙江海宁地区鲜蚯蚓批发价为17,最高可卖3元/两,每次都-是老家亳州的来回辗转的跑辛苦.货源充足,现在贩子登门收购18-222020元/斤不等。 目前价格多少钱一斤目前价格在8元一斤,是一种营养价值很高的无脊椎...

存储过程oracle(oracle财务系统)

推荐教程:甲骨文教程 本文主要介绍甲骨文中的数据转换。 1.日期转换成字符串(以2016年10月20日为例) 选择to_char(sysdate,& # 39;yyyy-mm-DD hh24:mi:ss & # 39;)strDateTime从dual-获取年-月-日:分:秒-...

书黑客,黑客软件破解吃鸡,网站黑客攻击工具

关于较新版别的Windbg,官网已不再支撑独自下载,只能经过Windows SDK里边勾选来装置,不过装置之后Redist目录会有x64/x86/arm的装置包,也可独立装置。 此次评选活动的意图在于,在安全社区中宣扬这些技能,让职业进步对安全的注重,一起也能让这些技能能遭到认可和铭记。 因而,根据...

intense靶场-获取User权限

出品|MS08067实验室(www.ms08067.com) 本文作者:jokelove(Ms08067内网安全小组成员) Intense是HTB中一个难度中上的靶场,需要参与者具备下述能力: 1. Python源码审计 2. SQL注入原理 3. SNMP远程命令执行 4. 栈溢出...

全球最大黑客组织匿名者「公司被黑客攻击要求汇比特币怎么办」

⒈匿名者黑客组织匿名者黑客组织是世界最大的黑客组织,也是世界最大的政治意识黑客组织。其关键遍布于美国,次之为欧洲国家,非州、南美洲、亚洲地区等地都是有其各分部。“匿。 ⒉世界上最大黑客组织匿名者向IS开战 匿名者是啥机构 - 百度搜索。是一个黑客组织,你能了解为一群很牛逼的计算机网大神。 ⒊匿名...

天气冷注意保暖的句子 天气冷注意保暖的问候语

气温逐渐转冷,能够根据朋友圈说说的方式提示亲戚朋友注意保暖,或是给老人发短信问候语,立即的增加衣服留意身心健康,产生天冷注意保暖的语句。 天冷注意保暖的问侯 1. 冬季那麼冷,我想要一个溫暖的被子,不容易断开连接的wifi,再再加上吃剩的零食,假如这种都不能,那是否可以使给我一个你。 2. 冬...

评论列表

澄萌雾敛
2年前 (2022-07-03)

文件操作的参数,就有或许越权拜访正常情况下无法抵达的体系资源。问题剖析 PathBasedAccessControl.java129源代码审计发现 PathBasedAccessControl.java 第 129 行 File() 办法。进犯者有或许操控文件途径越权拜访或许修正

慵吋邶谌
2年前 (2022-07-03)

犯者有或许操控文件途径越权拜访或许修正被维护的其他文件。该文件内容被作为页面元素显现。图 1. 问题代码段在已布置的 WebGoat 工程,发动出产环境。模仿进犯者登录,在左

痴者寻倌
2年前 (2022-07-03)

og 文件中新的一行中写入虚伪信息“Succeeded for username: admin”。进犯的小窍门在换行符号n,也便是转码后的 %0d%0a, 换行使 Log 中的诈骗信息看起来更实在。WebGoat 的这个示例项目仅仅描述

馥妴辞忧
2年前 (2022-07-03)

前语本文是 JavaWeb 工程源代码安全审计实战的第 3 部分,根据 WebGoat 工程,解说四种高危缝隙:文件途径操作、体系日志诈骗、线程安全和资源未开释问题。要点评论的是源码审计思路和攻防演练实战。 Web 运用要挟之文件途径操作技能原理当进犯者能够指定文件名、文件途径等文件操作的参数,就有

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。