第十四天: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.hqwc.cn/news/696983.html

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

相关文章

游戏找不到emp.dll怎么恢复,简单介绍5种有效的恢复方法

当你在启动游戏时遇到提示“找不到emp.dll”时&#xff0c;可能会感到有些手足无措。不要担心&#xff0c;这个问题其实相当常见&#xff0c;解决起来也并不复杂。emp.dll是一个与游戏运行环境密切相关的动态链接库文件&#xff0c;它的缺失可能会导致游戏无法正常启动。小编将…

调剂”小清华“、不保护一志愿?——兰州大学25计算机考研考情分析

兰州大学&#xff08;Lanzhou University&#xff09;&#xff0c;简称“兰大”&#xff0c;是中华人民共和国教育部直属 全国重点大学&#xff0c;中央直管副部级建制&#xff0c;位列国家首批“双一流(A 类)”、“211 工 程”、“985 工程”大学行列&#xff0c;入选国家“珠…

mediasoup源码分析--worker启动

官网提供的demo启动方式 官方提供的mediasoup-demo是由js(信令)c(流媒体服务)两部分服务&#xff0c;mediasoup的worker进程是nodejs通过child_process 的spawn()接口启动的 async function runMediasoupWorkers() {const { numWorkers } config.mediasoup;logger.info(runn…

.Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 发布到 Win7+

.Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 实测可以完整运行在 win7sp1/win10/win11. 如果用其他工具打包,还可以运行在mac/linux下, 传送门BlazorHybrid 发布为无依赖包方式 安装 WebView2Runtime 1.57 MB或136 MB 测试DEMO 发布为依赖包方式 安装 WebView2Runtime 1.…

ONVIF系列三:ONVIF客户端实现

ONVIF系列&#xff1a; ONVIF系列一&#xff1a;ONVIF介绍 ONVIF系列二&#xff1a;Ubuntu安装gSOAP、生成ONVIF代码框架 ONVIF系列三&#xff1a;ONVIF客户端实现 在系列二中完成了在Ubuntu上安装gSOAP并生成ONVIF代码框架&#xff0c;接下来我们利用生成的框架实现ONVIF客户端…

基于STM32H750的DCMI接口OV5640摄像头条码识别

好久没写文章了&#xff0c;闭上眼睛&#xff0c;算了一下&#xff0c;大概有十年了&#xff0c;近来接到一个项目&#xff0c;需要做条码识别&#xff0c;客户要求用MCU做&#xff0c;理由成本低、价格可控。 于是乎&#xff0c;打开某宝软件&#xff0c;搜索后发现STM32H7/ST…

线性表(2)

第二章、线性表&#xff08;linear list&#xff09; 线性表是第一个数据结构&#xff0c;再提一遍&#xff0c;学习一个具体的数据结构需要关注它的逻辑结构&#xff0c;物理结构和数据的运算&#xff0c;即三要素。 2.1、线性表的定义和基本操作 线性表的定义 需要注意的是…

Windows2016系统禁止关闭系统自动更新教程

目录 1.输入cmd--适合系统2016版本2.输入sconfig&#xff0c;然后按回车键3.输入5&#xff0c;然后按回车键4.示例需要设置为手动更新&#xff0c;即输入M&#xff0c;然后按回车键 1.输入cmd–适合系统2016版本 2.输入sconfig&#xff0c;然后按回车键 3.输入5&#xff0c;然后…

基于SpringBoot + Vue的扶贫助农管理系统设计与实现+毕业论文

系统介绍 系统分为用户和管理员两个角色 用户&#xff1a;登录、注册、论坛信息、查看扶贫公告信息、查看扶贫任务信息、报名任务、查看新闻信息&#xff08;新闻收藏、新闻留言&#xff09;、个人中心、在线客服等功能 管理员&#xff1a;登录、管理员管理、基础信息管理、客…

2000-2022年上市公司供应链效率数据(含原始数据+结果)

2000-2022年上市公司供应链效率数据&#xff08;含原始数据结果&#xff09; 1、时间&#xff1a;2000-2022年 2、指标&#xff1a;年份、股票代码、省份、城市、区县、省份代码、城市代码、区县代码、首次上市年份、上市状态、股票简称、行业名称、行业代码、库存周转率、供…

docker安装时报错:Error: Nothing to do

安装docker时报以下错误 解决方法&#xff1a; 1.下载关于docker的相关依赖环境 yum -y install yum-utils device-mapper-persistent-data lvm22.设置下载Docker的镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3…

【RabbitMQ】消息队列 - RabbitMQ的使用记录

目录 一、什么是消息队列 二、什么是RabbitMQ 三、安装RabbitMQ 3.1 安装Erlang环境 3.2 安装RabbitMQ 3.3 打开服务管理界面 3.4 常用命令 四、Python示例代码 4.1 发送数据 4.2 接收数据 一、什么是消息队列 消息队列(Message Queue)是一种用于在应用程序之间传递消…