首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    看代码学安全(9 )str_replace函数过滤不当

    前言 大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。...漏洞解析 : 这一题考察的是一个 str_replace 函数过滤不当造成的任意文件包含漏洞。在上图代码 第18行 处,程序仅仅只是将 ../ 字符替换成空,这并不能阻止攻击者进行攻击。..../ ,在经过程序的 str_replace 函数处理后,都会变成 ../ ,所以上图程序中的 str_replace 函数过滤是有问题的。...( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 该函数返回一个字符串或者数组。...///etc/passwd,过滤后实际就变成: ../http/../../../../etc/passwd ,效果如下: ? ? 接下来,我们要做的就是搜索程序在哪里调用了这个文件。

    2.4K30

    Python匿名函数排序函数过滤函数

    一. lamda匿名函数   为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): return n**n print(func(10)) f = lambda...不需要用def来声明, 一句话就可以声明出一个函数   语法:     函数名 = lambda 参数: 返回值   注意:   1. 函数的参数可以有多个. 多个参数之间用逗号隔开   2....匿名函数不管多复杂. 只能写一行, 且逻辑结束后直接返回数据   3. 返回值和正常的函数一样, 可以是任意数据类型   匿名函数并不是说一定没有名字. 这里前面的变量就是一个函数名....: 可迭代对象     key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数....根据函数运算的结果进行排序     reverse: 是否是倒叙.

    1.1K10

    【Kotlin】函数式编程 ② ( 过滤函数 | predicate 谓词函数 | filter 过滤函数 | 合并函数 | zip 函数 | folder 函数 | 函数式编程意义 )

    文章目录 一、过滤函数 二、filter 函数原型 三、filter 过滤函数代码示例 1、filter 函数简单示例 2、filter 过滤函数与 flatMap 变换函数 组合使用示例 3、filter...过滤函数与 map 变换函数 组合使用示例 四、合并函数 1、zip 合并函数 2、folder 合并函数 五、函数式编程意义 函数式编程的三种函数类别 : 变换 Transform 过滤 Filter...合并 Combine 在上一篇博客 函数式编程 ① 中 讲解了 变换函数 map 函数 与 flatMap 函数 , 本篇博客中着重讲解 过滤函数 和 合并函数 ; 一、过滤函数 ---- 过滤函数...) 过滤函数 的 接收者 是一个 集合 , 也就是说 过滤函数 要从 接收者集合 中 过滤掉一些元素 , 生成一个 新的集合 ; 谓词函数 主要是 按照一定的逻辑条件 , 判断 接收者集合 中的元素...调用 filter 过滤函数 , 将其中 包含 J 字幕的元素过滤出来 , 最终得到的集合是 先 将两个集合合并 , 然后 再过滤包含 J 的元素 的新集合 ; fun main() { //

    1.9K10

    Python:过滤序列的filter()函数

    文章背景: 最近在学习廖雪峰老师的Python文章,其中有个章节讲到的是filter()函数,该函数用于过滤序列。在学习过程中,也顺带巩固了其它的知识点,在此进行相应的整理。...Python版本:Python 3.7 1 filter()函数 2 示例代码 2.1 保留奇数 2.2 删除序列中的空字符串 2.3 采用函数filter()求数 2.4 采用函数filter...()求回数 1 filter()函数 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。...该函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新序列中。...这个时候,进入函数_odd_iter(),返回数字3,退出函数_odd_iter()。继续回到函数primes()中,将3赋给变量n。然后返回数字3,退出函数primes()。

    93630

    妙用JavaScript绕过XSS过滤-----小白安全博客

    要调用alert函数,我们需要使用window对象,这里window.alert或self.alert函数都可以,代码如下所示:  [self.alert(1)] 我们甚至可以通过使用间接调用达到不使用...基于上述的那些发现,我开始着手我的测试,看看我是否可以绕过NoScript的XSS过滤器(DOMPurify和CSP)。...由于我们可以使用Mavo的data- *属性,因此绕过DOMPurify过滤器是很容易的。...在实际的绕过试验中,第一次尝试绕过是使用JavaScript中的“fetch”函数证明了可以绕过NoScript过滤器,并且能够获取和发送HTML到远程目标机器中,示例代码如下所示: [1 and self.fetch...omglol mod 1 mod self.alert(1)andlol] 结论 ---- 像Mavo这样的框架可以使开发人员的工作变得更轻松,但是为HTML和JavaScript引入新的语法通常会破坏其安全机制

    1.8K120

    【Kotlin】函数式编程 ① ( 函数式编程简介 | 高阶函数 | 函数类别 | Transform 变换函数 | 过滤函数 | 合并函数 | map 变换函数 | flatMap 变换函数 )

    文章目录 一、函数式编程简介 1、编程范式 2、高阶函数 3、函数式编程 4、前端开发技术 二、函数类别 三、变换函数 四、map 变换函数 1、map 函数原型分析 2、map 函数设计理念 3...函数式编程范式 ; 2、高阶函数 介绍 函数式编程 前先引入 高阶函数 的概念 , 高阶函数指的是 使用 函数类型 作为 参数 或 返回值 的函数 ; 也就是说 高阶函数 的 参数 或 返回值 是 Lambda...表达式 / 匿名函数 / 闭包 ( 三者是相同的概念 ) ; 3、函数式编程 函数式编程 主要依赖于 高阶函数 返回 的数据 , 调用 返回值 的其它函数 , 可以构建出 链式操作 , 处理复杂问题...三种 函数类别 : 变换 Transform 过滤 Filter 合并 Combine 在 函数式编程 中 , 不同类型 的 函数 可以 组合起来 , 构建复杂的操作 ; 示例 : 上述 变换 , 过滤..., 然后以 供 函数式编程 调用链 中的后面的函数调用 ; 注意 : 上述操作 , 原来的集合是不改变的 ; 常见的 变换函数 : map 函数 , 函数原型如下 , 该函数定义在 _Collections.kt

    1.8K10

    安全告警数据分析之道:二】数据过滤

    引言 在系列文章《数据透视篇》中我们提到,安全设备每天所产生的告警量非常庞大,常常达到上千万量级,而绝大部分的告警都是由正常流量造成的,本文为系列文章的第二篇,浅谈这些误报的形成原因,并且阐述过滤这些误报的方法...,经过一系列过滤方法,90%以上的告警都会被当成正常流量过滤掉,高威胁度告警全部在残留的不到10%的告警当中。...需要特别说明的是,在这里,我们需要对“正常流量”和“误报”做出一定的区分,“误报”指的是安全设备的告警类型与实际payload对不上,即由于安全设备的误判而产生的告警;“正常流量”是一个更大的范围,不仅包含...四、总结 本文介绍了对海量告警进行过滤的方法,依据不同告警的特点设计不同的过滤方法,这些过滤方法具有一定的普适性。...包括云安全实验室、安全大数据分析实验室和物联网安全实验室。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。

    1.3K20

    禁用危险函数-PHP安全

    PHP配置文件中的disable_functions选项能够在PHP中禁用函数,PHP内置函数中存在很多危险性极高的函数,在生成环境上一定要注意使用。如果设置不当,严重可能造成系统崩溃。...内置函数是一把双刃剑,既能帮助开发人员解决问题,同时也会给安全上造成隐患,所以合理的使用内置函数是一个置关重要的问题,下面一起来看一下危险的内置函数。...chgrp 函数功能:改变文件或目录所属的用户组; 危害性:高 chown 函数功能:改变文件或目录的所有者; 危害性:高 chroot 函数功能:改变当前PHP进程的工作根目录,仅当系统支持CLI模式时...PHP才能工作,且该函数不适用于Windows系统; 危害性:高 dl 函数功能:在PHP运行过程中(非启动时)加载一个PHP外部模块; 危害性:高 exec 函数功能:允许执行一个外部程序,如unix...shell或cmd命令等; 危害性:高 ini_alter 函数功能:是ini_set()函数的一个别名函数,功能与ini_set()相同; 危害性:高 ini_restore 函数功能:可用于将PHP

    1.3K20

    【Kotlin】空安全 ⑥ ( 先决条件函数 | checkNotNull 函数 | require 函数 | requireNotNull 函数 | error 函数 | assert 函数 )

    文章目录 一、先决条件函数 1、先决条件函数概念 2、先决条件函数原型 3、先决条件函数代码示例 一、先决条件函数 ---- 1、先决条件函数概念 在 Kotlin 中提供了一些 内置函数 , 在这些函数中可以抛出...携带自定义信息的异常 , 这些函数 就是 " 先决条件函数 " ; 只有满足了 先决条件函数 的 先决条件 , 代码才能继续执行 , 否则就会抛异常 ; 2、先决条件函数原型 常用的先决条件函数如下...: checkNotNull 函数 : 参数为 null , 抛出 IllegalStateException 异常 , 参数为非空 , 返回非空值 ; /** * 如果[value]为空,则抛出[...= null) } return checkNotNull(value) { "Required value was null." } } require 函数 : 参数为 false...代码示例 : 在执行 name 字符串的 count 函数之前 , 先使用 checkNotNull(name, {"变量为空"}) 先决条件函数 , 判定 name 是否为空 , 如果为空 , 抛出带信息的

    2K10

    可重入函数 VS 线程安全

    常见的线程不安全的情况 不保护共享变量的函数 函数状态随着被调用,状态发生变化的函数 返回指向静态变量指针的函数 调用线程不安全函数函数 常见的线程安全的情况 每个线程对全局变量或者静态变量只有读取的权限...,而没有写入的权限,一般来说这些线程是安全的 类或者接口对于线程来说都是原子操作 多个线程之间的切换不会导致该接口的执行结果存在二义性 二、可重入函数 一个函数在重入的情况下,运行结果不会出现任何不同或者任何问题...三、可重入与线程安全 可重入与线程安全联系 函数是可重入的,那就是线程安全函数是不可重入的,那就不能由多个线程使用,有可能引发线程安全问题 如果一个函数中有全局变量,那么这个函数既不是线程安全也不是可重入的...可重入与线程安全区别 可重入函数是线程安全函数的一种。 线程安全不一定是可重入的,而可重入函数则一定是线程安全的。...如果将对临界资源的访问加上锁,则这个函数是线程安全的,但如果这个重入函数若锁还未释放则会产生死锁,因此是不可重入的。

    16620
    领券