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

Packer-Fuzzer漏扫工具RCE 0day(当前已被官方修复)

0x01定位js执行点 简单搜索execjs就可以找到执行点,位置在Recoversplit.py的57行 ?...recoverStart用于处理js(而不是html了) 这里并没有加入什么恼人的判断,那个if也只是判断文件后缀名不为db。...checkCodeSpilting会读取文件,判断是否包含了document.createElement("script");这个字符串(以检查是否有异步加载的js代码),如果是的话再做一个正则匹配,然后把值加一个前缀一个后缀之后传入...首先从jsCode中正则匹配出被[]包裹着的第一个内容,作为js_compile函数的参数,然后jsCode本身再被插入进去赋值给作为js_url,看起来工具的作者是希望能够动态解析js以获取url地址...发现nameList就是匹配了两个正则表达式之后加进来的,因此随便加一个能让某个表达式匹配到内容的字符串就可以了,这里我加的是{114514:,会让第一正则表达式匹配到114514,并且加入到nameList

3.4K30

JavaScript正则表达式

正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,是用于匹配字符串中字符组合的模式。 一、JS 如何创建正则表达式?...接收两个参数,第一个是正则表达式,第二个是要进行替换的字符串。正则表达式如果设置的修饰符g,则进行全局替换,否则只替换匹配的第一个子串。...如果第一个参数不是正则表达式,则直接搜索该字符串,而不是将其转换为正则表达式。...()相似,exec() 方法对一个指定的字符串执行一个正则表达式,也就是在一个字符串中执行匹配检索。...,用 test() 对某个字符串进行检查,如果包含正则表达式的一个匹配结果,则返回 true 否则返回 false。

80310

关于JS正则表达式0.前言1.捕获2.非捕获3.匹配模式彩蛋:

原文来自我的github 0.前言 本文主要介绍了捕获和非捕获的概念,并举了一些例子,这些都是正则表达式在js中进阶的一些用法。...Unexpected token a 在这里转过去的不是字符串abc,而是变量abc,所以就直接报错:Unexpected token a in JSON at position 1,想要parse,那么这个字符串应该是这样子...在正则里面反斜杠+数字就可以做到,表示重复第n个捕获组的内容,这个n和上面$后面的数字同理: /(.)\1(.)\2/.test('高高兴兴') //TRUE,第一个和第二个相同,第三四个相同 /(.)...重复0次或更多次 +? 重复一次或更多次 ?? 重复0次或一次 {n,}? 重复n次或更多次 {n,m}?...其实,里面相当于循环 for(var i = 2;i<n;i++){ if(n%i==0){return false} } return true 复制代码 正则的强大,真的是法力无边。

1.4K20

正则详解

=[aeiou])匹配此处的位置0匹配成功,控制权交给[a-z]+,从位置0开始匹配,字符串‘apple’中的每个字符都匹配成功,匹配到字符串末尾,控制权交回正则的$,尝试匹配字符串结束位置,成功,至此...要注意的是,第一,exec()永远只返回一个匹配项(指匹配整个正则的),第二,如果设置了g修饰符,每次调用exec()会在字符串中继续查找新匹配项,不设置g修饰符,对一个字符串每次调用exec()永远只返回第一个匹配项...(查找):RegExp对象或者是一个字符串(这个字符串就被看做一个平凡的字符串) 第二个参数(替换内容):一个字符串或者是一个函数 返回:替换后的结果字符串,不会改变原来的字符串` 第一个参数是字符串...将结果放入一个数组,接受的第一个参数可以是RegExp对象或者是一个字符串(不会被转为正则),第二个参数可选指定数组大小,确保数组不会超过既定大小。...所以/a/y去匹配"ba"会匹配失败,因为y修饰符要求,在剩余位置第一个位置(这里是位置0)开始就要匹配。

1.5K30

javascript正则表达式与字符串

原文链接 说到js正则表达式,js的字符串就是一个绕不开的话题 字符串是正则表达的是一种实践 字符串String支持一些支持正则表达式的方法,昨天提到的replace就是其中之一 它们分别是: search...() match() split() replace() search search 是最简单的 search,参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配的子串,返回-1...,剩下的元素则是正则表达式中用用圆括号括起来的子表达式, 所以 如果match()返回一个数组a, 那么a[0]存放的是完整的匹配 a[1]存放的是与第一个用圆括号括起来的表达式相匹配的子串, 以此类推...补充: 正则表达式中使用圆括号括起来的子表达式是带有从左到右的索引编号的,而且正则表达式会记忆与每个子表达式匹配的文本,如果在替换字符串中出现了$加数字,那么replace()将用于与指定的子表达式相匹配的文本来替换这两个字符...($0){ return $0.slice(1).toUpperCase(); // 匹配到到是-e -b -i 形式截取后一个字符转成大写 }));//=>getElementById 2、

99030

JavaScript---网络编程(3)-Object、String、Array对象和prototype属性

如果为字符串文字添加属性,则它对所有标准字符串对象都是可用的: var alpha, beta; alpha = “这是一个字符串”; beta = “这也是一个字符串”; alpha.test...然而,在下面的例子中,被添加属性的处理略有不同: var gamma, delta; gamma = new String(“这是一个字符串”); delta = new String(“这是也一个字符串...”); gamma.test = 10; 在这种情况下,不为 delta 定义 test。...为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。...方法 //返回与正则表达式查找内容匹配的第一个子字符串的位置。

37220

JavaScript—网络编程(3)-Object、String、Array对象和prototype属性

如果为字符串文字添加属性,则它对所有标准字符串对象都是可用的: var alpha, beta; alpha = “这是一个字符串”; beta = “这也是一个字符串”; alpha.test...”); gamma.test = 10; 在这种情况下,不为 delta 定义 test。...为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。...println(str.replace("1", "666"));//将1这个字符替换成666 println(str.search("bc"));// 1 //search 方法 //返回与正则表达式查找内容匹配的第一个子字符串的位置...println( str.substr(1,3) ); //从位置1开始,截取3个字符 str = "aBcewWfd677"; println( str.toUpperCase() );//返回一个字符

34710

String类replaceAll方法正则替换深入分析

方法一:String sr1 = s.replaceAll("\\\\", "\\\\\\\\");     方法二:String sr1 = s.replaceAll("\\\\", "$0$0...");     我第一眼看到比较困惑,下面慢慢来分析。...二、解答     A.因为reg这个参数表示一个正则表达式,首先字符串“\\\\”被转义后代表的实际是字符串\\,这就是正则表达式,那么在正则表达式里也有转义,那么这个正则匹配的就是\     B.... if (nextChar == '$') {                                          // 重点2:当字符为$时,跳过,并获取其后面的数值,并以此如果$后面第一不为数字则抛异常...                    cursor++;                 }             }                          // 将从上一次匹配的子字符串的结尾索引,到当前匹配的第一个字符串索引的字符串追加到

1.6K100

0打卡leetcode之day11--正则表达式匹配

前言 这道题有点小难,嘿嘿 题目描述 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 '.' 匹配任意单个字符。 '*' 匹配零个或多个前面的元素。...输出: false 解题 我没怎么学过正则表达式,然后居然有点搞不懂 ‘*‘匹配零个或多个前面的元素 这句话的具体意思……,可能你们没有这样的疑问,但我还是要说下,就是说,*的功能,可以把*号前面的一个字符当做...下面简单讲解下思路: 方法1:递归 首先,先考虑特殊情况 (1).如果两个字符串都为空,返回true (2).当第一个字符串不空,而第二个字符串空了,返回false 可能有人会问如果p不为空,而s为空,...在比较字符的过程中,如果p的下一个字符为 *或不为 *,那么会出现不同的情况。下面我们分两种情况来讨论。 (a). 如果下一个字符不为‘*’:这种情况比较简单,直接匹配当前字符。...如果p的下一个字符为*时,稍微复杂一些,因为*可以代表0个或多个。所以又得分成三种情况来讨论: 1). 当*匹配0个字符时,s当前字符不变,p当前字符后移两位,相当于跳过到*符号后面来匹配; 2).

62220

正则表达式学习笔记

Regular Expression 匹配单个字符 匹配纯文本 匹配纯文本其实我们一般不用正则表达式就可以,使用正则表达式只是能说明这个问题 #待匹配的文本 s = 'hello my name is...,会匹配到多个区间中的任何一个字符 取非匹配 我们使用正则表达式也不是都需要匹配集合其中的字符,有时也需要匹配非集合中的字符,在正则表达式中,我们可以使用^字符对集合进行取非操作 s = 'na.txt...(r'[ns]a[^0-9]\.txt', s))) 结果为: 限制a后面字符不为数字的结果为['nam.txt'] 使用元字符 对特殊字符进行转义 使用\对元字符进行转义 s = 'list[0]...在许多实现里,第0个匹配(\0)可以用来代表整个正则表达式 前后查找 这种模式,包含的匹配本身并不返回,而是用于确定正确的匹配位置,它并不是匹配结果的一部分。...<= 嵌入条件 正则表达式里的条件要用?来定义 ?匹配前一个字符或表达式,如果它存在的话 ?= 和?

53920

js 怎么使用正则表达式-JavaScript 正则表达式

\w+\d*\d{3}\w{3,5}\d{3,}   JS正则贪婪模式与非贪婪模式贪婪模式   尽可能多的匹配   非贪婪模式   让正则表达式尽可能少的匹配,也是说一旦成功匹配不再继续尝试就是非贪婪模式...\d)/g, 'X') // "aX*3XXX"   JS对象属性   global:是否全文搜索js 怎么使用正则表达式,默认false   ignore case:是否大小写敏感,默认是 false...,井将更新全局RegExp对象的属性以反映匹配结果   如果没有匹配的文本则返回 null,否则返回一个结果数组:   index 声明匹配文本的第一个字符的位置   input 存放被检索的字符串 string...  非全局调用   调用非全局的 RegExp 对象的 exec()时,返回数组   第一个元素是与正则表相匹配的文本   第二个元素是与 的第一个子表达式相匹配的文本(如果有的话)   第三个元素是与...非全局情况下,lastIndex 不生效,所以是 0 console.log(ret.index) // 1 // 匹配文本的第一个字符的位置 console.log(ret.toString

2.8K30

通配符与正则

.] : 不匹配方括号中的字符或指定范围内的单个字符 * : 匹配 0 个字符或多个字符 ? : 匹配任何单个字符,且不能为空的字符 因为 Shell 会将方括号( [ 、 ] )、问号( ?...)、星号( * )等内容特殊处理,因此想匹配这几个字符时,需要加转义符 \ 。 通配符号 内容 * 万用字符,代表0个或者多个字符(包括数字) ?...: 匹配其前面的字符1次或者0次 + : 匹配其前面的字符至少出现1次(扩展正则表达式中) 位置匹配 ^ : 行首 $ : 行尾 \< 或 \b : 词首,其后面的任意字符必须作为单词首部出现...任意一个字符 \ 转义字符 * 重复0个或者多个前一字符情况 {n,m} 连续 n 到 m 个的前一个字符,若为 {n} 则是连续的 n 个前一个字符,若是 {n,} 则是连续 n 个以上的前一个字符...而 - 中的顺序是由 ASCII 来设定的 grep -n 'oo[^t]' temp.txt:搜索不为 oot 的那一行

1.1K10

js 几种保留小数点后两位

vue取整数的方法、js保留后两位小数、vue四舍五入 js有几种方法可以保留小数点的后两位 第一种方法 说明 第二种方法 第三种方法 js有几种方法可以保留小数点的后两位 以下我们将为大家介绍 JavaScript...第二种方法 正则表达式 function getnum() { var num = 22.123456; var aNew; var re = /([0-9]+\.[0-9]{2})[0-9]*/; aNew...= num.replace(re,"$1"); alert(aNew); } 什么是正则表达式 正则表达式是由一个字符序列形成的搜索模式。...使用字符串方法 在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。...js parseInt 取整实例详解 parseInt() 函数可解析一个字符串,并返回一个整数。 string 必需。要被解析的字符串。

6K30

从零开始学正则

js就是用的PCRE。...用JS创建第一正则1.利用RegExp2.利用反斜杠options的取值有以下两种:,忽略大小写,匹配全局,可能有多个匹配结果正则学习正式开始一个简单的正则表达式可以是最普通的字符串,举一个最简单的例子...,abc是一个字符串,我们认为abc就是我们的规则,那么,正则就可以写成 。...比如要匹配html的标签可以这样写:,表示要完全匹配正则第一个 () 里的规则的内容,比如第一个 () 里的表达式匹配了body,那\1的部分也要完全匹配body捕获组 () 最多9个, \1 ~ \...,请使用转义 比如,现在需要写出js的变量命名规则:以、 或字母开头,后面跟上0个或多个、、字母或数字。

1.3K80
领券