第二十次作业

news/2025/1/14 18:52:36/文章来源:https://www.cnblogs.com/jiajiawei/p/18670396

1、对bluecms进行代码审计,分析复现文件上传、ssti模板注入、文件删除等漏洞
文件上传:

ssti模板注入:
bluecms采⽤了smarty模板引擎

可以在模板中插⼊恶意的代码,从⽽执⾏任意命令。此处可知smarty使⽤的界定符为{#和#},参考smarty官⽅⽂档可知,可以使⽤{#php#}code{#/php#}标签执⾏php代码。

文件删除:
分析user.php⽂件时,发现该接⼝存在权限校验,因此必须具备普通⽤户权限

发现存在如下代码,很容易可以分析出,此处存在⽂件删除漏洞。

2、复习ThinkPHP框架基础知识,重点掌握url传参方式以及获取用户参数的写法
url传参:
ThinkPHP 5.0 在没有启⽤路由的情况下典型的URL访问规则是:http://serverName/index.php(或者其它应⽤⼊⼝⽂件)/模块/控制器/操作/[参数名/参数值...]。这种⽅式也称为PATH_INFO⽅式,例如:http://serverName/index.php/index/index/hello/val/value
如果环境只能⽀持普通⽅式的URL参数访问,那么必须使⽤兼容模式访问,如下:http://serverName/index.php(或者其它应⽤⼊⼝⽂件)?s=/模块/控制器/操作/[参数名/参数值...]
获取用户参数:
input() 方法,最常用的获取参数的方法,支持自动过滤和默认值设置。

助手函数 request(),可以用来获取当前请求对象,进而调用其提供的各种方法来获取参数。

参数验证,为了确保接收到的数据符合预期,应该使用ThinkPHP内置的验证器来进行参数验证。

3、复习ThinkPHP框架漏洞,重点掌握框架代码执行漏洞及工具使用,了解sql注入漏洞及常见不安全写法
代码执行漏洞:
漏洞原理:代码执行漏洞允许攻击者通过特定的输入或参数,在服务器上执行任意PHP代码。这通常发生在当用户输入被直接或间接地用于构建并执行PHP代码时,例如使用eval()、assert()等函数。
常见不安全写法:
使用 eval() 或类似的函数:如果传入的数据包含用户输入,则可能导致代码执行。
动态调用控制器方法:如果方法名来源于用户输入且未经过严格验证,可能会被执行恶意代码。
反序列化不可信数据:如果应用对来自用户的序列化数据进行反序列化操作,可能触发对象内的魔术方法,从而执行任意代码。
SQL注入漏洞原理:
SQL注入漏洞发生在当用户输入没有被正确验证或转义,并直接嵌入到SQL查询中时,使得攻击者能够操纵SQL语句逻辑。
不安全写法:直接拼接用户输入到SQL语句中$sql = "SELECT * FROM users WHERE username = '" . $_GET['username'] . "' AND password = '" . $_GET['password'] . "'";

4、搭建部署脱单交友平台并审计复现任意文件写入漏洞。
环境搭建:
1.上传源码到⽹站根⽬录并解压
2.创建数据库you并导⼊数据库⽂件到数据库

3.修改数据库链接⽂件:config\database.php

⽂件上传漏洞:
下⾯代码通过input函数接收data参数,类型是数组,然后调⽤base64image函数进⾏处理。

在base64image函数中,直接将上传内容进⾏base64解码后并保存,没有过滤⽂件后缀。

5、预习phar反序列化漏洞及编号申请
反序列化漏洞原理:
当PHP应用对来自用户的PHAR文件进行反序列化操作时,如果这些文件被恶意构造,则可能触发对象内的魔术方法(如__wakeup()或__destruct()),从而导致任意代码执行。这是因为PHAR文件中的元数据可以包含序列化的PHP对象,而反序列化过程中会尝试实例化这些对象。
CVE编号申请流程:
1.确认漏洞:首先确认发现的是一个新的、未公开的安全漏洞。
2.准备详细信息:准备好漏洞的详细描述,包括影响范围、复现步骤、修复建议等。
3.联系厂商:通常应该先私下通知相关软件的开发商或维护者,以便他们有机会发布补丁。
4.申请CVE编号:
如果漏洞的发现者并且希望获得一个CVE编号,可以通过访问CVE Numbering Authorities (CNAs)列表来找到合适的CNA。
一些大型公司和技术社区如Google、Mozilla、Apache基金会等都是CNAs,可以直接向它们申请。
对于个人研究者来说,也可以通过MITRE Corporation直接申请CVE编号,但需要提供足够的信息证明这是一个新的漏洞。
5.提交报告:根据所选CNA的要求填写表格并提交漏洞报告。
6.等待审批:CNA会对申请进行审核,并决定是否分配CVE编号。
7.公开披露:一旦漏洞被修复并且CVE编号已经分配,可以选择公开披露相关信息,帮助其他用户了解并保护自己免受该漏洞的影响。

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

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

相关文章

【JAVA开发】企业Java开发:七款提升开发者工作效率的Java分析工具

一、引言 编写正确的代码至关重要,但同样重要的是理解代码在实际环境中的表现。Java 分析工具在这方面提供了极大的便利,它们可以帮助您深入了解程序的内部运作。虽然进行性能分析可能需要额外的时间投入,但它最终能够为您节省大量调试时间。 Java 分析器提供了关于 CPU 使用…

JS-32 数组方法_shift()/unshift()

shift方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组 var arr=[字符串,zifuchuan,前端]; arr.shift()//字符串 arr//[zifuchuan,前端] shift方法可以遍历并清空一个数组 var list=[1,2,3,4,5,6]; var item;while(item=list.shift()){ console.log(ite…

【勒索病☠】盘点全球主流Linux平台的勒索病毒

前言 美国网络信息安全公司CrowdStrike在2021年的攻击数据报告中,总结与2020年度相比,2021年度针对Linux系统的恶意软件增加了35%,其实最近几年针对Linux平台下的恶意软件数据一直在不断的增加,这些恶意软件主要包含僵尸网络、挖矿病毒、勒索病毒、远控木马等,随着云计算平…

再谈Redux

2025年再聊前端状态管理似乎是一件不必要的事,毕竟相关文章已堆积得如山如海。但在这些文章或视频内容中,我并没有找到自己喜欢的方案,准确的说是使用方式。所以这篇文章不做技术分析,主要聊聊个人对状态管理的理解,并分享独特的redux使用的方式。 状态管理 先分享一个有趣…

中考英语优秀范文-热点话题-传统文化-005 Our Schools Food Festival 我们学校的美食节

1 写作要求 中国饮食文化博大精深。假如你是李明,上周你校开展了以“品中华美食,传承中华文化”为主题的校园美食节活动。请你根据以下图示提示,用英语给你的英国笔友Mike写一封电子邮件,分享本次活动的过程和感受。 要求: 1 电子邮件的内容必须包括图示中的所有要点,可适…

嵌入Embedding-计算理解语言的钥匙

定义: 将人类语言与数字建立联系的强大方法 嵌入技术的演变: Wod2VecCBOW(Continuous Bag of Words):根据上下文词汇预测目标词汇(情感分析、文本分类、词相似性) Skip-Gram:根据目标单词预测周围单词 在训练Word2Vec模型时,包含词典和词向量模型的训练 词典的构建是训…

ExcelConvert【Excel转换为XML JSON HTML CSV TXT】

ExcelConverter是用VB6开发的应用软件。 界面如下 第一部分:转换为XML 首先在Excel选择一部分数据。 软件里面勾选“首列作为元素名称”,单击“转换” 勾选与不勾选,得到如下XML数据,注意对比。<root><金龙宇 性别="男" 年龄="29" 民族=&qu…

Kyutai开源端侧模型Helium -1 preview;FoloToy内测「超级智能体」,支持联网查询和语音调整音量语速

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

多模态大模型InterVL2.5使用记录

本文记录在本地安装和测试InterVL2.5(26B版本) 论文:https://arxiv.org/abs/2412.05271 Huggingface模型权重下载页:https://huggingface.co/collections/OpenGVLab/internvl25-673e1019b66e2218f68d7c1c Github: https://github.com/OpenGVLab/InternVL 本地硬件:RTX3090 1…

JR九州列车播放收听

JR Kyushu 是一款用VB.NET开发的软件。启动软件时大约需要等待10分钟。 以树形结构显示各个站台,鼠标点击每个节点,可以听到播放声音。 效果图如下

英语语法(修饰词)

形容词简介 冠词(例如 the、a 和 an 等词) 定冠词和不定冠词 副词简介 关系副词 形容词顺序例子: 逗号和形容词 例子: 比较级和最高级简介 形成比较级和最高级修饰语 例子: 强化词和程度副词 例子:

RunMacro2003

这是一款基于XML数据生成Excel / Word / PPT 2003 工具栏界面的COM加载项。 在Excel 2003的COM 加载项勾选“RunMacro2003”,就可以看到自定义工具栏。 示例XML内容如下:<CommandBars><CommandBar Name="Worksheet Menu Bar"><!--内置菜单栏-->&…