2019-10-8:渗透测试,基础学习,php基础,会话,文件包含,笔记
php面向对象基础
->调用符号
构造函数construct,主要用来创建对象时初始化对象,为成员变量赋初始值,总与new运算符一起使用在创建对象的语句中
析构函数destructor,与构造函数相反,当对象结束其生命周期时,系统自动执行析构函数,__destruct
继承,php使用关键字extends来继承一个类,php不支持多继承,class child extends parent{代码}
属性的访问控制,php对属性或方法的访问控制,是通过在前面添加关键字public公有,protected受保护,或private私有来实现
public公有,公有的类成员可以在任何地方被访问
protected受保护,受保护的类成员可以被其自身以及其子类和父类访问
private私有,私有的类成员只能被其定义所在的类访问
接口:可以指定某个类必需实现哪些方法,但不需要定义这些方法的具体内容,interface定义接口,要使用接口用implements,类必需实现接口中定义的所有方法,否则会报错,类可以实现多个接口,用逗号来隔开
php表单
html form 表单action表示提交到哪个页面,method表示使用什么提交方式
服务器接收用户发来的表单数据的方式:$_GET get,$_POST post,$_COOKIE cookie,$_REQUEST 用户发来的数据,可以是get和post
htmlspecialchars实体化编码
php文件包含
在php中,通过一些文件包含的函数将本地或远程服务器中文件包含解析到当前php中,达到读取文件,代码利用,函数调用的目的
include “文件名”==include("文件名")
include_once
去包含文件的时候,include_once包含一次即可,当找不到包含文件时候,会警告,后续代码依然会执行
require
require_once
包含文件时候,require_once,需要包含一次即可,当找不到包含的文件时候,会直接报错,后续代码不执行
包含过来的文件的文件中,只要文件中代码是标准格式的php代码就会被解析
copy good.png/b+shell.php/a bad.png,
good.png是正常图片,
/b表示bit流,
shell.php是木马文件或含有php代码的文件,
/a表示acscii文件,
bad.png表示生成的图片木马,后缀名不做要求,主要是ascii文件就行
会话管理
会话,服务器和用户之间传输数据的方式或途径,在通道传输数据之前需要建立通道,这个通道可以理解为会话,在客户端通过cookie来管理会话,在服务器通过session来管理会话
cookie的管理,首先需要服务器给用户分发cookie数据,setcookie(name,value,表达式,路径,域范围)后三者可以不写,其中表达式主要用来设置cookie的时效性,setcookie需要写在html代码之前
服务器获取cookie:$_COOKIE["cookie_name"],需要使用当前打开的浏览器去访问,不能换其他浏览器
服务器删除 setcookie("cookie_name","",time()-3600)// 设置 cookie 过期时间为过去 1 小时
session管理,session变量用于存储关于会话的信息,或者更改用户会话的设置,session变量存储单一用户的信息,并对于应用程序中所有页面都可用
session,工作机制,为用户创建唯一的uid,在该uid的基础上存储变量,uid放在cookie或他通过url去传输,放在url中不安全
在html代码之前,通过session_start()函数来开启session,开启之后可以通过session数组存储某些变量
销毁session,可以使用unset()或session_destroy()函数来删除,需要session_start()结合使用,session_destroy()会清楚所有的session,谨慎使用
2019-10-8:渗透测试,基础学习,php基础,会话,文件包含,笔记的更多相关文章
- 零基础到精通Web渗透测试的学习路线
小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...
- 渗透测试(PenTest)基础指南
什么是渗透测试? 渗透测试(Penetration Test,简称为 PenTest),是指通过尝试利用漏洞攻击来评估IT基础设施的安全性.这些漏洞可能存在于操作系统.服务和应用程序的缺陷.不当配置或 ...
- 2019-9-19:渗透测试,基础学习,html常用标签,笔记
HTML常用标签<br>:换行<meta charset="utf-8">:编码标签<script type="路径">:插 ...
- 2019-10-11:渗透测试,基础学习,php+mysql连接,笔记
mysql导出数据1,通过工具如phpmyadmin,navicat等2,mysqldump -u -p 库名 > /数据库文件, mysqldump -u -p 库名 表名 > /表数据 ...
- 2019-9-24:渗透测试,JavaScript数据类型基础学习
JavaScript 数据类型 值类型(基本类型):字符串(String).数字(Number).布尔(Boolean).对空(Null).未定义(Undefined).Symbol. 引用数据类型: ...
- 2. 移动安全渗透测试-(Android安全基础)
2.1 Android系统架构 1.应用程序层 平时所见的一些java为主编写的App 2.应用程序框架层 应用框架层为应用开发者提供了用以访问核心功能的API框架 android.app:提供高层的 ...
- 4. 移动安全渗透测试-(Android逆向基础)
4.1 smali 基础 1.注释 smali中使用#来代表注释一行例如:# const-string v0, "aaa" #这句不会被执行 2.数据类型 V void,只能用于返 ...
- java基础学习总结——基础语法2
一.语句
- JAVA基础学习day23--GUI基础
一.GUI概述 1.1.GUI概述 Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面, CLI: Command line User Interf ...
随机推荐
- Ubuntu18.04 安装PGSQL
关系数据库管理系统是许多网站和应用程序的关键组成部分.它们提供了一种结构化的方式来存储,组织和访问信息. PostgreSQL或Postgres是一个关系数据库管理系统,提供SQL查询语言的实现.它是 ...
- Ubuntu 14.04风扇不停转,风扇狂转 的解决办法,亲测有效。
Ubuntu 14.04风扇不停转,风扇狂转 的解决办法,亲测有效. 原文 http://ubuntuforums.org/showthread.php?t=2218367 楼主说:ubuntu 1 ...
- Spring Boot2 系列教程(十九)Spring Boot 整合 JdbcTemplate
在 Java 领域,数据持久化有几个常见的方案,有 Spring 自带的 JdbcTemplate .有 MyBatis,还有 JPA,在这些方案中,最简单的就是 Spring 自带的 JdbcTem ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 宋宝华:关于Ftrace的一个完整案例
本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) Ftrace简介 Ftrace是Lin ...
- 浅谈Retinex
Retinex是上个世纪七十年代由Land提出的色彩理论.我认为其核心思想基于俩点 (1)在颜色感知时,人眼对局部相对光强敏感程度要优于绝对光强. (2)反射分量R(x,y)储存有无光源物体的真实模样 ...
- 前端技术之:使用webpack构建React程序配置方法
package.json中需要引入以下依赖: 开发依赖: "@babel/core": "^7.1.2", "@babel/preset-env& ...
- 监控tomcat,自动启动
tomcatID=`ps -ef |grep tomcat |grep -v 'grep'|awk '{print $2}'` tomcatCount=`ps -ef|grep tomcat |gr ...
- 一些 bypass WAF 技巧
也是之前讲课写的,现在搬运过来 --- WAF所处的位置 * 云WAF * 硬件WAF * 软件WAF * 代码级WAF WAF的绕过 1 架构层 1 对于云WAF,寻找真实ip ...
- Lucas的数论:杜教筛,莫比乌斯反演
Description: 求$\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} d(i \times j)$ $d(i)$表示$i$的约数个数和.$n \leq ...