V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Visitor233
V2EX  ›  程序员

AppScan 扫描报告,请教大佬如何处理这个高危漏洞

  •  
  •   Visitor233 · 2021-02-25 18:41:59 +08:00 · 2842 次点击
    这是一个创建于 1401 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一个 Parameter Command Injection 。 测试请求直接往我参数里塞命令 { "currenPage": " ping+-c+1+ping.311_e885d7f4-ad03-4cef-8287- d62b4c076fee.securityip.appsechcl.com", "pageSize": 10, "issueState": 1 }

    当然我也检测拦截了,currenPage 是 int 类型,它传 string

    { "code": 4002, "message": " 参数格式不正确或缺少参数", "result": [ { "field": "$.currenPage", "message": "The JSON value could not be converted to System.Int32. Path: $.currenPage | LineNumber: 0 | BytePositionInLine: 96." } ] }

    可客户不这么想,人家只知道软件扫出高危,硬要你修复。

    还有一种 shell 命令注入

    { "flowState": " 0$(../../../../../../../../../../../../bin/sleep 11)", "title": "", "schoolName": "", "currenPage": 1, "pageSize": 10 }

    这真的能执行吗?(请原谅,小弟真不熟练 Makedown,这点内容用上得写个一小时)

    15 条回复    2021-02-26 17:06:44 +08:00
    Visitor233
        1
    Visitor233  
    OP
       2021-02-25 18:52:23 +08:00
    感觉这玩意资源好少,百度,bing,google 都没什么最新内容,QQ 群也找不到
    PMR
        2
    PMR  
       2021-02-25 18:52:40 +08:00 via Android
    1 误报

    2 重放请求 看页面的 waiting time 超过 11s 即是 RCE
    jzmws
        3
    jzmws  
       2021-02-25 19:09:25 +08:00
    1. AppScan 这种东西要自己琢磨一遍遍改
    2. 安全的这种东西很多都不会在网上公布的
    scukmh
        4
    scukmh  
       2021-02-25 19:12:17 +08:00
    改成 touch /tmp/test,看看有没有文件就知道了。
    whale4u
        5
    whale4u  
       2021-02-25 23:49:54 +08:00
    贴下请求和响应包。
    KyonLi
        6
    KyonLi  
       2021-02-26 08:00:57 +08:00 via iPhone
    是不是返回 200 就判断成攻击成功了,改成返回 400 试试呢
    lupus721
        7
    lupus721  
       2021-02-26 10:07:11 +08:00
    看见危险的东西直接返回 403,或者前面加个 waf,当然这个都是治标不治本的方法。
    肯定还得从程序内部找办法。最重要的是,请求的命令为啥会被执行呢,两个应该都是 RCE,一定是被定义为高危,作为扫描软件可能测试的 ping 或者 touch 之类的,如果是攻击者,一个命令,你服务器就被控制了,这类漏洞一定是高危的必须得修。。
    Visitor233
        8
    Visitor233  
    OP
       2021-02-26 12:05:43 +08:00
    @whale4u 没有验证手机号码不能回复图= =
    Visitor233
        9
    Visitor233  
    OP
       2021-02-26 12:08:28 +08:00
    @lupus721 确实得修,毕竟是面向公众的应用,不得不防
    Visitor233
        10
    Visitor233  
    OP
       2021-02-26 12:13:23 +08:00
    @KyonLi 有这个可能,毕竟只是软件扫描,有点像 2L 说的误报

    @scukmh 是改 shell 命令注入的那个吗?去 Linux 系统下试试
    @jzmws 还去安全社区搜了一遍,没得资料,第一次接触这玩意,挑战性有点小高
    lupus721
        11
    lupus721  
       2021-02-26 13:06:25 +08:00   ❤️ 1
    "ping+-c+1+ping.311_e885d7f4-ad03-4cef-8287- d62b4c076fee.securityip.appsechcl.com" 这是执行了一个命令,商业扫描器会配套一些公网的测试接口,应对命令执行或者 xss 漏洞,一些漏洞可能无法直接有返回,所以准备公网服务器做响应

    他会监听 securityip.appsechcl.com 这个域名,一旦有人请求他的 dns 或者 ping 的报文,他就会根据请求的 variant_id 和 scan_guid 来定位到底是哪个任务的什么漏洞被执行了,认定这个漏洞是存在的,因为看不到完整的报告,所以不好说打到底是不是误报。

    vX–ping-<variant_id>-<scan_GUID>.securityip.appscan.com

    https://blog.hcltechsw.com/appscan/hey-dns-with-hcl-appscan-domain-name-server/
    Visitor233
        12
    Visitor233  
    OP
       2021-02-26 14:11:19 +08:00
    @lupus721 这是个 ping 命令,真执行了,如果换成一个下载命令,或者什么 shell 提权之类的,服务器是不是就沦陷了?
    Visitor233
        13
    Visitor233  
    OP
       2021-02-26 14:23:50 +08:00
    @lupus721 非常感谢,您的提供的这篇文章非常有用
    Slin
        14
    Slin  
       2021-02-26 17:02:40 +08:00
    注入了参数 如果你返回结果 和没有注入 之前结果是一致的 扫描软件会认为有漏洞
    还有你返回信息不要带堆栈信息 你代码行号都出来了
    lupus721
        15
    lupus721  
       2021-02-26 17:06:44 +08:00
    是的,如果是我的话会反弹回来一个 shell,如果有权限维持要求还会加计划任务。如果你是 root 权限跑的程序,对方就不需要提权,直接最高了,还可以偷偷 shadow 或者放个定制版的 ssh 抓管理员现有密码的,能执行命令玩法就太多了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2791 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:36 · PVG 10:36 · LAX 18:36 · JFK 21:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.