(附讲稿全文和PPT)百度讲师:以struts2 为例,教你打造一款互联网思维的安全防御 | 硬创公开课
首先让我们先对struts2进行下漏洞分析。 首先diff代码,发现删除了LocalizedTextUtil.findText(......);。由于这次poc也很快放出来了,时间原因我们取个巧,一会,边触发poc边单步调试。 以上我们只通过diff代码向上回溯LocalizedTextUtil.findText函数的调用关系,便找到了重要信息:该漏洞的触发是在content type中,而且包含multipart/form-data时。 但是跟进了下findText寻找触发命令执行的关键点,并没有发现什么有价值信息(分支条件很多,不知道走到哪了)。这时候,poc上场(如果没有poc,这个分析将会技术要求很高了)。 Poc如下: header["Content-Type"]="aaa_multipart/form-data %{#_memberAccess=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,@java.lang.Runtime@getRuntime().exec('calc')};" 单步调试,发现走到evaluator.evaluate(var),弹出计算器。 分析之后,漏洞成因已经很清晰了。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |