什么时XSS攻击?
XSS攻击(Cross Site Scripting)中文名为跨站脚本攻击,XSS攻击
时web中一种常见的漏洞
。通过XSS漏洞可以伪造目标用户登录
,从而获取登录后的账号操作。
网站账号登录过程中的简单步骤
web网页中在用户登录的时候,通过表单把用户输入的账号密码进行后台数据库的验证,验证通过后利用session会话进行用户登录后的判别是否登录,在session的这个过程中服务器会在服务器中写入一个文件并记录sessionid
,然后也会在浏览器中设置cookie
,保存sessionid
,服务器和客户端之间利用这个sessionid
进行通信识别。如果客户端发送sessionid
给服务器服务器没有找到,则说明服务器中的这个文件已经过期删除了。那用户这边就需要重新登录了。
XSS攻击的流程
思路:通过获取目标用户登录后的sessionid
,保存到自己的电脑,然后在自己的电脑上设置获取到的sessionid
进行账号登录后的操作。通过sessionid伪造请求登录
,直接跳过账号密码登录操作就能进去。
比如:
给目标用户发送一个有吸引力的邮件,邮箱中包含一个链接,当用户点击链接跳转到一个伪造的页面,这个伪造的页面中包含了获取目标用户浏览器中cookie的javascript代码
,获取到cookie中的sessionid
后再传送到攻击者的服务器中;或者在站点中的可插入数据的地方进行在html中写行内的javascript代码执行操作(< IMG SRC="jav ascript:alert('XSS');" >;);还可以当在一个公共wifi环境下,进行可账号登录操作,wifi路由器的管理员可以通过抓包工具抓包直接抓包查看到你的sessionid,所以不要在公共wifi下进行敏感操作,是很不安全的。
提高安全性的设置
方法一:在php.ini配置文件中进行cookie只读设置的开启
#搜索session.cookie_httponly = session.cookie_httponly = On
方法二:在php代码顶部设置
<?php ini_set("session.cookie_httponly", 1); #(php5.1以前版本设置方法:header("Set-Cookie: hidden=value; httpOnly");) ?>
小程序支付&回调php centos Elasticsearch & LogStash & kibana安装及调试 Magento升级到2.4.3订单详情空白 nba2k23球员列表(八) nba2k23球员列表(七) nba2k23球员列表(六) nba2k23球员列表(五) nba2k23球员列表(四) nba2k23球员列表(三) nba2k23球员列表(二) nba2k23球员列表(一) nba2k22球员列表(四) nba2k22球员列表(三) nba2k22球员列表(二) nba2k22球员列表(一) NBA2K21球员大全 NBA2K20球员列表(五) NBA2K20球员列表(四) NBA2K20球员列表(三) NBA2K20球员列表(二) NBA2K20球员列表 wsl docker 突然 -v /sys/fs/cgroup:/sys/fs/cgroup:ro 无法挂载怎么办? 抽象类和接口 Magento 2 中扩展属性(extension_attributes.xml)的用途是什么? win10底部菜单栏卡死解决 docker容器映射所有端口到宿主机 【frp】RDP软件远程Listener state: Not listening [not supported] 升级到magento2.4.3,后台加载很慢解决方法 微信支付https://api.mch.weixin.qq.com/pay/unifiedorder返回null magento grid增加编辑按钮 PHP循环引用 Broken reference: the 'sales_order_tbs ' elemert canmot be atded as child to ‘left , bvcause the lat ubuntu安装swoole后报错:undefined symbol:XXXX swoole pcre.h: No such file or directory magento2 The account sign-in was incorrect or your account is disabled temporarily. Please wait and 批量修改表前缀 magento2.3.7升级2.4.3 elasticsearch可视化工具 pwaStudio-Magento2.4.3 mysql忘记密码创建新用户设置 Docker容器下 mysql source 导入数据库 如何在 Docker 上安装 Magento 2 mysql:基于扫码记录查找密接人员 varnish:pc mobile分开缓存 The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extensi Ubuntu切换指定PHP版本 magento-varnish安装自述 Ubuntu彻底卸载varnish Varnish - Error 503 Backend fetch failed Scandipwa magento2安装教程(在已存在的magento安装) Navicat15最新版本破解 (Navicat Premium 注册出现 No All Pattern Found! File Already Patched) mac本地运行MySQL;Navicat Authentication plugin ‘caching_sha2_password‘ cannot be loaded: dlope问题 mac本地运行PHP项目问题记录 通过 Binlog 日志来恢复 MySQL 数据 composer file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: php Laravel统计所有API响应时长等信息 php计算累加的累加 composer PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 Go使用变量类型声明和方法的注意事项 方法 函数值 映射 切片的长度与容量 go基本类型(包、变量、函数、流程控制语句) 如何保证接口的幂等性 nginx 全部域名解析统一设置 mysql之存储过程(while循环、repeat循环、leave语句、loop循环、iterate语句) Laravel 契约和门面简单解读(Cache) Linux-centos安装node,node -v undefind Nginx 的反向代理、负载均衡、动静分离和高可用的原理 es6 set应用场景 vscode安装HTML Boilerplate解决不识别tpl后缀文件 laravel orm with如何指定select字段 laravel框架应用和composer扩展包开发 php实现斐波那契数列 内网穿透工具FRP搭建远程控制 微信小程序 动态添加view组件 唯物辩证法 nba2k游戏助手 更新日志 微信网页分享代码及提示签名错误解决方法 PHP支付宝支付兼容微信公众号 关于支付宝支付接口实际测试后的记录 网站后台权限管理 12306Bypass 分流软件 nba2kol2 12月份数据大更新,公众号球员更新名单进度贴 腾讯视频会员大放送 公众号新功能征集帖 我们知道CDN护航了双11十年,却不知道背后有那么多故事…… 企业微信第三方应用开发授权设置(PHP版) Linux下certpot 免费搭建https协议 CentOS7下Nginx强制http 301跳转到https的设置方法