9.29 接9.27PHP相关

9.27PHP相关

 

条件判断

if(条件){条件成立时执行的代码;}

if(条件){{条件成立时执行的代码;}}else{条件不成立时执行的代码;}

if  elseif  elseif  else

switch

循环:

for(初始值,条件,增量){}循环

forecah()遍历数组

while循环

do while 循环

数组:在单个变量中存储多种类型的值,类型:数字型数组、关联型数组(键值对数组)、多维数组

$array=array(“1”,123,1.124,true)

$array=array(“k1”=>value1,”k2”=>value2)

$array=array(array(1,2,3),array(4,5,6),array(7,8,9))

数字型数组的下标是从0开始的,长度使用count()函数计算,遍历数组使用for/foreach计算,

关联型数组的下标是键,k1,k2,遍历数组使用for/foreach

 

打印数组用print_r()

 

数组的排序:

sort()升序  

rsort()降序  

asort()针对关联型数组的值,升序  

ksort()针对关联型数组的键,升序

arsort()针对关联型数组的值,降序

krsort()针对关联型数组的键,降序

 

超(级)全局变量:

$GLOBALS //包含全部变量的全局组合数组

$_SERVER //包含请求头中的信息,用户的IP、用户UA、用户头信息等    

$_REQUEST//包含用户提交的所有的数据(POST/GET/COOKIE等)

$_POST //包含用户POST方式发过来的数据

$_GET //包含用户GET方式发过来的数据

$_FILES //包含用户发送过来的文件对应的数据

$_ENV //包含服务端环境边量的数组

$_COOKIE //包含COOKIE中的数据

$_SESSION // 包含SESSION中的数据

 

Cobalt Strike简单使用

 后渗透测试工具,基于java开发,适用于团队之间协同作战,简称“CS

CS分为客户端和服务端,一般情况下我们称服务端为团队服务器,该工具具有社工(社会工程学攻击)功能,团队服务器可以帮助我们收集信息以及管理日记记录,linux中需要以root开启团队服务器,windows中 以管理员开启的团队服务器。

Linuxteamserver server_ip pwd  (server_ip 为服务端ip)

Windows: teamserver.exe 服务端IP(一般为当前机器ip) 密码  (基本同上)

然后开启客户端:

Linux./CobaltStrike 或者java -jar CobaltStrike.jar

Windows:双击CobaltStrike.exe或者java -jar CobaltStrike.jar

开启后输入IP、密码,进入CS客户端java -jar CobaltStrike.jar

 

设置监听器:在菜单栏中找到”Cobalt Strike”-->listeners,点击add添加监听

 

 

 

CS listener:(有许多种类)

比如windows/beacon dns/reverse dns txt

beacon是内置监听器,在目标主机中执行payload获得shellCS中,其种类有dns/http/https/smb等类型;

foreign外部结合的监听器,一般和MSF联动,获取meterpreter(shell)MSF

生成木马病毒

菜单栏中 attacks-->packages-->多种生成种类病毒

 

 

 

1HTML Application生成而已的HTA木马文件

2MS Office Macro生成office宏病毒

3Payload Generator生成各种语言版本的payload

4USB/CD AutoPlay生成利用自动播放运行的木马文件

5Windows Dropper捆绑器,能对文档进行捆绑

6Windows Executable生成可执行exe木马

7Windows Executable(s)生成无状态的可执行exe木马

我们选择6,设置好监听器和生成的木马的类型,得到exe木马,复制到虚拟机中运行,然后再CS客户端就能获得控制住的机器。

 

Cookiesession的比较:

1、cookie是存放在用户的浏览器中,是服务端通返回包中set-cookie来设置,cookie表示用户的浏览器和服务器之间的会话状态,登录成功之后方可获取cookie数据,该数据一般情况下具有时效性,失效之后需要用户重新登录。有了cookie数据之后,用户的每次请求都会带上cookie,服务端会验证该cookie的合法性和实效性,cookie的发送需要遵循浏览器的同源策略。

2、Session是存放在服务端的,表示用户和服务器之间的会话状态,sessioncookie是一一对应的关系,服务器也需要记住每个哪个用户登录该站点,一般情况下session是以文件的形式保存在/tmp/目录中,形式为:sess_XXXXX

只要cookie被修改过,服务器就会要求用户重新登录

 

有意思的常量(预定义常量 PHP

__LINE__ 显示当前行号

__FILE__ 当前文件的路径以及文件名

__DIR__ 当前文件的路径

__FUNCTION__ 当前定义的函数名

__CLASS__ 当前类名

PHP函数:有参、无参

function FunctionName($value=’’) //函数名命名方法:驼峰命名法(组合词的每个单词的首字母大写)

调用函数时,函数名(),注意如果需要给参数,则在()输入参数,个数要满足其要求

需要在函数中有返回值,需要return

 

PHP面向对象

C面向过程;

C++ C# java php python等是面向对象的。

对象:对于某些事物的一只描述,代表整体上的一种概念,对现实世界的一种抽象,具有行为、形态、表示三种特性

 

面相对象中常用的概念:

类:对于某类事物的一种抽象,它包含事物的形态、行为等。

对象:是类的实例,人类(亚洲人对象)、狗类(二哈)

成员变量:对象的属性特征(二哈:外形像狼)

成员函数:对象的某种行为(二哈:拆家)

 

构造函数:

主要用于创建对象时初始化对象,为成员变量赋初始值,也就意味着砸new对象时用到该函数,该函数需要定义在类中

__construct(参数)

析构:__destruct(参数)

 

类的定义:

class ClassName{ 定义类的变量和函数}

创建对象:new对象,类的实例化,使用new

调用成员方法: ->

this表示当前的类,类中有变量和函数,要使用这些变量和函数,$this->变量名

$this ->函数名

 

继承:在PHP中可以使用extends继承一个类,不能继承多个(使用其他类中的变量和函数,这个类也叫做父类)

A( 1 2 3)  class B extends A{  } AB的父类,B继承的AB可以使用A中的变量和函数。B也叫做子类。

 

方法重写:覆盖,也就是说父类中方法不能满足自身的需要,重新定义方法

 

访问控制:对定义的类中的变量和方法进行访问控制,通过public/protected/private实现

Public: 公有的 在任何地方均可访问

Protected:受保护的,只能在父类、子类以及自身中去使用

Private:私有的,只能被其定义的类中访问

 

接口:指定类中必须是要你管哪些方法,这些类不需要具体去定义,使用interface去定义接口。

接口中只需要写清楚函数的名称以及参数即可,使用接口的时候需要使用关键词implements,注意:类中必须要实现所有的方法。类中可以实现多个接口

 

服务器接收用户发过来的数据的方法:

$_GET接收用户以GET方式发过来的数据

$_POST接收用户以POST方式发过来的数据

$_COOKIE接收用户的cookie

$_REQUEST接受用户发过来的数据(GETPOST

htmlspecialchars()实体化编码

echo htmlspecialchars(“<script></script>”);//<script></script>gt;

is_array()判断参数是否是数组,如果是,则返回true

isset() 判断结果是否为空,如果是非空,则返回true

date(“Y/m/d”)  当天日期Ymd

 

简易WEB服务:IIS  apache  nginx  tomcat

php -S ip:port

python2  python -m SimpleHTTPServer 8080

 

posted @ 2019-09-29 11:47  黑空  阅读(144)  评论(0编辑  收藏  举报