记一次某CMS的PHP代码审计简单SQL注入

admin 2024年8月18日01:35:08评论21 views字数 702阅读2分20秒阅读模式

漏洞发现

此系统通过全局过滤的方式对输入的 <>'" 、空格等特殊符号进行处理,不可使用双引号进行注入那就意味着字符型注入是不可行的,需要找数值型

此处通过check_auth2函数来判断当前系统是否购买了微信小程序功能,如果购买继续向下执行,将$_REQUEST["M_id"]赋值给变量$M_id然后继续向下执行switch语句。

记一次某CMS的PHP代码审计简单SQL注入

switch语句通过判断action的值来进行操作,此处action的值是通过REQUEST方式传递的。

记一次某CMS的PHP代码审计简单SQL注入

action的值通过GET方式赋值为editpwd时会将$M_id作为参数带入check函数执行。

记一次某CMS的PHP代码审计简单SQL注入

此处将$M_id的值直接带入sql语句,并没有进行过滤,从而导致sql注入漏洞的产生。

记一次某CMS的PHP代码审计简单SQL注入

尽管此系统已经通过对GET方式和POST方式输入的 <>'" 、空格等特殊符号进行全局的过滤处理,但是仍然可以用其他的特殊符号进行绕过,并通过sql注入中的延迟注入来获取数据库中的内容。

构造绕过后的sql入语句为

M_id=6%0Aand%0Aif((length(database()))!=1,sleep(5),0)

拼接到M_id的后面并使用工具burpsuite对数据包进行抓取重放

记一次某CMS的PHP代码审计简单SQL注入

因为特殊过滤的原因,自己写绕过后的脚本去跑库名

记一次某CMS的PHP代码审计简单SQL注入

记一次某CMS的PHP代码审计简单SQL注入

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。遵守网络安全法,请勿用于非法入侵,仅供学习

原文始发于微信公众号(深白网安):记一次某CMS的PHP代码审计简单SQL注入

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月18日01:35:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次某CMS的PHP代码审计简单SQL注入https://cn-sec.com/archives/3074275.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息