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

2021-02-25 18:41:59 +08:00
 Visitor233

第一个 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,这点内容用上得写个一小时)

2500 次点击
所在节点    程序员
15 条回复
Visitor233
2021-02-25 18:52:23 +08:00
感觉这玩意资源好少,百度,bing,google 都没什么最新内容,QQ 群也找不到
PMR
2021-02-25 18:52:40 +08:00
1 误报

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

@scukmh 是改 shell 命令注入的那个吗?去 Linux 系统下试试
@jzmws 还去安全社区搜了一遍,没得资料,第一次接触这玩意,挑战性有点小高
lupus721
2021-02-26 13:06:25 +08:00
"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
2021-02-26 14:11:19 +08:00
@lupus721 这是个 ping 命令,真执行了,如果换成一个下载命令,或者什么 shell 提权之类的,服务器是不是就沦陷了?
Visitor233
2021-02-26 14:23:50 +08:00
@lupus721 非常感谢,您的提供的这篇文章非常有用
Slin
2021-02-26 17:02:40 +08:00
注入了参数 如果你返回结果 和没有注入 之前结果是一致的 扫描软件会认为有漏洞
还有你返回信息不要带堆栈信息 你代码行号都出来了
lupus721
2021-02-26 17:06:44 +08:00
是的,如果是我的话会反弹回来一个 shell,如果有权限维持要求还会加计划任务。如果你是 root 权限跑的程序,对方就不需要提权,直接最高了,还可以偷偷 shadow 或者放个定制版的 ssh 抓管理员现有密码的,能执行命令玩法就太多了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/756289

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX