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

傻瓜动态建站 工具做照片书的网站

傻瓜动态建站 工具,做照片书的网站,360全景预览wordpress插件,wordpress怎么破解版目录 第14关 链接注入 1.打开靶场 2.源码分析 3.渗透实战 (1)方法1:跳转外部网页 (2)方法2:获取cookie 4.漏洞防御 本文通过《webug靶场第14关 链接注入》来进行渗透实战。 第14关 链接注入 链接注…

目录

第14关 链接注入

1.打开靶场

2.源码分析

3.渗透实战

(1)方法1:跳转外部网页

(2)方法2:获取cookie

4.漏洞防御


本文通过《webug靶场第14关 链接注入》来进行渗透实战。

第14关 链接注入

链接注入是修改站点内容的行为,其方式为将外部站点的 URL 嵌入其中,或将有易受攻击的站点中的脚本 的 URL 嵌入其中。将 URL 嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。链接注入漏洞常被低估,但可能成为攻击链的关键环节。

XSS漏洞与链接注入漏洞的主要区别如下所示。

特性XSS注入漏洞链接注入漏洞
本质注入恶意脚本代码注入恶意URL或链接
执行方式浏览器直接执行脚本需要用户交互(点击/跳转)
攻击目标当前页面/用户会话可能导向外部恶意站点
漏洞利用复杂度中高(需绕过过滤)低至中(依赖用户行为)

链接注入漏洞的类型与特征如下表所示。

类型描述典型场景
反射型链接注入恶意链接通过URL参数临时嵌入页面搜索结果、跳转链接
存储型链接注入恶意链接被持久化存储在系统中用户评论、个人资料页
DOM型链接注入前端JavaScript动态生成恶意链接SPA应用、AJAX加载内容

1.打开靶场

进入靶场的第14关,链接注入关卡,网址如下所示。

http://192.168.71.129:8006/control/xss/link_xss.php?id=1

2.源码分析

对源代码进行代码审计,如下所示。

if (!isset($_SESSION['user'])) {header("Location:../login.php");
}
setcookie("flag", "", time() - 1);
if (isset($_GET["id"])) {if (!empty($_GET["id"])) {$id = strtolower($_GET['id']);$filter = array('on', 'script');if (strstr($id, $filter)) {header("Content-type:text/html;charset=utf-8");echo "<script>alert('请不要包含恶意函数')</script>";exit();}}
}
require_once TPMELATE."/xss_1.html";

对代码进行完整注释,如下所示。

// 检查会话中是否存在 'user' 变量
// 如果不存在,说明用户未登录
if (!isset($_SESSION['user'])) {// 将用户重定向到登录页面header("Location:../login.php");
}// 删除名为 'flag' 的 cookie
// 通过将过期时间设置为过去的时间来实现
setcookie("flag", "", time() - 1);// 检查是否通过 GET 请求传递了 'id' 参数
if (isset($_GET["id"])) {// 检查 'id' 参数是否不为空if (!empty($_GET["id"])) {// 将 'id' 参数的值转换为小写$id = strtolower($_GET['id']);// 定义一个包含敏感关键词的数组$filter = array('on', 'script');// 检查 'id' 参数中是否包含敏感关键词if (strstr($id, $filter)) {// 设置响应的内容类型为 HTML,字符编码为 UTF-8header("Content-type:text/html;charset=utf-8");// 弹出警告框提示用户不要包含恶意函数echo "<script>alert('请不要包含恶意函数')</script>";// 终止脚本执行exit();}}
}

        这段 PHP 代码主要实现了两个功能。首先,它会检查用户是否已登录,如果会话中不存在 user 变量,就会将用户重定向到登录页面。接着,它会删除名为 flag 的 cookie。之后,代码会检查是否通过 GET 请求传递了 id 参数,如果传递了且不为空,会将其转换为小写,并检查其中是否包含 on 或 script 这些敏感关键词。若包含,则会弹出警告框提示用户不要包含恶意函数,并终止脚本执行。

        代码存在XSS注入漏洞,原因在于其过滤机制不够完善。代码仅简单地检查了 id 参数中是否包含 on 和 script 这两个关键词,但攻击者可以采用多种方式绕过这种简单的过滤。例如,攻击者可以使用变形的关键词、大小写混合、编码转换等方式,或者使用其他未被过滤的恶意关键词和语句来实现注入攻击。此外,代码没有对 id 参数进行全面的输入验证和安全处理,使得攻击者有机会注入恶意代码。

3.渗透实战

(1)方法1:跳转外部网页

构造注入语句

<a href="https://www.baidu.com">baidu</a>

当传入的链接注入语句 id=<a href="https://www.baidu.com">baidu</a> 时,该语句中不包含 on 和 script 这两个关键词,所以无法被过滤机制拦截。

点击baidu链接,如下所示跳转到百度网址,渗透成功

当然这里我使用的是百度的链接,如果是恶意链接地址会导致更严重的影响。 

(2)方法2:获取cookie

注入语句如下所示。

<a href="javascript:alert(document.cookie)">点击领奖</a>

点击下图中的“点击领奖”,弹出cookie的窗框,漏洞渗透成功。 

4.漏洞防御

对于链接注入漏洞,防御方法如下表所示。

防御层面具体方法简要说明
输入验证白名单验证确定合法链接规则,仅放行白名单内链接
正则表达式验证用正则验证链接格式,确保合法
输出编码HTML 实体编码输出到 HTML 时对特殊字符编码,防解析为恶意代码
URL 编码作 URL 参数传递时对链接编码
http://www.dtcms.com/a/565545.html

相关文章:

  • 【开题答辩过程】以《基于Spring Boot的相机租赁系统》为例,不会开题答辩的可以进来看看
  • 酷站网优设网页
  • 课后作业-2025-11-02
  • 一些sparksql的面试题
  • 数据结构(17)
  • 企业级 SaaS 服务 AI 优化全解析:从线索获取到续约的 7 个核心策略
  • MAC-SQL论文 总结
  • 网站挂马怎么处理网站的域名证书
  • 网站关键词优化的方法icp备案网站接入信息ip地址段
  • 高站网站建设网站权重有时降
  • 【Unity】MMORPG游戏开发(八)状态同步与基础战斗模块(上)
  • 最好的大模型训练、微调教程.pdf
  • JAVA算法练习题day61
  • 【IC】NoC设计入门 -- 队头阻塞 (Head-of-Line Blocking)
  • 产品设计可视化解决方案
  • 数据结构(16)
  • 网站建站行业兰州网络推广新手
  • 怎样将自己做的网页加入网站南京品牌网站建设
  • 前端工具全景实战指南,从开发到调试的效率闭环
  • Nxt v1.13.1:标志性更新为12年历史的区块链项目写下新篇章
  • C++ 学习 —— 04 - STL容器
  • 什么是端口管理?网络安全的关键环节
  • 竞品网站分析温州企业网站制作
  • Apache Paimon 写入流程
  • 如何设计一个秒杀系统(下)
  • 投资网站策划晋江市建设局网站
  • 博客阅读:chatgpt 2025 GPT-5 Jailbreak with Echo Chamber and Storytelling
  • 经典模板网站建设wordpress函数讲解
  • HTTP协议与WebSocket完整技术指南
  • 时序数据库核心技术解析-以InfluxDB/TSDB为例