Ecshop2.x代码执行漏洞动态调试分析
作者:媒体转发 时间:2018-09-11 21:03
号称国内最大的开源网店系统,可以直接远程写入webshell。
本文会通过动态分析来解析漏洞每个细节,关于漏洞原理可以看漏洞原理,讲的很详细,本文重点介绍动态分析审计的技巧和如何调试漏洞,关于漏洞本身也是一个很值得学习的漏洞,能构造出这个攻击链是需要对每个细节都有深刻的认识才能实现的。
二、动态调试环境搭建自行下载安装phpstudy和phpstorm
首先确定php版本
然后修改配置文件


修改php.ini中如下
[XDebug]
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir ="C:\phpStudy\tmp\xdebug"
xdebug.trace_output_dir ="C:\phpStudy\tmp\xdebug"
xdebug.profiler_output_name = "cache.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
zend_extension="C:\phpStudy\php53\ext\xdebug.dll"
xdebug.remote_port=9000
xdebug.idekey= PHPSTROM
设置php版本,一定要对应上


下面图片是默认的不用动


下面的修改key和端口如下








这里就留一个Chrome浏览器


Chrome浏览器要安装插件JetBrains IDE Support 下载安装好了不用修改配置,这样就基本可以了。
三、漏洞动态调试分析下面进行动态分析,动态分析的好处就是漏洞分析起来更加清晰。


下断点这里我们断到了漏洞起始点方便分析每一个细节,然后点击debug,
然后浏览器会打开


然后点击登录,会触发断点,可以看到停到了断点处


下面介绍使用的一些快捷键:
f7会跟进函数 ,
f8 步出也就是一行一行走,不进入函数,有些循环或者不想看的函数直接f8,
进入函数后想跳出去就用shift+f8
Ctrl+art加 点击想要看的函数就会进入
Alt +f7 会搜索谁调用了这个函数或者变量
笔者常用的就这些,掌握这些技能后就可以调试
这里HTTP_REFFER可控到赋值到$back_act




