正则表达式
正则表达式概念 正则表达式描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串,将匹配的子串替换或者从某个串中提取符合某个条件的子串。 runoo+b 可以匹配runoob runooob runoooob等,+号代表前面的字符必须至少出现一次 runoo*b 可以匹配runob runoob runoooob等,*号代表前面的字符可以不出现,也可以出现一次或多次 colou?r 可以匹配color或者colour,?问号代表前面的字符最多只可以出现一次 构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为”元字符”)组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 普通字符 ...
PHP反序列化
PHP反序列化原理原理 序列化就是将对象转换成字符串。反序列化相反,数据的格式的转换对象的序列化利于对象的保存和传输,也可以让多个文件共享对象。 最根本的是数据类型和格式的一种相互转换 serialize() 将一个对象转换成一个字符串 unserialize() 将字符串还原成一个对象 总:在PHP中,一般通过构造一个包含魔术方法的类,然后在魔术方法中调用命令执行函数,客户端传入数据(可更改变量的属性)时未检验,传入的序列化数据被实例化、反序列化后触发魔术方法从而执行命令或代码 触发 unserialize() 函数的变量可控,文件中存在可以利用的类 上面”name”也可以理解为是一个值 上图 s表示string类型 6表示6位 “xiaodi”表示值为”xiaodi” ...
PHP中的类
PHP中的类PHP中private、public、protected的区别详解 public表示全局,类内部和外部的子类都可以访问 private表示私有的,只有本类内部可以使用 protected表示受保护的,只有本类或子类或父类中可以访问 所以限制最高,安全最好的是priva public公有类型 在子类中可以通过 self::属性名 调用public方法或书信,parent::属性名 调用父类方法 在实例中可以通过 $obj->属性名来调用public类型的方法或属性 protected受保护类型 在子类中可以通过 self::属性名 调用protected方法或属性,parent::属性名调用父类方法 和public的区别在于:不能在类的外部调用,只能在本类,子类和父类中访问 private私有属性 该类的属性和方法只能在该类中使用 该类的实例,子类中和子类的实例中都不能调用私有类型的属性和方法 PHP new:实例化对象 使用类中的属性和方法不像使用变量和函数那样简单,首先要对类进行实例化 实例化对象 ...
PHP中的=>->和::的用法
PHP中=>和->以及::符号的用法->的用法 插入式解引用操作符 用于类里,访问类里的函数或对象,就是在类里面定义了一个函数,使用->可以调用这个类里面的函数<?php class test{ function do_test(){ echo "doing foo."; } } $bar = new test; $bar = do_test(); ?> ->用来引用对象的成员(属性和方法),即可以调用类里面定义的函数和变量$arr=['a' => 123,'b' => 456]; echo $arr['a']; print_r($arr); class A{ public $a=123; public $b=456; } $obj = new A(); echo $obj -> a; print_r($obj); =>的用法 创建关联数组时,经常使用=>来操作数组 $new_array=array(in =>...
vulnhub靶场搭建
vulnhub靶机搭建预先准备工具 vulnhub官网的靶机(ova文件)https://www.vulnhub.com/ virtualbox vmware 一个Linux环境,从虚拟机里开或者直接装子系统都可以 virtualbox的使用 在virtualbox主界面的页面中点击导入 给文件 配设置 为了能使虚拟机能够操作vulnhub靶机,将他们放到同一个网段下,使用桥接模式,在某一个特定的虚拟机下...
撞库、拖库、洗库
撞库概念 撞库是黑客通过收集互联网已经泄露的用户和密码信息,生成对应的字典表,尝试批量登录其它网站后,得到一系列可以登录的用户。 很多用户在不同网站使用的是相同的账号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网站,这就可以理解为撞库攻击 防护 撞库可采用大数据安全技术来防护,比如:用数据资产梳理发现敏感目录,使用数据库加密保护核心数据,使用数据库安全运维防运维人员撞库攻击等 拖库概念 拖库是指黑客侵入有价值的网络站点,把注册用户的资料数据库全部盗走的行为,因为谐音,经常被称为脱裤 洗库概念 在取得大量的用户数据之后,黑客会通过一系列的技术手段和黑色产业链将有价值的用户数据变现,这也通常被称作‘洗库’ 最后黑客将得到的数据在其它网站上尝试登录,叫做撞库,很多用户喜欢使用统一的用户名密码,‘撞库’也可以使黑客收获颇丰 撞库常见姿势 使用ssh登录到服务器中ssh username@server 查看能够使用root权限的用户列表sudo -l
文件包含漏洞
文件包含漏洞文件中包含了php脚本,里面含有漏洞,就叫文件包含漏洞概念 php文件包含漏洞产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了意想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入,最常见的就是本地文件包含漏洞 开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。 程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 在PHP web...
php伪协议
php伪协议什么是php伪协议 php伪协议实际上就是支持的协议与封装协议 大佬的博客https://blog.csdn.net/Jeff_12138/article/details/124815370 什么时候使用php伪协议文件包含时使用!!! 例如这个时候: 可能遇见的文件包含函数 data://协议条件: allow_url_fopen:on allow_url_include:on 用法:data://text/plain, data://text/plain;base64, 示例: data://text/plain, 可以把后面的伪代码当作代码执行http://xxx/include.php?file=data://text/plain,<?php...