以为挖了个大的,其实拉了个大的

admin 2025年6月19日21:05:35评论0 views字数 791阅读2分38秒阅读模式
最近很久没发东西了,先知社区不知道啥情况,投稿16天了还没审核
最近在挖坟,挖坟的过程中想先看看CNVD平台漏洞情报,别重复了,然后就看到了一个近期的RCE漏洞
以为挖了个大的,其实拉了个大的
巧的就是,这个固件我把所有的可能命令执行的地方都打了一遍,这个接口我记得是执行失败的,让我们看下代码
以为挖了个大的,其实拉了个大的
我们看下formSetIptv函数
以为挖了个大的,其实拉了个大的
s1 = (char *)sub_2B884(a1, "stbEn""0");s1_1 = (char *)sub_2B884(a1, "list", &unk_F2AD4);s1_2 = (char *)sub_2B884(a1, "vlanId", &unk_F2AD4);s1_3 = (char *)sub_2B884(a1, "iptvType", &unk_F2AD4);
可以看见,这个函数其实通过web传入了4个参数,标注这块的目的是为了后面的一个判断
if ( atoi(s1) == 1 )    sub_AFE74(s1_1, s1_2, s1_3);  else    sub_B0060(s1_1, s1_2, s1_3);
实际上,不管stbEn传入的是1还是0, sub_AFE74函数和sub_B0060函数都可以命令注入,并且sub_AFE74参数可选的参数为listvlanIdsub_B0060函数可选的为listvlanId
也就是说,要不就构造stbEn=1 然后进入到sub_AFE74(s1_1, s1_2, s1_3);函数,就可以很轻松的去进行RCE
以为挖了个大的,其实拉了个大的
以为挖了个大的,其实拉了个大的
看似存在命令注入,但是实际上在玩耍的时候,是执行不了的,因为程序会先reboot然后触发段错误,先看下我的poc
以为挖了个大的,其实拉了个大的
大家可以看到,我实际上是没写后边的参数的,执行发现直接reboot了
以为挖了个大的,其实拉了个大的
我加入参数
以为挖了个大的,其实拉了个大的
以为挖了个大的,其实拉了个大的
当然了,为了和漏洞提交者保持一致
以为挖了个大的,其实拉了个大的
以为挖了个大的,其实拉了个大的
艾嗨,假的洞,看来老外也糊弄啊
没想到吧,哈哈哈哈哈

原文始发于微信公众号(我不懂安全):以为挖了个大的,其实拉了个大的

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月19日21:05:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   以为挖了个大的,其实拉了个大的http://cn-sec.com/archives/4181010.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息