正则表达式由两种基本字符类型组成:原义(正常)文本字符和元字符。
元字符使正则表达式具有处理能力。元字符既可以是放在[]
中的单个字符([a]
表示匹配单个小写字符a
),也可以是字符序列([a-d]
表示匹配a、b、c、d
之中的任意一个字符,而\w
表示热议英文字母和数字以及下下划线)
正则表达式由两种基本字符类型组成:原义(正常)文本字符和元字符。
元字符使正则表达式具有处理能力。元字符既可以是放在[]
中的单个字符([a]
表示匹配单个小写字符a
),也可以是字符序列([a-d]
表示匹配a、b、c、d
之中的任意一个字符,而\w
表示热议英文字母和数字以及下下划线)
和php一样,Python 通过序列化和反序列化来存储和传递一些对象和变量数据
在 Python 中序列化称为pickling
,反序列化被称为unpickling
;在php中序列化被称为serialization
,反序列化被称为unserialization
还有一点不同的是 Python 的序列化是将一个类对象向字节流转化从而进行存储和传输,而php则是转换成字符串存储
SSRF(Server-side Request Fogery),服务器端请求伪造,是一种由攻击者构造形成服务端发起请求的一种安全漏洞。一般来说,SSRF的攻击目标是外部无法直接访问的服务器内网系统。
很多时候,网站都有从外部服务器获取资源的需求,比如加载外部图片。但如果我们能够控制服务器去请求哪个资源,如何去请求资源,我们便可以做一些不可描述的事情,服务端也形成了一个SSRF漏洞。
文件上传,顾名思义就是上传文件的功能行为,之所以会被发展为危害严重的漏洞,是程序没有对访客提交的数据进行检验或者过滤不严,可以直接提交修改过的数据绕过扩展名的检验。
文件上传漏洞是漏洞中最为简单猖獗的利用形式,一般只要能上传获取地址,可执行文件被解析就可以获取系统WebShell。
如果在代码审计中有反序列化点,但是在原本的代码中找不到可利用的类时,可以考虑使用php中的一些原生类
有些类不一定能够进行反序列化,php中使用了zend_class_unserialize_deny来禁止一些类的反序列化