当前位置: 首页 > java >正文

WEB开发-第二十七天(PHP篇)

DW + PHPStorm + PhpStudy + Navicat Premium

DW : HTML&JS&CSS开发

PHPStorm : 专业PHP开发IDE

PhpStudy :Apache MYSQL环境

Navicat Premium: 全能数据库管理工

变量覆盖安全:

$GLOBALS:这种全局变量用于在PHP脚本中的任意位置访问全局变量

用这个($GLOBALS)声明的变量 可以在全局中使用,“.”是连接符号,sum函数中初始化并赋值了一个全局变量z,在函数外也可以对其进行访问; 而sum1函数中的变量都报错,函数内调用不了函数外的变量,函数内的变量只对函数内起作用,所以输出h时会报错,报a,b,h 都未定义

数据接收安全:

$REQUEST:$REQUEST 用于收集 HTML 表单提交的数据。

$_POST:广泛用于收集提交method="post" 的HTML表单后的表单数据。

$_GET:收集URL中的发送的数据。也可用于提交表单数据(method="get")

REQUEST 接受POST 和 GET 请求

z值只接受POST请求,这里是GET请求,所以z无效; GET请求的参数写在网址后,? 用于分隔URL 和参数,而 & 用于分隔多个参数

当改成POST请求时,用HackBar 插件或者用Postman

HackBar 插件

将网址复制到下面的框中,然后点击post data ,将post提交的参数写上去 ,最后点击 execute

这里请求就变成了post请求了

Postman

$_ENV:是一个包含服务器端环境变量的数组。

因为这里没弄服务器所以演示不了

变量值含义

$_SERVER:这种超全局变量保存关于报头、路径和脚本位置的信息。

变量值含义

文件上传安全:

$_FILES:文件上传且处理包含通过POST方法上传给当前脚本的文件内容。

网上找一个php文件上传脚本,复制进去,将action留空(提交给自己处理),然后选择一个文件提交上去

 

可以用burp 拦截数据包然后修改后放出

身份验证安全:

$_COOKIE:是一个关联数组,包含通过cookie传递给当前脚本的内容。

本地客户端浏览器存储cookie值

第一次访问时没有cookie

第二次就出现了

$_SESSION:是一个关联数组,包含当前脚本中的所有session内容。

目标服务端存储,存储记录的数据

设置session值为xd

这里会在服务端生成一个值,关掉浏览器在打开去访问时,又会生成一个新的值

演示:

1、DuomiCMS变量覆盖

找变量覆盖代码->找此文件调用->

选择利用覆盖Session->找开启Session文件覆盖

先用phpstudy搭建一个网站,将源码放进根目录中, php版本选择5.5 ,MySQL选5.7 ,不然会安装了,网站搭不起来

找到这段代码,查找那个文件调用了这个代码的文件,

这里判断groupid值 为1时时管理员

通过两段代码结合

 因为时session验证,所以要有session_start(); 函数 并且要引用包含foreach的脚本文件

输入:

http://192.168.0.101:90/interface/comment.php?_SESSION[duomi_admin_id]=10&SESSION[duomi_group_id]=1&SESSION[duomi_admin_name]=zmh

访问管理员登录页面 : 实现不输入账号密码成为管理员

http://www.xdnf.cn/news/17257.html

相关文章:

  • 中国MCP市场:腾讯、阿里、百度的本土化实践
  • Disruptor 消费者核心:BatchEventProcessor解析
  • 脱机部署k3s
  • 嵌入式硬件中MOSFET基本控制详解
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第七天(Vue)(二)
  • FluentUI的介绍与使用案列
  • Pytest项目_day06(requests中Session的用法)
  • Spring文件泄露与修复方案总结
  • Go语言版JSON转TypeScript接口生成器:支持智能递归解析与命名优化
  • [Python 基础课程]Set
  • [Oracle] ROUND()函数
  • ORACLE 19C建库时卡在46%、36%
  • 《设计模式之禅》笔记摘录 - 13.迭代器模式
  • Kaggle 经典竞赛泰坦尼克号:超级无敌爆炸详细基础逐行讲解Pytorch实现代码,看完保证你也会!!!
  • 数据结构 二叉树(1)二叉树简单了解
  • 指挥中心自动化的演变
  • 状态模式及优化
  • 3479. 水果成篮 III
  • InfluxDB 集群部署与高可用方案(一)
  • 《深入浅出Embedding》这本书
  • ipv6学习
  • RNN梯度爆炸/消失的杀手锏——LSTM与GRU
  • mysql优化策略
  • 《算法导论》第 7 章 - 快速排序
  • C++11之智能指针
  • Excel制作尖刀图,直观展示业绩涨跌
  • SELinux加固Linux安全2
  • Anthropic MCP架构深度解析:下一代AI工具集成协议的设计哲学
  • AT32的freertos下modbus TCP移植
  • git push 提示:com port 443 after 75002 ms: Couldn#039;t connect to server