免责声明
月落星沉研究室的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他违法行为!!!
代码审计漏洞复现——dedecms后台sql注入
通过dedecms的高版本发布的补丁发现前一个版本存在漏洞
dede/article_coonepage_rule.php
代码分析工具对比,找出补丁位置
漏洞分析
通过该模块代码可以看到它包含了/config.php
/config.php包含了/../include/common.inc.php,通过GET、POST、COOKIE传递的参数,并将参数带入到CheckRequest() 、 _RunMagicQuotes() 函数中进行检测。
CheckRequest函数作用
RunMagicQuotes函数作用,这段代码意思是:
首先使用 get_magic_quotes_gpc()检测php.ini中magic_quotes_gpc 是否开启,(当 magic_quotes_gpc 打开时,所有的 ‘ (单引号), ” (双引号), (反斜线)and 空字符会自动转为含有反斜线的溢出字符。)
如不开启则在82行处,使用addslashes() 函数对 ‘(单引号), ” (双引号), (反斜线)进行转义。
直接看漏洞代码
$action
=del,如果不是多个=是1个,走
if
;是多个,走
else
上面是有过滤的,‘(单引号), ” (双引号), (反斜线)会被转义
走
else
的话,没有对)做过滤,因此可以对
else
里的做闭合,并使用
#注释掉后面的 ) ,从而执行sleep()
实际复现
找路由 dede/article_coonepage_rule.php
del操作,注意上述我们分析要删除多个,抓包
构造payload:10,9,8)%20and%20sleep(10)%23,成功注入
原文始发于微信公众号(月落安全):热乎!代码审计漏洞复现——dedecms后台sql注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论