ctf做题学习:Ecshop 2.x 3.x SQL注入任意命令执行复现
题目复现地址: http://www.whalwl.cn:8030/index.php 影响版本: Ecshop 2.x Ecshop 3.x-3.6.0 漏洞分析: 该漏洞影响ECShop 2.x和3.x版本,是一个典型的“二次漏洞”,通过user.php文件中display()函数的模板变量可控,从而造成SQL注入漏洞,而后又通过SQL注入漏洞将恶意代码注入到危险函数eval中,从而实现了任意代码执行。 值得一提的是攻击者利用的payload只适用于ECShop 2.x版本导致有部分安全分析者认为该漏洞不影响ECShop 3.x,这个是因为在3.x的版本里有引入防注入攻击的安全代码,通过我们分析发现该防御代码完全可以绕过实现对ECShop 3.x的攻击(详见下文分析)。 注:以下代码分析基于ECShop 2.7.3 SQL注入漏洞分析: 首先我们看一下漏洞的起源点 user.php ,在用户login这里有一段代码: /* 用户登录界面 */ elseif ($action == ' login ' ) { if (empty($back_act)) { if (empty($back_act) && isset($GLOBALS[ ' _SERVER '][ ' HTTP_REFERER ' ])) { $back_act = strpos($GLOBALS['_SERVER