前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >该洞只存在于老版本固件中!!!!!

该洞只存在于老版本固件中!!!!!

作者头像
C3ting
发布2024-04-21 09:36:47
670
发布2024-04-21 09:36:47
举报
文章被收录于专栏:C3tingC3ting

lua代码审计记录

某3C G3系列 REC 路由器

在网上翻着翻着 翻到lua的源码 那就审审看 意外发现一个老版本固件中存在的洞

该洞只存在于老版本固件中!!!!!

1、利用条件 登录

该漏洞存在与后台的 tracert中 访问该路由需要登录 在登录时 有的用户会把 密码放到提示中 利用该条件可以正常登录后台

同时 在验证码方面 在访问验证码的url后会直接返回 密码提示、验证码结果

2、rec

后台地址:系统工具-网络诊断-Tracert

其他版本

url:/cgi-bin/luci/admin/systemTools/networkDiag/tracert/gettracert

直接修改hostName即可

3、代码分析:

文件路径:\usr\lib\lua\luci\controller\admin\tracert.lua

关键方法:get_tracert()

关键片段:

代码语言:javascript
复制
local sourceIp = luci.http.formvalue("IP")

.........

if (sinterface ~= "AUTO") and (sourceIp ~= "AUTO") then
   cmd = "traceroute -I -w 1 -i "..sDevice.." -s "..sourceIp.." -m 30 "..sHostName
elseif(sinterface == "AUTO") and (sourceIp ~= "AUTO") then
   cmd = "traceroute -I -w 1 -s "..sourceIp.." -m 30 "..sHostName
elseif(sourceIp == "AUTO") and (sinterface ~= "AUTO") then
   cmd = "traceroute -I -w 1 -i "..sDevice.." -m 30 "..sHostName
else
   cmd = "traceroute -I -w 1 -m 30 "..sHostName
end
--[[创建tracert进程]]--
if (match == 0) and (sstartFlag == 1) then
   sys.call("echo "..str.." > /tmp/tracertrecord")
   sys.call("lua /usr/libexec/adapter/pingtracertfunc.lua "..cmd.." &")
   sys.call("sleep 1")
end

由此可得 在后端接受数据后 直接拼接shell指令导致的

在最新版固件中 加了check_Host函数用于检测输入的正确性

代码语言:javascript
复制
function check_Host(HostName)
    local checkresult = 1  --[[1:表示合法 0:表示不合法]]--
    local cut_tab = {}
    local i = 0
    if HostName == nil then
        checkresult = 0
        return checkresult
    end
    if string.find(HostName, "^[%w%-%.]+$") == nil then
        checkresult = 0
        return checkresult
    end
    while true do
        i = string.find(HostName,"-",i+1)
        if i == nil then
            break
        end
        cut_tab[#cut_tab+1] = i
    end
    if cut_tab[1] == 1 then
        checkresult = 0
        return checkresult
    end
    return checkresult
end
4、修复建议

升级最新版固件

不要暴露在公网

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • lua代码审计记录
    • 该洞只存在于老版本固件中!!!!!
    相关产品与服务
    验证码
    腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档