小迪安全第二十六天

写好这些配置好相应的数据库内容

发现不足套用模板使用模板框架

复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <!-- 页面标题(动态变量) -->
    <title>{page_title}</title>
    <style>
        /* 全局样式 */
        body {
            font-family: Arial, sans-serif;  /* 设置默认字体 */
            margin: 0;  /* 清除默认外边距 */
            padding: 0;  /* 清除默认内边距 */
        }
        
        /* 页眉样式 */
        header {
            background-color: #4CAF50;  /* 绿色背景 */
            color: white;  /* 白色文字 */
            text-align: center;  /* 文字居中 */
            padding: 20px;  /* 内边距 */
        }
        
        /* 导航栏样式 */
        nav {
            background-color: #f2f2f2;  /* 浅灰色背景 */
            display: flex;  /* 弹性布局 */
            justify-content: space-between;  /* 两端对齐 */
            padding: 10px;  /* 内边距 */
        }
        
        /* 导航链接样式 */
        nav a {
            color: black;  /* 黑色文字 */
            text-decoration: none;  /* 去除下划线 */
            padding: 10px;  /* 内边距 */
            border-radius: 5px;  /* 圆角边框 */
            transition: background-color 0.3s ease;  /* 悬停动画效果 */
        }
        
        /* 导航链接悬停效果 */
        nav a:hover {
            background-color: #4CAF50;  /* 悬停时绿色背景 */
            color: white;  /* 悬停时白色文字 */
        }
        
        /* 内容容器样式 */
        .container {
            max-width: 1200px;  /* 最大宽度 */
            margin: 0 auto;  /* 水平居中 */
            padding: 20px;  /* 内边距 */
        }
        
        /* 一级标题样式 */
        h1 {
            font-size: 36px;  /* 字体大小 */
            font-weight: bold;  /* 加粗 */
            margin-bottom: 20px;  /* 下边距 */
        }
        
        /* 段落样式 */
        p {
            font-size: 18px;  /* 字体大小 */
            line-height: 1.5;  /* 行高 */
            margin-bottom: 20px;  /* 下边距 */
        }
        
        /* 无序列表样式 */
        ul {
            margin-left: 20px;  /* 左外边距 */
            margin-bottom: 20px;  /* 下边距 */
        }
        
        /* 列表项样式 */
        li {
            margin-bottom: 10px;  /* 下边距 */
        }
    </style>
</head>
<body>
<!-- 页眉区域 -->
<header>
    <h1>{heading}</h1>  <!-- 动态标题 -->
</header>
​
<!-- 导航菜单 -->
<nav>
    <a href="#">首页</a>
    <a href="#">新闻</a>
    <a href="#">留言</a>
    <a href="#">关于</a>
</nav>
​
<!-- 主要内容区域 -->
<div class="container">
    <h1>{subheading}</h1>  <!-- 动态副标题 -->
    <p>{content}</p>  <!-- 动态内容 -->
​
    <!-- 动态图片(注意:img标签是自闭合标签,不应有</img>) -->
    <img src="{$item}" width="1000" height="3000" alt="动态图片">
</div>
</body>
</html>
​
<?php 
// 输出PHP配置信息(常用于调试,生产环境应移除)
phpinfo();
?>

将对应的内容填入模板中可以有效的提高开发效率

每一个用对应的开发方法进行调用即可

呈现如下:

多个模板修改内容所有的都会修改内容

数据库可以插入后端代码语言导致数据泄露 可理解为sql注入

或者在前端插入一个执行代码由于没用调动,因为是后端代码没有执行 但是后端调用模板代码时会对应调用代码

比方说这里phpinfo语句

模板不显示因为时html代码

当用后端代码调用时(就是前面调用模板的代码) 就会出现版本信息等等

这就是执行代码漏洞导致形成后门

修改模板就会用执行漏洞

当然使用别人的模板安全性会高一些 就是别人的开发模板如:smarty(渲染代码用的)

使用第三方模板发现无法直接调用

说明有一定的安全性 但是无法保证绝对安全

总结

自己写的模板有一个 rce的安全问题 第三方没有直接的rce安全问题 但是也是有挖出过漏洞的 只是相对安全

如漏洞:sCVE-2017-1000480 smarty PHP code injection

使用下述内容

关键在于get传递值

使用x值来输入即可进入后门

就是主要表达了用了模板但是渲染的时候一样会出现漏洞这是不可避免的

本省代码逻辑漏洞

第三方插件漏洞(ueditor)

第三方模板漏洞(smarty)

第三方组件漏洞(java居多之前提到过的:shrio)

代码审计是指:插件有没有出现历史漏洞 ,使用的常用模板是否出现漏洞 组件漏洞有哪些历史漏洞没有更新这才是代码审计

java审计中要看组件有没有漏洞成功学到

比如上面练习中的漏洞就是eval函数造成的不用该函数就不会用问题

使用高版本以后就没有漏洞了

像这个漏洞就是 本身没有漏洞但是用到这个模板以后存在漏洞这也是很恶心的地方方便开发的同时也存在安全影响

下节内容逻辑越权 框架开发

黑盒角度来说判断插件脚本主要通过插件工具来识别模板 整理模板特点 (判断方法:端口扫描 数据包特征 识别插件工具)

白盒直接看代码判断是什么模板

代码搜关键字 就是差模板特征

模板就是代码呈现的美观性 框架就是核心代码逻辑 组件就是第三方实现功能的东西

插件做的很单一越难出现漏洞 而越敏感越多就越容易出现漏洞这是必然的

相关推荐
mjr1 分钟前
基于Netty的WebSocket实时消息推送系统
网络·websocket·网络协议
世界尽头与你8 分钟前
CVE-2024-3366_ XXL-JOB 注入漏洞
安全·网络安全·渗透测试·xxl-job
jiayong2312 分钟前
Kubernetes 网络与服务发现面试题详解
网络·kubernetes·服务发现
少云清35 分钟前
【性能测试】3_Locust _locust实现混合业务实现
网络·性能测试·locust
venus6044 分钟前
网络运维之ping与telnet的区别
运维·服务器·网络
WinyQ01 小时前
【DeepStream】整合出现的问题
linux·运维·网络
周某人姓周1 小时前
sql报错注入常见7个函数
sql·安全·web安全·网络安全
小魏每天都学习1 小时前
【网络拓扑部署-网络设备-网络安全】
运维·网络
zd8451015001 小时前
CubeMX H743 lwip ETH初始化流程
网络·stm32·单片机
zzh_my1 小时前
tcp 服务端(用于测试)
服务器·网络·tcp/ip