第十四天:PHP 开发,输入输出类留言板访问 IPUA 头来源

1.PHP-全局变量$_SERVER

2.MYSQL-插入语法INSERT

3.输入输出-XSS&反射&存储

4.安全问题-XSS跨站&CSRF等

1.输入输出类安全问题

反射性xss

这个先准备一个数据,随便弄一个表名字,在随便弄一点数据存入即可

作为连接的数据库,然后构造搜索框和输出回显

数据库配置文件

定义数据库查询语句,并且输出来

而上面会出书我们搜索的3的这个回显,如果我们插入js的代码,js就是前端html的代码,在代码输出的时候就会当作Jscript代码去执行

输入<script>alert(1)</script>

就会造成弹窗,这个可以盗取cookie和结合工具进行钓鱼,

存储型xss

先写html1的留言表单

<head><meta charset="UTF-8"><title>留言板</title>
</head>
<hr>留言板<hr><form id="form1" name="form1" method="post"><p><label for="textfield">ID:</label><input type="text" name="id" id="textfield">//</p><p><label for="textfield2">昵称:</label><input type="text" name="name" id="textfield2"></p><p><label for="textfield3">QQ:</label><input type="text" name="qq" id="textfield3"></p><p><label for="textarea">内容:</label><textarea name="content" id="content"></textarea></p><p><input type="submit" name="submit" id="submit" value="提交"></p>
</form>
<p>
<hr>
<p>留言内容;</p>
</html>

然后构造一个存储数据的数据库

<?php
include('config/data.php');
$i=$_POST['id'];
$n=$_POST['name'];
$q=$_POST['qq'];
$c=$_POST['content'];
//INSERT INTO `lyb` VALUES (1, 176, 485, 'zI6V87Q1ki', 'UjScLrVEDL', '6UNgmHCNfe', 'admin');
$sql="INSERT INTO `lyb` VALUES ('$i', '804', '$q', '$n', '$c', 'admin');";mysql_query($sql,$data);
echo $i.$n.$q.$c;

这里要注意主键不能重复,不然就不能写入文件,我数据库的主键是id是1

能正常写入数据

之后在写一个存储函数的输出

上面函数每次都会执行,因为数据库没有设置为空约束,所以空数据也会添加上去,所以加一个判断条件,数据不为空的时候在执行

if(empty($i)){$sql="INSERT INTO `lyb` VALUES ('$i', '804', '$q', '$n', '$c', 'admin');";mysql_query($sql,$data);
}
//INSERT INTO `lyb` VALUES (1, 176, 485, 'zI6V87Q1ki', 'UjScLrVEDL', '6UNgmHCNfe', 'admin');$sqlc="select * from lyb";
mysql_query($sqlc,$data);
$result=mysql_query($sqlc,$data); //执行的结果赋值给变量
while($row=mysql_fetch_array($result)){ //循环,括号内是条件,row定义数组echo 'id:'.$row['flag'].'<br>'; //输出关联数组内容echo 'qq:'.$row['name'].'<br>';echo 'name:'.$row['id'].'<br>';echo 'content:'.$row['id'].'<br>';
}

这种就会造成存储型xss

我们把内容换成js语句

<script>alert(1)</script>

没访问一次,都会谈一次窗

这种存储型xss就会把攻击语句存储到了对面的数据库,而每次访问这个网站,都会把存储到数据库的攻击语句都会被查询出来,调用执行

输入输出类

只要是可以输入,并且展示出来的地方都可能存在,留言板,评论区,聊天框,私信等等

深入探讨xss

而有一些网站会接受并且显示我们的ip浏览器信息等等

比如站长之家

而这个浏览器信息我们就可以抓包,修改成xss的语句,实现弹窗,但是这个已经被修复了,把xss语句过滤掉了

就这样只要显示在网站界面我们可以控制的都可以尝试xss漏洞

referer伪造

这个比如一些登录框,点击它之后登录成功获取到的referer是登录网站的,而我们直接访问referer就是我们的浏览器,有一些就会严重referer来源,比如是他的网站跳转过来的才可以

ping

an

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序-归并排序(merge sort)

归并排序&#xff08;Merge Sort&#xff09;是一种分而治之的算法&#xff0c;它将原始数组分成越来越小的子数组&#xff0c;直到每个子数组只有一个元素&#xff0c;然后将这些子数组两两合并&#xff0c;过程中保持排序状态&#xff0c;最终合并成一个完全有序的数组。归并…

《一》Word文字编辑软件---架构设计分析

1&#xff0c;简单介绍 今天&#xff0c;我们来模拟offic软件中的word文档&#xff0c;运行如图&#xff1a; 运行程序后会出现主界面&#xff0c;顶端的菜单栏包括“文件”“编辑”“格式”“窗口”和“帮助五个主菜单。 菜单栏下面是工具栏&#xff0c;包含了系统常用的功能按…

如何判断海外住宅ip的好坏?

在海外IP代理中&#xff0c;住宅IP属于相对较好的资源&#xff0c;无论是用于工作、学习、还是娱乐&#xff0c;都能得到较好的使用效果。作为用户&#xff0c;该如何判断海外住宅IP的好坏呢&#xff1f; 稳定性与可靠性&#xff1a;海外住宅IP相比动态IP地址&#xff0c;通常具…

Java全局异常处理,@ControllerAdvice异常拦截原理解析【简单易懂】

https://www.bilibili.com/video/BV1sS411c7Mo 文章目录 一、全局异常处理器的类型1-1、实现方式一1-2、实现方式二 二、全局异常拦截点2-1、入口2-2、全局异常拦截器是如何注入到 DispatcherServlet 的 三、ControllerAdvice 如何解析、执行3-1、解析3-2、执行 四、其它4-1、设…

电脑提示找不到ffmpeg.dll无法继续执行代码怎么办?

电脑提示找不到找不到ffmpeg.dll无法继续执行代码怎么办&#xff0c;有什么好的解决办法&#xff0c;出现这样的弹出就会导致软件无法打开或者是异常关闭&#xff0c;找不到dll文件&#xff0c;是一个非常重要的电脑使用问题&#xff0c;会给使用者带来许多的麻烦。那么找不到d…

LeetCode746:使用最小花费爬楼梯

题目描述 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 代码 …

MongoDB和AI 赋能行业应用:制造业和汽车行业

欢迎阅读“MongoDB和AI 赋能行业应用”系列的第一篇。 本系列重点介绍AI应用于不同行业的关键用例&#xff0c;涵盖制造业和汽车行业、金融服务、零售、电信和媒体、保险以及医疗保健行业。 随着人工智能&#xff08;AI&#xff09;在制造业和汽车行业的集成&#xff0c;传统…

Tableau学习2.0版——复习

官网下载链接&#xff1a;https://www.tableau.com/zh-cn/support/releases 学生账户申请链接&#xff1a;https://www.tableau.com/zh-cn/academic/students。直接去学信网下载学籍在线验证作为申请证明。 目录 1、可视化原理 2、基础图表制作 2.1 对比分析&#xff08;比…

@游戏行业er!MongoDB广州线下沙龙邀您报名!

随着游戏和应用程序的发展&#xff0c;数据变得越来越重要。在为您的下一个游戏选择数据库时&#xff0c;数据库管理者常常会面对灵活性、可扩展性、可靠性、运营效率等问题或挑战。 MongoDB在游戏开发领域有着广泛的应用&#xff0c;灵活数据模型可以存储和处理各种类型的数据…

PHP 提取数组中的特定的值

需求&#xff1a; 前端展示&#xff1a; &#xff08;1&#xff09;之前的页面&#xff1a; &#xff08;2&#xff09;修改后的页面&#xff1a; 之前接口返回的数据 &#xff1a; 解决办法&#xff1a;提取tags 中的 ’约 的数组 添加到一个新的数组中去 1&#xff1a;一开…

2024年去除视频水印的5种方法

如果你从事电影剪辑或者视频编辑工作&#xff0c;你经常需要从优酷、抖音、TikTok下载各种视频片段……。 通常这些视频带有水印和字幕。一些免费软件如CapCut、canva、Filmora也会给你制作的视频打上水印&#xff0c;这些水印嵌入在视频内部。 2024年去除视频水印的5种方法 …

Mysql-用户变量的声明与使用

#声明变量 #1.标识符不能以数字开头 #2.只能使用_或$符号&#xff0c;不能使用其他符号 #3.不能使用系统关键字 setuserName刘德华; select userName:刘青云;#将赋值与查询结合 #查询变量、使用变量&#xff0c;匿名的时候建议加上as select userName as 读取到的userName变量…

Golang面向对象编程(二)

文章目录 封装基本介绍封装的实现工厂函数 继承基本介绍继承的实现字段和方法访问细节多继承 封装 基本介绍 基本介绍 封装&#xff08;Encapsulation&#xff09;是面向对象编程&#xff08;OOP&#xff09;中的一种重要概念&#xff0c;封装通过将数据和相关的方法组合在一起…

Java转Kotlin调用JNI方法异常

一、背景 Java调用JNI方法时没有任何问题&#xff0c;但是使用Java转Kotlin以后出现了崩溃异常&#xff1a;A java_vm_ext.cc:597] JNI DETECTED ERROR IN APPLICATION: jclass has wrong type: 校验参数后没有任何变化&#xff0c;经过分析验证找到解决方案 二、原因…

若依生成树表和下拉框选择树表结构(在其他页面使用该下拉框输入)

1.数据库表设计 生成树结构的主要列是id列和parent_id列&#xff0c;后者指向他的父级 2.来到前端代码生成器页面 导入你刚刚写出该格式的数据库表 3.点击编辑&#xff0c;来到字段 祖籍列表是为了好找到直接父类&#xff0c;不属于代码生成器方法&#xff0c;需要后台编…

【XSRP软件无线电】基于软件无线电平台的QPSK频带通信系统设计

目录&#xff1a; 目录&#xff1a; 一、绪论 1.1 设计背景 1.2 设计目的 二、系统总体方案 2.1 专题调研题目 2.2 调研背景 2.3 设计任务解读 2.4 设计原理 2.4.1 原理框图 2.4.2 功能验证 三、软件设计 3.1 程序解读 3.2 程序设计 3.3 仿真结果&#xff1a; 四、程序代码分析…

网络基础-SSH协议(思科、华为、华三)

SSH&#xff08;Secure Shell&#xff09;是一种用于安全远程访问和安全文件传输的协议。它提供了加密的通信通道&#xff0c;使得用户可以在不安全的网络上安全地远程登录到远程主机&#xff0c;并在远程主机上执行命令、访问文件以及传输文件&#xff0c;本篇主要讲解命令执行…

SpringAI集成本地AI大模型ollama(调用篇)非常简单!!

一&#xff0c;前提准备本地ai模型 1&#xff0c;首先需要去ollama官网下载开源ai到本地 网址&#xff1a;Ollama 直接下载到本地&#xff0c;然后启动ollama 启动完成后&#xff0c;我们可以在cmd中执行ollama可以看到相关命令行 2&#xff0c; 下载ai moudle 然后我们需要…

基于C#开发web网页模板流程-登录界面

前言&#xff0c;首先介绍一下本项目将要实现的功能 &#xff08;一&#xff09;登录界面 实现一个不算特别美观的登录窗口&#xff0c;当然这一步跟开发者本身的设计美学相关&#xff0c;像蒟蒻博主就没啥艺术细胞&#xff0c;勉强能用能看就行…… &#xff08;二&#xff09…

【vector】迭代器

Vector的基本数据结构 可以看到end指向的是数组的最后一个元素&#xff1b; 那么在使用函数遍历的时候就要注意这种清理&#xff1b; 比如计算一个数组前5个数字的最小值&#xff1b; vector<int> prices{2,1,4,2,0,52,12};auto iter_min min_element(prices.begin(),pr…