2019-9-29,php基础学习,笔记

cobalt strike简单使用
cobalt是一个后渗透测试工具,基于java开发,适用于团队间协同作战,简称"cs"
cs分为客户端和服务端,一般情况下我们称服务端为团队服务器,该工具具有社会工程学攻击的方法和手段,团队服务器可以帮助我们收集信息和保存日志记录,linux中需要以root开启团队服务器,windows以管理员开启团队服务器
服务端开启
linux:./teamserver server_ip pwd
windows: teamservers.exe
客户端开启
linux:./cobaltstrike 或 java -jar -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
windows:双击cobaltstrike.exe
点开之后输入好ip地址和设置的密码

1,设置监听器:
beacon是内置监听器,在目标主机中执行payload获得的shell到cs中,其类型有dns/http/https/smb等
foreign外部结合的监听器,一般和msf联动,获取meterpreter(shell)到msf中
在菜单栏找到cobalt strike找到listeners点击,之后点击add,编辑好ip端口,点击确定
2,生成木马病毒
html application,生成恶意的HTA,html应用程序
ms office macro ,生成office宏病毒
payload generator ,生成各种语言的Pyload
usb/cd autopaly,生成自动播放运行的木马
windows dropper,捆绑器,能对文档类型进行捆绑
windows executable,生成windows可执行程序
windows executabls(s),生成隐藏的windows可执行程序
在菜单栏中找到attacks,找到packages,选择windows executable,选择要生成的类型,点击generate,将生成一个木马程序,将程序复制到目标机器,运行,就会在cs客户端中看到控制住的机器

php条件判断
if(条件){条件城里时执行的代码}
if(){}else{}
if(){} elseif(){} else{}

switch 语句用于根据多个不同条件执行不同动作。

php循环
for(初始值,条件,增量){执行代码}循环

foreach 循环用于遍历数组
foreach ($array as $value){要执行代码;}

while (条件){要执行的代码;}
do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。
do{要执行的代码;}while (条件);

php数组,数组能够在单个变量中存储多个值,conut()函数计算数组的长度
数字型数组的小标是从0开始的,遍历数组用for,foreach
数值型数组,$数组名=array("1",123,1.3,true);

关联型数组的下标是键,k1,k2,遍历一样使用for,foreach
关联型数组(键值对),$数组名=array("k1"=>value1,"k2"=>value2)

多维数组
$数组名=array(array("ss",111,222),array("qq",11,22));

php数组排序
sort(),升序
rsort(),降序
asort(),根据关联数组的值,对数组进行升序排序
ksort(),根据关联数组的键,对数组进行升序排序
arsort(),根据关联数组的值,对数组进行降序排序
krsort(),根据关联数组的键,对数组进行降序排序

PHP 超级全局变量,都是数组
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
$GLOBALS,包含了全局变量的全局组合数组,变量名就是数组的键
$_SERVER,包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等信息的数组,这个数组中的项目由web服务器创建,不能保证没个服务器都提供全部项目
$_REQUEST,包含用户提交的所有的数据,POST和GET的数据,包括cookie
$_POST,包含用户POST方式发来的数据
$_GET,包含用户GET方式发来的数据
$_FILES,包含用户发送来的文件对应的数据
$_ENV,包含了服务端环境变量的数组
$_COOKIE,包含cookie中的数据
$_SESSION,包含了session中的数据

cookie和session的比较
cookie是存放在用户的浏览器中,是服务端通过返回包中的set-cookie来设置,cookie表示用户的浏览器和服务器之间的会话状态,登陆成功之后方可获取cookie数据,该数据一般情况具有时效性,失效之后需要用户重新登陆,有了cookie数据,用户的每次请求都会带上cookie,服务端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略
session是存放在服务端,表示用户和服务器时间的会话状态,session和cookie是一一对应的,服务器也需要记住哪个用户登陆了该站点,一般情况下session以文件形式,保存在tmp文件中,文件以sess_xxx保存,xx为nti6开头,此刻给浏览器分配的cookie是nti6开头的那值,只要该cookie的值被修改过,那么服务器就会要求用户重新登陆

php预定义常量
__LINE__,文件中所在的行号
__FILE__,文件的完整路径和文件名
__DIR__,文件所在目录
__FUNCTION__,函数名称
__CLASS__,类的名称

php函数,有参函数,无参函数
函数需要有返回值,return
function 函数名($value='') 函数名的首字母最好大写
调用函数,函数名(),主要如果需要给参数,则需要在括号中输入参数,参数个数要满足其要求

php面向对象
面向对象的程序设计中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象

对象的主要三个特征
对象的行为,可以对对象施加哪些操作,如开灯,关灯等就是行为
对象的形态,当施加那些方法时对象如何响应,颜色,尺寸,外形
对象的表示,对象的表示就相当于身份证,就具体区分在相同的行为与状态下有什么不同

面向对象常用的内容
类,定义了一件事物的抽象特点,类定义了包含了数据的形式以及对数据的操作
对象,是类的实例
成员变量,定义类内部的变量,是对象的特征,该变量即可称为对象的属性
成员函数,对象的某种行为,可用于访问对象的数据
构造函数,主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中
析构函数,析构函数与构造函数相反,当对象结束其生命周期时,例如对象所在的函数已调用完毕,系统自动执行析构函数,析构函数用来清理善后的工作

类的定义,
class 类名{var $x ; var $xx}
this表示当前类,类中有变量和函数

原文地址:https://www.cnblogs.com/sym945/p/11617135.html