We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Every blessing ignored becomes a curse.
Java
CMD
whoami
arp -a
net view
cmd /c dir D:\
weblogic
Linux
Zenmap
ifconfig
SSRF
//newscrawl/newscrawl/pic.do?picPath=file://///etc/hosts
Struts2
CSRF
XSS
github
\b
Unidcode
\bpyx\b
sss pyx ss
pyx
sss pyxss
.
\n
ASCII
10
0x0A
re.DOTALL
*
.*
\d
Unicode
str
re.ASCII
bytes
P.s.
UTF-8
-
\w
\s
^
re.MULTILINE
$
\
+
?
{n}
{n,}
{n,m}
[...]
\*
[*]
?
|
()
(...)
(...){n}
\数字
\W
\S
\D
\B
pyx\B
pyxaa
pyx.
[^xs]
\序号
\0
\1
(?=exp)
(?<=exp)
(?!exp)
(?<!exp)
(?<=<(\w+)>).*(?=<\/\1>)
HTML
Python
Perl
(?<=<(\w+)>+).*(?=<\/\1>)
error: look-behind requires fixed-width pattern
(?#comment)
忽略模式里的空白符
.NET
*?
+?
??
{n,}?
#!/usr/bin/env python # coding=utf-8 import re a = re.search(r'(.+)\1', 'pyx pyx ') print a.span(), a.group() #pyx放入内存中存储,\1继续反向引用这个pyx a = re.search(r'(.+) \1', 'pyx pyx') print a.span(), a.group() #pyx后面需要跟字符 a = re.search(r'pyx\B', 'pyxaa') print a.span(), a.group() x = '1234567890' #贪婪模式,\d后面跟3个\d(不包括前面的\d),重复1次或更多次 a = re.search(r'((?<=\d)\d{3})+\b', x) print a.span(), a.group() #匹配后面不能出现abc,\b又规定了单词边界,sabc sss这样就可以匹配 a = re.search(r'\b((?!abc)\w)+\b', 'sbcsss') print a.span(), a.group()</pre>
(0, 8) pyx pyx #这里有个空格 (0, 7) pyx pyx (0, 3) pyx (1, 10) 234567890 (5, 8) sss
URL
The text was updated successfully, but these errors were encountered:
No branches or pull requests
0x01 Wooyun
Java
反序列化命令执行CMD
命令whoami
arp -a
net view
cmd /c dir D:\
weblogic
反序列化(Linux
下)Zenmap
工具扫描,发现部署的weblogic
CMD
命令whoami
ifconfig
SSRF
//newscrawl/newscrawl/pic.do?picPath=file://///etc/hosts
可进行文件读取Struts2
漏洞CSRF
XSS
github
查到源码,进行审计0x02 正则表达式
\b
元字符,代表单词的开头或结尾,也就是单词的分界处,不匹配空格,标点符号或换行,只匹配一个位置,即单词边界,单词是被定义为Unidcode
的字母数字或下划线字符,即包裹一个独立的整个单词\bpyx\b
可以匹配sss pyx ss
中的pyx
,无法匹配sss pyxss
.
元字符,匹配除了换行符(\n
,ASCII
编码为10
,十六进制0x0A
)以外的任意字符,注:通过设置re.DOTALL
可以使.
匹配任何字符(包括换行符)*
元字符,代表的不是字符,不是位置,而是数量,匹配前面的子表达式零次或多次,等价{0,}.*
代表任意数量的不包含换行的字符,包括0个\d
元字符,匹配数字Unicode
(str
类型)模式:匹配任何一个数字,包括[0-9]和其他数字字符,如果开启了re.ASCII
,就只匹配[0-9]bytes
类型)模式:匹配[0-9]中任何一个数字P.s.
:补充说明Unicode
和UTF-8
的区别-
匹配它本身 -- 连字符\w
元字符,匹配字母、数字、下划线或汉字Unicode
(str
类型)模式:匹配任何Unicode
的单词字符,基本上所有语言的字符都可以匹配,当然也包括数字额下划线,如果开启了re.ASCII
,就只匹配[a-zA-Z0-9]bytes
类型)模式:匹配ASCII
中定义的字母数字,即[a-zA-Z0-9]\s
元字符,匹配任意的空白符Unicode
(str
类型)模式:匹配Unicode
的空白字符(包括[\t\n\r\f\v]以及其他空白字符),如果开启了re.ASCII
,就只匹配[\t\n\r\f\v]bytes
类型)模式:匹配ASCII
中定义的空白字符,即[\t\n\r\f\v]^
元字符,匹配字符串的开始re.MULTILINE
,也可以匹配换行符之后的位置$
元字符,匹配字符串的结束re.MULTILINE
,也可以匹配换行符之前的位置\
来进行转义*
匹配前面的子表达式零次或多次,等价与{0,}+
匹配前面的子表达式一次或多次,等价与{1,}?
匹配前面的子表达式零次或一次,等价于{0,1}{n}
匹配前面的子表达式n次{n,}
匹配前面的子表达式n次或更多次{n,m}
匹配前面的子表达式n到m次,其中n <= m[...]
字符类,匹配所包含的任意一个字符,[- ]表示连字符或者空格,需要转义的元字符,比如\*
也可以用[*]
表示-
如果出现在字符串中间表示字符范围描述,如果出现在首位则仅作为普通字符\
保存特殊含义,用于转义字符,其他特殊字符如*
、+
、?
等都作为普通字符匹配^
如果出现在首位表示匹配不包含其中的任意字符,如果出现在字符串中间仅作为普通字符匹配|
分枝条件,将不同的规则分隔开,表示匹配正则表达式左边一个或者右边一个,总是先匹配左边的表达式,一旦匹配成功则跳过匹配右边的表达式。如果|
没有被包括在()
中,则它的范围是整个正则表达式(...)
匹配圆括号中的正则表达式,或者指定一个子组(子表达式)的开始和结束位置,也就是分组,可以利用(...){n}
指定这个子表达式的重复n次。\数字
再次引用\W
匹配任意不是字母、数字、下划线、汉子的字符\S
匹配任意不是空白符的字符\D
匹配任意非数字的字符\B
匹配不是单词开头或结束的位置,就是如果放在前面,那么前面就是有连接,同样不匹配空格、标点符号、换行pyx\B
会匹配pyxaa
,而不会匹配pyx.
[^xs]
匹配除了 x、s 这2个字母以外的任意字符\序号
用于重复搜索前面某个分组匹配的文本\0
表示整个表达式,\1
表示从左到右第一个分组\b
,^
,$
那样用于指定一个位置(?=exp)
匹配exp前面的位置(?<=exp)
匹配exp后面的位置(?!exp)
匹配后面跟的不是exp的位置(?<!exp)
匹配前面不是exp的位置(?<=<(\w+)>).*(?=<\/\1>)
匹配不包含属性的简单HTML
标签内的内容.Python
和Perl
中两个零宽断言的表达式只允许使用定长文本,如果正则表达式写成:(?<=<(\w+)>+).*(?=<\/\1>)
,解释器会报错:error: look-behind requires fixed-width pattern
(?#comment)
来包含注释,如果要加空白符的话,需要启用忽略模式里的空白符
选项(.NET
中的选项)?
*?
重复任意次,但尽可能少重复+?
重复1次或更多次,但尽可能少重复??
重复0次或1次,但尽可能少重复{n,}?
重复n次或以上,但尽可能少重复0x03 爬虫实战一
0x04 一天总结
URL
The text was updated successfully, but these errors were encountered: