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://blog.csdn.net/weixin_40228200

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

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

原文链接:https://blog.csdn.net/weixin_40228200/article/details/129291769

目录
相关文章
|
2月前
|
SQL 存储 测试技术
SQL在构建系统中的应用:关键步骤与技巧
在构建基于数据库的应用系统时,SQL(Structured Query Language)作为与数据库交互的核心语言,扮演着至关重要的角色
|
9天前
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
89 58
|
14天前
|
前端开发 PHP 数据安全/隐私保护
知识付费系统源码 PHP
在数字经济背景下,知识付费成为新兴领域,尤其在线教育平台的兴起,使更多教育者通过知识付费系统销售课程,实现数字化转型与收入提升。开发此类平台需考虑众多技术细节和业务需求,如使用PHP语言实现支付功能,确保安全性、性能和可扩展性,选择合适的技术方案至关重要。
40 4
知识付费系统源码 PHP
|
1天前
|
移动开发 小程序 前端开发
使用php开发圈子系统特点,如何获取圈子系统源码,社交圈子运营以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP 小程序 H5
开发一个圈子系统(也称为社交网络或社群系统)可以是一个复杂但非常有趣的项目。以下是一些关键特点和步骤,帮助你理解如何开发、获取源码以及运营一个圈子系统。
31 3
|
13天前
|
移动开发 小程序 PHP
校园圈子论坛系统采取的PHP语音和uni账号开发的小程序APP公众号H5是否只需要4800元?是的,就是只需要4800元
关于校园圈子论坛系统采用PHP语言和uni-app开发的小程序、APP、公众号和H5是否仅需4800元这个问题,实际上很难给出一个确定的答案。这个价格可能受到多种因素的影响
48 8
|
15天前
|
SQL 安全 PHP
PHP安全性实践:防范常见漏洞与攻击####
本文深入探讨了PHP编程中常见的安全漏洞及其防范措施,包括SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造等。通过实际案例分析,揭示了这些漏洞的危害性,并提供了具体的代码示例和最佳实践建议,帮助开发者提升PHP应用的安全性。 ####
40 6
|
1月前
|
关系型数据库 MySQL PHP
骗子曝光系统网站PHP源码
骗子曝光系统网站PHP源码 PHP 7.0+ Mysql 5.6+ 上传访问域名/install安装
41 2
|
1月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
58 4
|
1月前
|
SQL 安全 PHP
PHP安全性深度剖析:防范常见漏洞与最佳实践####
本文深入探讨了PHP编程中不可忽视的安全隐患,重点介绍了SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等四大常见安全威胁。通过详尽的案例分析与防御策略阐述,为开发者提供了一套实用的安全编码指南。文章强调,提升代码安全性是保障Web应用稳健运行的关键,鼓励开发者在日常开发中积极践行安全最佳实践。 ####
|
1月前
|
SQL PHP 数据库
20 PHP如何捕获sql错误
路老师带你深入学习PHP,掌握技术干货。本文介绍了PDO中捕获SQL错误的三种模式:默认模式、警告模式和异常模式,以及如何使用errorCode()和errorInfo()方法进行错误处理。
52 5