安全通告 S2-053远程代码执行漏洞 1. 漏洞描述 (S2-053/CVE-2017-12611) Struts2 REST插件存在远程代码执行漏洞,开发人员在使用表达式文本或Freemarker标签强制表达式和使用要求的值可能会导致远程代码执行攻击 2. 危害等级 中危 3. 影响范围 Struts 2.0.1 - Struts 2.3.33 Struts 2.5 - Struts 2.5.10 4. 利用方式 远程利用 5. 开发人员应避免在Freemarker的结构代码中使用可写的属性,或者使用只读属性来初始化value属性(仅限getter属性)。 2. 虽然S2-053的漏洞利用代码暂未公开,但最近的S2-052的漏洞利用代码已经公开,强烈建议更新到最新版本或使用WAF等措施缓解威胁。 - END -
近年来全球影响较大的网络安全事件往往都伴随着供应链安全问题。在供应链安全方向,有与《源代码安全审计基础》一书内容密切相关的软件供应链安全领域。 前卫而时髦的DevSecOps体系,也需要在Dev开发阶段设置代码审计环节。 代码审计在网络安全领域占有重要地位。 所以,代码审计是防御者的优势,理当充分利用。 当然,从理论上,即使进行了代码审计,Bug和安全漏洞也难以在大型复杂软件系统中杜绝。 《源代码安全审计基础》一书旨在让代码审计技术得到更广泛的应用,让更多的技术人员掌握代码审计技术。 由信息产业信息安全测评中心编写的这本书,对教材相对匮乏的代码审计人才培养工作来说是难得的及时雨。 希望本书能为我国培养更多的代码审计工程师、测评师,更好地改善代码的安全性,夯实网络安全基础。 本文来自《源代码安全审计基础》一书序言,作序人潘柱廷。 快快扫码抢购吧!
面向开发人员梳理的代码安全指南,旨在梳理 API 层面的风险点并提供详实可行的安全编码方案。基于 DevSecOps 理念,我们希望用开发者更易懂的方式阐述安全编码方案,引导从源头规避漏洞。 Python代码安全指南 图片 通用类 1. 代码实现 代码书写完毕之后的,后续工作,如加密代码之类的! 代码实现 编写代码是需要考虑和思考的问题! 【必须】禁止异常抛出敏感信息 2. Flask 安全 使用 Flask 框架编写代码是需要考虑和思考的问题! Django 安全 使用 Django 框架编写代码是需要考虑和思考的问题!
而云时代面临的传统安全算法滞后、安全边界防御体系失效、攻防节奏加快、数据资产管理机制亟待优化等安全挑战的变化,让相关行业对剔除了反复测试之后的低代码应用开发之安全性释放出了一些担忧。 然而,云环境下传统安全威胁与新生安全问题杂糅的局面,加之云攻击规模的持续扩大,业内人士对低代码这一“自带”安全属性的效用,仍有较大疑虑。 借助云原生安全开箱即用、弹性、自适应、全生命周期防护等的优势,低代码平台上的应用开发将具备“天然”原生安全属性。 毫无疑问,在安全性得到有效解决之后,搭载了云原生安全能力的低代码势必在数字化大潮下解锁出一条迅速升温的发展新赛道。 数字生态下,安全问题尚未有消弭之势,云原生安全正在尝试用“天然”基因的力量,为低代码“锦上添花”,将这种新的开发方式带到更多的业务领域中。一场关于应用开发的安全革新正在悄然升温。
虽然PHP是世界上最好的语言,但是也有一些因为弱类型语言的安全性问题出现。 虽然这样PHP方便了程序员,但是随之而来却会带来一些安全性的问题。 用法如下: int strcmp ( string $str1 , string $str2 ) 具体的用法解释如下: 参数 `str1`第一个字符串。 参数 `str2`第二个字符串。 如果 `str1` 小于 `str2` 返回 `< 0`; 如果 `str1` 大于 `str2` 返回 `> 0`; 如果两者相等,返回 0。 (入门代码审计、CTF必备) 浅谈PHP弱类型安全 NJCTF2017 线上赛 web 题解 CTF之PHP黑魔法总结 Some features of PHP in CTF PHP浮点数运算精度的问题
引言 不知道大家看过这个电影没,《我是谁:没有绝对安全的系统》, 影片中本杰明是一个这样的人:在三次元现实世界中,他是一个十足的屌丝&Loser,难以找到存在感,没有时尚感、没有朋友,也没有女朋友。 而影片中另一位主人公马克思是一个渴望“黑客世界”的潜在革命者,他注意到了本杰明在 网络方面的惊人才华,马克思、本杰明和神童斯蒂芬以及保罗私人组建了黑客组织CLAY,并且为了正义入侵国际安全系统。 他们凭借高超黑客技术的所为引起了德国秘密警察组织、欧洲刑警组织的重视,并且一个邪恶的黑客将他们视作威胁, 或许在代码的背后,你永远不知道对方的身份,或许你认为没有绝对安全的代码,或许的或许都是或许的猜测 ,其实不然,不信,你看,他来了,该项目目前已获star数49.6k 就足以说明写什么,所以程序员们加油吧,至于这个项目的魅力,真正的是什么,大家可以关注我, 回复“绝对安全的代码” 获取项目地址,然后看一看这个项目的魅力 绝对安全的代码
第一次写文章,希望大牛们轻喷 一、代码审计安全 代码编写安全: 程序的两大根本:变量与函数 漏洞形成的条件:可以控制的变量“一切输入都是有害的 ” 变量到达有利用价值的函数(危险函数)“一切进入函数的变量是有害的 通读全部代码 四、安全编程规范: 1.SQL注入防护 (1)采用预编译,在Java Web开发一般在采用预处理,在sql语句中放入? 2. 反引号命令执行 反引号(`)也可以执行命令,它的写法很简单,实际上反引号(`)执行命令是调用的shell_exec()函数。 ? 这段代码正常执行的情况下是会输出当前用户名的,而我们在php.ini里面吧PHP安全模式打开一下,再重启下WebServer从新加载PHP配置文件,再执行这段代码的时候,我们会看到下面这个提示: Waring (2) 参数白名单: 参数白名单方式在大多数由于参数过滤不严产生的漏洞中都很好用是一种通用修复方法,我们之前已经讲过,可以在代码中或者配置文件中限定某些参数,在使用的时候匹配一下这个参数在不在这个白名单列表中
代码审计是每个安全研究员都应该掌握的技能。但是网上对于代码审计的介绍文章却比较匮乏。 影响代码审计速度的原因有很多,比如: 代码语言: 对于 C/C++ 这种内存不安全的语言需要更多关注底层细节;而 Java、Python 等内存安全的语言则更多关注上层逻辑实现; 代码风格: 代码风格整洁 安全边界 该审计策略的目标是从代码实现去还原开发者或者安全架构师预设的安全边界,从而对还原后安全边界进行进一步审计,构建实际攻击的威胁模型。 key val 起点 所有安全相关的校验和检查代码 终点 安全漏洞 方法 随机应变 目标 通过已知的安全相关代码去推测还原目标的设计的安全边界 难度 ★★★★ 速度 ★★★ 理解 ★★★★★ 一个具体的方法是通过收集整理代码中的安全校验相关代码片段进行记录 这些原始的安全验证是我们对应用安全边界建模的重要信息来源,该策略的优点是可以让我们专注于安全相关的代码区域,并且构建更为完整的设计架构。
(2)广域网:路由器到路由器模式,网关到网关模式。 (3)远程访问:拨号客户机,专网对Internet的访问。 (1)安全体系结构。包含一般的概念、安全需求和定义IPSec的技术机制。 (2)ESP协议。加密IP数据包的默认值、头部格式以及与加密封装相关的其他条款。 (3)AH协议。 SA(安全关联))表示了策略实施的具体细节,包括源/目的地址、应用协议、SPI(安全策略索引)等;SAD为进入和外出包处理维持一个活动的SA列表;SPD决定了整个VPN的安全需求。 ---- 2. (2)在IPSec驱动程序数据库中查找相匹配的出站SA,并将SA中的SPI插人IPSec包头。 (3)对数据包签名(完整性检查);如果要求机密,则另外加密数据包。 (2)通过目的地址和SPI,在IPSec驱动程序数据库中查找相匹配的人站SA。 (3)检查签名,对数据包进行解密(如果是加密包的话)。
事件描述 监测发现,开源应用框架Apache Struts存在远程代码执行漏洞(CVE-2021-31805),攻击者可构造恶意的OGNL表达式触发漏洞,实现远程代码执行。 事件类型:漏洞利用 事件等级:高危 2. 影响范围 远程代码执行漏洞影响范围: 2.0.0<=Apache Struts <= 2.5.29 不受影响版本 Apache Struts >= 2.5.30 3.修补方案 目前漏洞细节和利用代码已公开 ,攻击者可利用该漏洞远程在目标系统上执行任意代码。 1)排查方法: 使用maven打包的项目可通过pom.xml查看当前使用的Struts2版本: 2)处置措施: 目前官方已发布修复补丁,可考虑业务影响性后展开补丁修复工作。
说了这么多,前端js代码混淆加密怎么做,推荐产品吧,国外有jscrmber,国内有jshaman!关于安全所有的用户输入都是不能相信的,如果后端的检查校验还做得不好,那就可能被攻破。 前端代码的逻辑如果还被了解清楚,那就是雪上加霜。后端的问题我们前端管不着,前端的代码安全,就是用混淆加密解决,让别人看不懂。 也就是说换行等空白字符的删除是不安全的,可能导致元素的样式产生差异。2. HTML元素中,有一个pre, 表示 preformatted text. 里面的任何空白,都不能被删除。3. 2秒就加载完了。压成一个后呢,经常可见的是达到好几MB,不能同时加载了,想想吧,是快了还是慢了,认为压成一个文件加载更快的人们啊,真得去交个智商税了。。。 总结1、前端安全需要重视,将来会越来越被重视,因为它真重要。2、不要进行多文件压缩,不要把html、css、js压到一起,很不明智的做法。3、前端安全,就是js代码安全,对js做混淆加密是正道!
2.CC体系一共包括3大部分 分别是:信息技术安全性评价通用准则,信息技术安全评价通用方法,通用准则识别协议。 该部分是CC的总体结构简介,定义了信息技术安全性评估的一般概念和原理,并提出了评估的一般模型。整个评估的过程都要遵循这个一般模型。 第2部分:安全功能组件。 作为安全性评估对象的一系列软件、固件或硬件以及它们的文档,如操作系统、防火墙产品、计算机网络、密码模块等,以及相关的管理员指南、用户指南、设计方案等文档。 (2)保护轮廓(PP)。 EAL2:结构性测试级,证明TOE与系统层次设计概念一致。 EAL.3:工程方法上的测试及验证级,证明TOE在设计上采用了积极安全操作系统安全测评研究的工程方法。 EAL.7:形式化地验证设计和测试级,证明TOE的所有安全功能经得起全面的形式化分析 安全级别和组件之间的关系可以用一张表概括,如表1-2所示。
Attack.attack() 函数先将自己的地址转换为 uint256 类型(这一步是为了兼容目标合约中的数据类型)第一次调用 HackMe.doSomething() 函数;2.
客户端JS验证 原理介绍 通过JS验证上传文件类型是最不安全的做法,因为这个方式是最容易被绕过的。我们先来看下JS实现文件检测的代码如下: ? 绕过姿势 1 通过firefox的F12修改js代码绕过验证 2 使用burp抓包直接提交,绕过js验证 服务端MIME类型检测 MIME类型介绍 不同的文件类型有不同的MIME头,常见的MIME头如下 验证MIME头的测试代码 ? 以上是一个简单的服务器上传验证代码,只要MIME头符合image/gif就允许上传。 绕过技巧 1 使用大小写绕过(针对对大小写不敏感的系统如windows),如:PhP 2 使用黑名单外的脚本类型,如:php5 3 借助文件解析漏洞突破扩展名验证,如:test.jpg.xxx(apache 安全建议 1 使用白名单限制可以上传的文件扩展 2 验证文件内容,使用正则匹配恶意代码限制上传 3 对上传后的文件统一随机命名,不允许用户控制扩展名 4 修复服务器可能存在的解析漏洞 5 严格限制可以修改服务器配置的文件上传如
image.png 0x00 Xcheck介绍 Xcheck是一个由腾讯公司CSIG质量部代码安全检查团队自研的静态应用安全测试(SAST,Static application security testing )工具,致力于挖掘代码中隐藏的安全风险,提升代码安全质量。 在4核16g的linux云主机上,Xcheck对项目的检查速度在 1w+/s ,部分项目可以达到 2w+/s。以28w行的wordpress项目为例,xcheck检查时间为18s。 image.png 漏洞触发点: image.png 其中一条触发路由: image.png 2. image.png image.png ---- 想了解Xcheck更多信息或者代码安全审计相关技术欢迎长按关注xcheck公众号~ image.png
安全漏洞代码扫描是确保软件安全的重要步骤,它可以帮助发现潜在的安全问题,从而在软件发布之前修复它们。 集成到开发流程:将代码扫描集成到持续集成/持续部署(CI/CD)流程中,确保每次代码提交或合并请求都会触发安全扫描。 2.扫描过程 静态应用程序安全测试(SAST): SAST 工具在不需要执行代码的情况下分析源代码、字节码或二进制代码,以寻找安全漏洞。 代码质量分析: 一些工具如 SonarQube 除了安全漏洞扫描外,还能提供代码质量分析,帮助改善代码的整体质量。 进行代码安全扫描是一个持续的过程,应该成为软件开发和维护的一部分。通过自动化的工具和流程,可以有效地减少安全漏洞,提高软件的安全性。
1 前言 现在一般的web开发框架安全已经做的挺好的了,比如大家常用的django,但是一些不规范的开发方式还是会导致一些常用的安全问题,下面就针对这些常用问题做一些总结。 代码审计准备部分见《php代码审计》,这篇文档主要讲述各种常用错误场景,基本上都是咱们自己的开发人员犯的错误,敏感信息已经去除。 老实说最烦这种写代码的啦。 =[] 这一段代码就是就是因为eval的参数不可控,导致任意代码执行,正确的做法就是literal.eval接口。 在python中xml.dom.minidom,xml.etree.ElementTree不受影响 9 不安全的封装 9.1 eval 封装不彻底 仅仅是将__builtings__置为空,如下方式即可绕过
代码执行(注入)类似于 SQL 注入漏洞,SQLi 是将 SQL 语句注入到数据库中执行,而代码执行则是可以把代码注入到应用中最终由服务器运行它。 1、程序中含有可以执行 PHP 代码的函数或者语言结构2、传入第一点中的参数,客户端可控,直接修改或者影响二、漏洞危害Web 应用如果存在代码执行漏洞是一件非常可怕的事情,就像一个人没有穿衣服,赤裸裸的暴露在光天化日之下 code=var_dump(file_put_contents(P O S T [ 1 ] , _POST[1], P OST[1],_POST[2]));]此时需要借助与 hackbar 通过 post 方式提交参数[1=shel.php&2=<? >]即可再当前目录下创建一个文件 shell.php五、防御方法1、尽量不要使用 eval(不是函数,是语言结构) 等函数2、如果使用的话一定要进行严格的过滤3、preg_replace 放弃使用/e
漏洞成因 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。 PHP文件包含漏洞代码 ? 以上代码保存为 http://www.test.com/index.php 本地文件包含 包含系统文件 windows ? linux 普通权限: ? root权限: ? > 2 使用菜刀连接 http://www.test.com/index.php? /boot.ini/………[…]………… 防御措施 1 尽量不要用户控制文件包含的参数 2 开启open_basedir函数,将其设置为指定目录,则只有该目录的文件允许被访问。
文件系统安全 php如果具有root权限,且在脚本中允许用户删除文件,那么用户提交数据,不进行过滤,就非常有可能删除系统文件 <? > 上面的代码,假设用户提交的$userfile值是 .. php有限的权限 用户提交上来的变量要监测和过滤,不能包含文件路径等特殊字符 尽量避免使用PHP操作文件(删除),如果有这方面的需求,那用户可删除文件也必须是系统生成的随机名称,不可被用户控制 数据库安全 数据库安全主要防范的是sql injection,即sql注入攻击, 提升数据库安全的策略如下: 不用使用root帐号或者数据库所有者帐号连接数据库,连接数据库限定连接用户的ip 使用php的pdo扩展 bug 代码中严格遵守上述策略,基本能保证代码不会有太多的安全漏洞,能防范常见攻击。